
图四
默认状态下,SQL Server是不会压缩备份的。我们可以通过以下两个途径对备份进行压缩:
1)改变SQL Server的默认设置,使其对所有备份执行压缩操作;
2)在备份语句中加入“With COMPRESSION“的关键词选项。
本文此前对MyDB数据库所执行的全备份、事务日志备份都是没有进行压缩。这是SQL Server的默认设置。
下面我们来对数据库进行一次压缩全备份,如下所示(结果详见图五):
Backup Database MyDB to disk ='d:\Backup\MyDB_Full2.bak' with COMPRESSION

图五
从图五中,你可以看到MyDB_Full2.bak文件比MyDB_Full.Bak和MyDB_Tlog_1.bak都要小得多。
接下来,在“MyDB”数据库中的“MyTable”表中再添加更多数据(本例中为1000行),如下所示:
| 以下是引用片段: USE [MyDB] GO declare @myid int set @myid=1 while @myid<=1000 begin insert into MyTable select @myid, 'A'+convert(varchar(10),@myid) set @myid =@myid +1 end |
紧接着进行一次事务日志备份,如下所示(结果详见图六):
Backup log MyDB to disk ='d:\Backup\MyDB_TLog_new.bak' with COMPRESSION

图六
在图六中,我们看到MyDB_Tlog_new.bak文件要比MyDB_Tlog_1.bak文件小得多。
下面我们来执行一次不带压缩的差异备份,并和带压缩的差异备份进行比较。
执行以下的指令(结果详见图七):