![Sql Server:确定需要恢复哪些事务日志](https://linux22.com/image/524236/Sql%20Server%EF%BC%9A%E7%A1%AE%E5%AE%9A%E9%9C%80%E8%A6%81%E6%81%A2%E5%A4%8D%E5%93%AA%E4%BA%9B%E4%BA%8B%E5%8A%A1%E6%97%A5%E5%BF%97.png)
如果您有(比如说)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)