|
其实数据库是否进行过完全备份, 是记录到数据文件里边的, 和msdb中的backupset之类没有直接的关系. 所以在当前实例上, 这个数据库没有做过全备份, 不代表这个数据库在其他实例上没有做过全备份. 做日志备份也是一样, 不管你在当前实例上有没有做过全备份, 只要历史上做过全备份就可以.
如果你用dbcc page 命令, 是可以看到数据页中一个叫 DIFF的项, 如下:
Allocation Status
GAM (1:2) = ALLOCATED SGAM (1:3) = NOT ALLOCATED PFS (1:1) = 0x44 ALLOCATED 100_PCT_FULL
DIFF (1:6) = CHANGED ML (1:7) = NOT MIN_LOGGED
这就是记录了 file 1 的 page 6 自上次full backup 后有过修改, 所以在下次differential back 时要备份这一页.
请参考:
http://www.sqlskills.com/blogs/paul/post/Inside-The-Storage-Engine-GAM-SGAM-PFS-and-other-allocation-maps.aspx
|
|