gpt4 book ai didi

sql-server - 将两个数据库恢复到完全相同的时间

转载 作者:行者123 更新时间:2023-12-04 01:34:33 26 4
gpt4 key购买 nike

在 SQL Server 2008 中,我的父表在一个数据库中,子表在另一个数据库中,FK 关系由触发器维护。我无法更改它,无法将两个表移动到一个数据库中并具有常规的 FK 约束。当我从完整备份恢复两个数据库时,我的子表中有孤儿,因为完整备份不是同时进行的。我也有交易记录。在灾难恢复的情况下,是否可以将两个数据库恢复到恰好相同的时刻,使两个数据库保持一致?

最佳答案

只要数据库处于完全恢复模式并且定期进行日志备份,就可以在同一时间恢复。 See How to: Restore to a Point in Time (Transact-SQL) .

然而,时间点恢复本身并不能确保跨数据库事务的一致性,您还需要在逻辑上跨越数据库边界的所有操作上使用过事务。对于删除和更新,触发器可能已经确保了这一点,因为它们在父操作的上下文中运行,因此隐式地将跨数据库边界操作包装在事务中,但是对于插入,您的应用程序通常必须将插入包装到父操作中并将插入到子操作中单笔交易。

恢复操作的一致性是应用程序在不同数据库之间拆分的最大障碍。

关于sql-server - 将两个数据库恢复到完全相同的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1739908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com