SQL Server 2005 镜像数据库恢复

Mat*_*ish 3 disaster-recovery mirror sql-server sql-server-2005

场景:我们希望在 Active Directory 域环境中使用 SQL Server 2005 Standard 版本的数据库镜像以及见证服务器。数据库是从 3rd 方应用服务器提供的,除了数据库连接字符串之外,该服务器无法修改。

与此相关的两个问题:

  1. 我们如何才能在花费尽可能少的钱的情况下,让我们的 3rd 方应用服务器在某种程度上不可见(或至少需要更少的手动工作)失败?我的想法是设置指向主域名的 DNS“sqlserver.ourdomain”,并在连接字符串中使用它。如果失败,我们将 DNS 更改为指向镜像并重新启动应用服务器。不是隐形或自动的,但很便宜,看起来应该可以工作。
  2. 我们如何在失败后将事务从辅助节点推送回主节点并重新提升主节点?此过程必须考虑“撤消”#1 中的故障转移模式。显然,如果我们使用上面的 DNS 选项,我们会将 DNS 重新指向主服务器,但是我如何让系统恢复到以前的状态——从镜像更新主服务器,并将镜像降级回镜像?

Bre*_*zar 8

问题一:你想多了。SQL 2005 的数据库镜像规范内置于连接字符串中。您在连接字符串中指定主服务器和镜像,然后驱动程序按顺序尝试服务器。这是数据库镜像的优点之一 - 无需更改客户端应用程序。

更多信息:http : //msdn.microsoft.com/en-us/library/5h52hef8.aspx http://msdn.microsoft.com/en-us/library/ms366348.aspx

问题 2:您说您使用的是见证服务器,所以我假设您使用的是自动故障转移。SQL 2005 的数据库镜像会自动执行这些操作 - 更多信息在这里:

http://msdn.microsoft.com/en-us/library/ms189590.aspx

如果您没有使用自动故障转移,那么它仍然非常简单:您只需右键单击数据库,进入数据库镜像,您就可以使数据库从主数据库到辅助数据库来回故障,反之亦然。在重启等中断后,它们会自动恢复同步。