SQL Server 数据库完整备份不只是备份数据还有日志


以前认为SQL Server完整备份只是备份数据库的数据而不包含日志,其实这是错误的。使用RESTOREHEADERONLY可以帮我们验证(msdb.dbo.backupset也包含相应的信息)。

RESTORE HEADERONLY回包含特定备份设备上所有备份集的所有备份标头信息的结果集。查询结果包含三列:

FirstLSN

numeric(25,0)

备份集中第一个日志记录的日志序列号

NULL

LastLSN

numeric(25,0)

备份集之后的下一条日志记录的日志序列号

NULL

CheckpointLSN

numeric(25,0)

创建备份时最后一个检查点的日志序号

NULL

数据库在CHECKPOINT之后开始读数据,读数据过程中可能有些PAGE数据已经被更改,但是SQL SERVER不会重新读一次,这样就需要包含这些更改PAGE的LSN,从而在还原的时候将日志操作重新应用到数据库(REDO/UNDO)。

RESTOREHEADERONLY (Transact-SQL): http://technet.microsoft.com/zh-cn/library/ms178536(v=sql.90).aspx

相关内容