假设我有一个“MyDB”SQL Server 2005 数据库(简单恢复),我在星期天做一次完整备份,每隔一晚做一次差异
BACKUP DATABASE [MyDB] TO DISK = N'c:\Database Backups\MyDB\MyDB_Full.bak'
WITH NOFORMAT, INIT, NAME = N'MyDB.BAK', SKIP, NOREWIND, NOUNLOAD, STATS =
10
Run Code Online (Sandbox Code Playgroud)
和
BACKUP DATABASE [MyDB] TO DISK = N'c:\Database Backups\MyDB\MyDB_Diff.bak'
WITH NOINIT, DIFFERENTIAL, NAME= 'MyDB.BAK', STATS= 10
Run Code Online (Sandbox Code Playgroud)
差异备份过程使用什么来决定在差异夜备份哪些数据?它是否需要 mydb_full.bak 文件来开展业务?
如果我想节省磁盘空间,是否可以在创建 mydb_full.bak 文件后将其压缩为 .zip 文件而不会对差异备份产生不利影响,如果我需要恢复,只需在开始前解压缩完整备份?
对于我的 SQL Server 2005 备份计划,我想在周日做一个完整的:
BACKUP DATABASE myDatabase TO DISK = 'D:\Database Backups\myDatabase_full.bak' WITH FORMAT
GO
Run Code Online (Sandbox Code Playgroud)
然后我想在一周的其余时间每晚做一个微分:
BACKUP DATABASE myDatabase TO DISK = 'D:\Database Backups\myDatabase_Diff.bak' WITH DIFFERENTIAL
GO
Run Code Online (Sandbox Code Playgroud)
我的假设是,如果数据库中几乎没有活动/没有活动,那么差异的大小就不会增加(或不会增加太多)。
但是,当我运行上面的差异备份(很少或没有活动)时,我看到差异备份一次增加了兆。为什么会这样增加?
谢谢