Sql Server:确定需要恢复哪些事务日志

Sql Server:确定需要恢复哪些事务日志

如果您有(比如说)10 个事务日志备份,并且可能已将部分或全部恢复到数据库。有没有办法确定哪些文件已经恢复?
谢谢
Dave

答案1

您将需要匹配运行中的第一个/最后一个 lsnRESTORE HEADERONLY FROM DISK = N'E:\PathToBackup\test.trn' WITH NOUNLOAD

使用来自dbcc log (mydb)

但是,dbcc 命令中的 LSN 需要转换才能使用。例如,如果您有来自 dbcc log 命令的 LSN,则00000014:00000157:0003需要执行以下操作:

select
left(convert(int, 0x00000014) * 1000000, 6) +
right(convert(int, 0x00000157) + 1000000, 6) +
right(convert(int, 0x0003) + 1000000, 5)

注:存在一些争议在那里关于如何正确转换这一点,上面的解决方案有点儿像 hack。最好的方法是使用 UDF此知识库文章

相关内容