如果有(例如)10个事务日志备份,并且有一些可能已经还原到数据库。 有没有办法确定哪些文件已经被恢复?
谢谢
戴夫
您需要匹配运行RESTORE HEADERONLY FROM DISK = N'E:\PathToBackup\test.trn' WITH NOUNLOAD
的第一个/最后一个RESTORE HEADERONLY FROM DISK = N'E:\PathToBackup\test.trn' WITH NOUNLOAD
使用来自dbcc log (mydb)
的LSN信息
但是,来自dbcc命令的LSN需要转换为可用。 例如,如果从dbcc log命令中看到类似00000014:00000157:0003
的LSN,则需要执行以下操作:
select left(convert(int, 0x00000014) * 1000000, 6) + right(convert(int, 0x00000157) + 1000000, 6) + right(convert(int, 0x0003) + 1000000, 5)
注意:关于如何正确地转换这个问题,有一点争议,上面的解决scheme有点破解。 最好的方法是在这个KB文章中的UDF。