伙计们,
我正在运行我们生产数据库的副本作为 SQL Server Reporting Services 实例的后端。该副本正在从事务日志中更新,这些日志经常(每小时)使用RESTORE DATABASE WITH NORECOVERY
/用于备份目的WITH STANDBY
。我显然不能使用内置的事务日志传送设施,因为数据库已经被BACKUP LOG
ged 并且尝试使用日志传送会破坏两种机制的日志链。
但是我需要一些方法来监控我的副本是否是最新的,最好不要更改原始数据库的架构或数据。我的第一种方法是使用检索最近的日志备份的最后一个 LSNRESTORE HEADERONLY FROM DISK
并将其与我的副本实例的 LSN 进行比较。但是我很难找到一个能够匹配结果的 LSN RESTORE HEADERONLY
- 我在sys.database_files中看到的似乎完全不同。
我在哪里可以找到匹配的 LSN?
您应该能够使用
restorehistory
要还原到的服务器上的表来获取最近还原的 LSN。这是几年前在日志文件的讨论中发布的:http ://www.sqlbackuprestore.com/logsequencenumbers.htm
编辑:作为进一步的选择,如果您使用的是企业版,则可以使用数据库快照进行报告。在这种情况下,数据库保持还原模式,并且快照是只读的。如果这是您的环境,您确实可以使用日志传送来使您的报告服务器数据保持最新。