我承认我有点像小气鬼,但我不想为通过镜像获得SQL Server自动故障转移所需的三台服务器,特别是因为三者中的一台除了是一台之外什么都不做见证服务器。
如果我从主服务器到备份服务器设置正常的SQL复制(例如快照),我可以在ASP.NET应用程序中设置我的连接字符串以包含“Failover Partner = backup”吗?似乎客户端上的ADO.NET应该只尝试主服务器,然后在主服务器不可用的情况下故障转移到备份。
或者这只适用于镜像吗?
(我喜欢镜像的想法,但如果您不想为见证服务器付费,则必须手动将备份服务器切换为主要服务器。)
谢谢!
答案 0 :(得分:3)
我还在搜索关于在非镜像环境中是否支持FailoverPartner的原始问题的答案。在我们的环境中,有一个通过复制同步的辅助数据库。
为了测试,我在SSIS OLEDB源中设置了以下连接字符串:
Data Source=PRIMARY;FailoverPartner=SECONDARY;Provider=SQLNCLI10.1;
Network=dbmssocn;Database=myDB;User ID=user;Password=password;
当我跑步时,我看到以下错误
连接尝试故障转移到不是的数据库 配置为数据库镜像。
因此,除非辅助服务器实际处于镜像配置状态,否则似乎无法实现。
答案 1 :(得分:2)
根据Microsoft的SQL Server 2005/2008许可条款,您只需要一个许可证(每个CPU)用于主SQL服务器。
您不必为镜像购买额外的SQL Server许可证,因为镜像服务器仅与主服务器通信。
如果发生故障转移,您有30天的故障转移回主服务器,否则您将需要购买其他许可证。
以下是许可详细信息的链接,请参阅第2页的被动服务器/故障转移支持。
答案 2 :(得分:1)
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms189590.aspx和http://msdn.microsoft.com/en-us/library/ms175191.aspx。
从第二个网址获取剪辑:“我们强烈建议见证人与合作伙伴位于不同的计算机上。数据库镜像合作伙伴仅受SQL Server 2005 Standard及更高版本以及SQL Server 2005 Enterprise Edition及更高版本的支持相比之下,证人也得到SQL Server 2005 Workgroup及更高版本以及SQL Server 2005 Express Edition及更高版本的支持。见证人可以在任何支持SQL Server任何版本的可靠计算机系统上运行。但是,我们建议用作见证的每个服务器实例都对应于您运行的SQL Server Standard版本所需的最低配置。“
答案 3 :(得分:0)
我正在寻找类似的东西;是否可以将故障转移伙伴指定为一个和一个唯一的连接字符串; - 显然只要存在故障转移伙伴; - 数据库引擎非常聪明,可以在主服务器故障转移时进行平衡(幸运的是);