背景故事:我正在尝试将多个 SQL 2012 数据库的副本恢复到不同的环境,但应用程序需要它们(大致)及时“同步”。
(当然,理想的方法是使用完整和日志备份的完整恢复模式,然后使用相同的时间戳进行时间点恢复。但在我的情况下,我不需要它们完全同步,就在大约 10 分钟左右,我宁愿只处理完整备份和恢复。我可以控制何时运行完整备份,但问题是数据库的大小非常不同,所以完整备份运行时间很长不同的时间长度。)
所以我的问题是:我应该同步完整备份的开始时间吗?还是结束时间?
换句话说,当我恢复完整备份时,我会得到备份开始时的样子还是完成时的样子?
看看这个链接
Sql Server 备份包含所有分配的数据页和足够的事务日志,因此还原操作可以恢复数据库,使其在读取数据操作完成的时间点保持事务一致。
所以,回答你的问题
现在是FINISH时间。
通过调用备份操作向自己证明这一点应该很容易,在备份运行时对某些数据进行一些更改(确保提交它们),然后在某处恢复该备份并检查您的更改。
参考更多关于完整备份包含多少事务日志
任何 SQL 备份都是在将备份结束时间写入 msdb 数据库中的备份集表时完成的。当您在那里搜索时,完整备份是 D 类型,日志备份是 L 类型。并且有一个仅复制列来标记仅复制备份
我会定期针对我在中央管理服务器上创建的组运行以下查询,您可以根据需要对其进行修改。