bulksql
① sql三种恢复模式有什么区别
一、定义不同
Simple简单恢复模式,Simple模式的旧称叫”Checkpoint with truncate log“。Full完整恢复模式,和Simple模式相反,Full模式的旧称叫”Checkpoint without truncate log“。Bulk-logged 大容量日志恢复。
二、功能不同
完整sql server恢复模式:
数据库引擎把所有操作都记录到事务日志上,并且数据库引擎绝对不会截断日志,完整恢复模式能使数据库恢复到故障时间点。
简单sql server恢复模式:
数据库引擎最低限度地记录大多数操作,并在每个检查点之后截断事务日志。它不能备份或还原事务日志,也不能还原单独的数据页。
大容量日志模式:
数据库引擎对大容量操作(select into和bulk insert)进行最小记录。如果一个日志备份包含任何大容量操作,就可以使数据库恢复到日志备份的结尾,但不能恢复到某个时间点,它仅用于大容量操作期间。
三、好处不同
在Simple模式下,SQL Server会在每次checkpoint或backup之后自动截断log,也就是丢弃所有的inactive log records,仅保留用于实例启动时自动发生的instance recovery所需的少量log,这样做的好处是log文件非常小,不需要DBA去维护。
Full模式SQL Server不主动截断log,只有备份log之后,才可以截断log,否则log文件会一直增大,直到撑爆硬盘,因此需要部署一个job定时备份log。Full的好处是可以做point-in-time恢复,最大限度的保证数据不丢失,一般用于critical的业务环境里。
Bulk-logged是针对以下Bulk操作,会产生尽量少的log:
1、Bulk load operations (bcp and BULK INSERT).
2、SELECT INTO.
3、Create/drop/rebuild index 通常bulk操作会产生大量的log,对SQL Server的性能有较大影响,bulk-logged模式的作用就在于降低这种性能影响,并防止log文件过分增长。