0

我有一个镜像的 sql server db 环境。IIS 中托管的负载平衡应用程序正在访问数据库。在连接字符串中,我提到了故障转移伙伴。当我执行从 db1 到 db2 的故障转移时,应用程序无法连接。

我收到的错误是:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)在 MyMethod() 处的 MyMethodName() System.ComponentModel.Win32Exception (0x80004005):找不到网络路径 System.Data.SqlClient.SqlException (0x80131904):找不到服务器或无法访问服务器。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)---> System.ComponentModel.Win32Exception (0x80004005):

一旦我重新启动应用程序池,应用程序将能够再次连接到数据库。我的连接字符串如下所示。

<add name="SqlString" connectionString="Data Source=12.34.56.79,9100;Failover Partner=12.34.56.78,9100;Initial Catalog=test;Persist Security Info=True;User ID=####;Password=#####" />

我正在使用 Sql server 2012、IIS 8.5、Windows Server 2012

对此的任何帮助将不胜感激

4

1 回答 1

0

经过大量研究并得到了许多团队的帮助,我解决了这个问题。

发现应用程序试图连接到数据库故障转移上的默认端口 sql server 1433,即使在连接字符串中指定了端口号。

使用 ClicConfig.exe 在具有端口号的两个应用程序服务器中指定别名

此解决方案由 Microsoft 提供。

于 2017-02-12T03:24:12.607 回答