场景:
我们希望在Active Directory域环境中使用sql Server 2005 Standard的DB镜像版本以及见证服务器.数据库从第三方应用服务器提供,除了数据库连接字符串之外,该服务器无法修改.
我们希望在Active Directory域环境中使用sql Server 2005 Standard的DB镜像版本以及见证服务器.数据库从第三方应用服务器提供,除了数据库连接字符串之外,该服务器无法修改.
与此相关的两个问题:
>我们如何才能让我们的第三方应用服务器花费尽可能少的钱,使故障有些不可见(或者至少需要少量的手动工作)?我的想法是设置DNS“sqlserver.ourdomain”,指向主要并在连接字符串中使用它.如果失败,我们将DNS更改为指向镜像并重新启动应用服务器.不是看不见的或自动的,但很便宜,似乎它应该工作.
>我们如何在失败后将事务从辅助服务器推送回主服务器并重新升级主服务器?此过程必须考虑“撤消”#1中的故障转移模式.显然,如果我们使用上面的DNS选项,我们会将DNS重新指向主服务器,但是如何让系统恢复原状 – 从镜像更新主服务器并将镜像降级为镜像?
解决方法
问题1:你是在思考它. 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
如果您没有使用自动故障转移,那么它仍然非常简单:您只需右键单击数据库,进入数据库镜像,您就可以使数据库在主数据库之间来回失败,反之亦然.在重启等中断后,它们会自动恢复同步.