我在阿姆斯特丹 (AMDB) 有一个主数据库,在伦敦 (LNDB) 有一个辅助数据库。我想从 AMDB 故障转移到 LNDB,然后再返回,而不必进行另一个完整备份(因为数据库太大)。
根据更改主服务器和辅助服务器之间的角色以及故障转移到日志传送辅助服务器,这一切看起来都是可能的。我以前从未这样做过,本周末我将在生产中进行。(我将事先在非产品数据库上进行一些测试。)
我的问题:我是否应该在 Microsoft 文档之外做任何其他事情以确保成功?(我想知道其他人是否有一些gotya或他们采取的额外步骤。)我希望得到一个令人放心的答案,例如“是的,每次我们在生产中这样做时它都有效,而且很酷”,但也会很高兴“不,不要那样做,确保你用 x/y/and z 代替。”
编辑:请不要推荐我使用镜像作为这个问题的答案——是的,这是个好主意,但由于许可成本,它对我们不起作用。我们使用标准版(仅支持同步模式下的镜像)。我想知道是否有人遵循了 prod 中 MS 文档中的步骤,或者是否有“经验丰富的”dba 会使用的更好的替代方案。
对于内置故障转移/故障恢复功能,选择 DB Mirroring over log shipping:
http://technet.microsoft.com/library/bb934127.aspx
您可以按照流程通过日志传送来执行此操作,但需要手动步骤。镜像是最好的选择。
回答我自己的问题 - 是的:上面链接中描述的过程运行良好。
我确实发现做一个尾日志需要对数据库的独占访问,如果数据库处于单用户模式,我无法备份尾日志。这是生产中的一个问题,因为“各种各样”的东西都连接到数据库。我在下面采用的脚本对我有用 - 它在备份之前在单用户模式和多用户模式之间进行快速洗牌(注意使用“With Standby”使数据库可查询,并为故障恢复中的更多日志做好准备。)
然后在另一边把它放到网上是相当直截了当的: