SQL Server 2005镜像数据库恢复

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

有两个问题与此有关:

  1. 我们如何才能使失败变得有点隐蔽(或者至less需要较less的手工工作)到我们的第三方应用程序服务器上,尽可能less花钱? 我的想法是设置DNS“sqlserver.ourdomain”指向主,并在连接string中使用。 那么,如果它失败,我们改变DNS指向镜像,并重新启动应用程序服务器。 不可见或自动,但便宜,似乎应该工作。
  2. 我们如何将失败后的交易从中学推回到小学,并重新推动小学? 此过程必须考虑#1中的“撤销”故障切换模式。 很明显,如果我们使用上面的DNS选项,我们会将DNS重新指向主服务器,但是如何使系统恢复到以前的状态 – 主服务器的镜像和镜像已降级为镜像?

问题1:你在推翻它。 SQL 2005的数据库镜像规范内置到连接string中。 您在连接string中指定主服务器和镜像权限,并且驱动程序按顺序尝试服务器。 这是数据库镜像的优点之一 – 不需要更改客户端应用程序。

更多信息: 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

如果您没有使用自动故障转移function,那么它仍然非常简单:您只需右键单击数据库,进入数据库镜像,就可以使数据库从主要来源转移到次要转移,反之亦然。 他们自动恢复中断后,如重新启动。

还有一件事要记住(与你的问题无关,但有时候人们并没有想到) – 如果原来的委托人暂时停下来,你应该删除镜像以防止事务日志logging在新的委托人失去控制。 否则,事务日志必须全部保留,因为镜像假定旧的主体将在某一时刻回到在线状态。

谢谢