我正在建立一个基于三台 SQL Server 2008 R2 机器和数据库镜像的 HA SQL 服务器环境。
我会命名它们:
“company.intra”域是控股公司的域。
两个数据库引擎都在侦听静态 52002 端口,因此客户端应用程序可以通过以下方式访问它们:
principal.company.intra,52002 & mirror.company.intra,52002
Run Code Online (Sandbox Code Playgroud)
端点EP_Mirroring
在主体和镜像、EP_Witness
见证和侦听主体的 5022 端口、镜像的 5023 和见证的 5024 端口上调用。
服务帐户已正确配置并被授予对彼此端点的连接权限。
镜像功能工作正常,并且在 TSQL 手动故障转移或模拟系统故障的情况下,数据库可以正确进行故障转移。
问题在于应用程序在故障转移时行为异常。
应用程序测试上下文如下:
一个包含两个文本框和一个按钮的小型 .NET 应用程序:
单击按钮时,它会进行存储过程调用,并使用 sp 的输出填充 Textbox1,使用 my 的数据源属性填充 Textbox2 SqlConnection
。
连接字符串如下所示:
Data source=principal.company.intra,52002;failover partner=mirror.company.intra,52002;
initial catalog = TEST_FAILOVER;user ID=user;password=pass;Connection Timeout=30
Run Code Online (Sandbox Code Playgroud)
我从我的笔记本电脑启动了这个应用程序,位于另一个域: laptop.childcompany.com
场景一:
场景二: