我有一个镜像的SQL Server DB环境。IIS中托管的负载平衡应用程序正在访问数据库。在连接字符串中,我提到了故障转移伙伴。当我执行从DB1到DB2失败时,应用程序无法连接。
我收到的错误是:
在网络相关或实例特定的错误时发生 建立与SQL Server的连接。没有找到服务器或 无法访问。验证实例名称是正确的,并且 SQL Server配置为允许远程连接。(提供者:命名 管道提供商,错误:40-无法打开与SQL Server的连接) 在myMethodName()in myMethod() system.componentmodel.win32 exception(0x80004005):网络路径 未找到system.data.sqlclient.sqlexception(0x80131904): 服务器未找到或无法访问。验证该实例 名称是正确的,并且配置了SQL Server以允许远程 连接。(提供商:命名Pipes提供商,错误:40-无法 打开与SQL Server的连接)---> system.componentmodel.win32 exception(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
对此的任何帮助将不胜感激
我在大量研究并从许多团队那里获得帮助后解决了这个问题。
发现该应用程序正在尝试连接到DB上的默认端口SQL Server 1433,即使在连接字符串中指定了端口号。
。使用clicconfig.exe
指定了两个应用程序服务器中的别名此解决方案由Microsoft提供。