我有一个连接到 SQL Server 的 VB.NET 应用程序。
我们最近添加了数据库镜像以防服务器故障。
当然,我们的 SQL Server 失败了,但 VB.NET 应用程序没有进行故障转移。
我发现在我们的代码中,连接字符串中没有指定故障转移伙伴,所以我更新了连接字符串,如下所示:
sConnectionString = "Data Source=PROD-SQL;Failover Partner=FAILOVER-SQL;Initial Catalog=DB;User ID=****;Password=******;"
该SqlClient.SqlConnection
对象接受此连接字符串,但是当我调用它的.Open()
命令时,它失败并出现以下错误:
"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)"
为什么是这样?我们的 Intranet 应用程序故障恢复得很好(使用 DSN-less 连接的经典 ASP)。
应用程序是否必须至少与主服务器建立一次成功的初始连接才能成功进行故障转移?
谢谢!