故障转移后如何连接到镜像 SQL Server?
-
18-09-2019 - |
题
我设置了数据库镜像,然后使用了这个 connectionstring
连接到它:
Data Source={0};Failover Partner={1};Initial Catalog=AdventureWorks;
Integrated Security=True;
在数据库中添加一些数据后,我关闭主体服务器,因此镜像服务器成为主体服务器。我再次打开连接,出现此错误:
System.Data.SqlClient.SqlException: A transport-level error has
occurred when sending the request to the server. (provider: Shared Memory
Provider, error: 0 - No process is on the other end of the pipe.)
我认为通过在连接字符串中指定故障转移伙伴,ADO.NET 将为我完成这项工作。那我现在该怎么办呢?
解决方案
幸运的是,我固定了这个问题。所有我需要做的就是调用ClearPool方法:
SqlConnection.ClearPool(conn);
此方法将清除连接池。然后,问题不见了。我很高兴。
感谢您,所有的你,对我们的支持。 :d
其他提示
我不会.NET的东西的专家,但你需要将SQL Native Client(SQLNCLI)来处理故障转移。 “ado.net” 可以是SQLOLEDB
截至到Windows Server 2003,至少它不是默认安装的。这是不是独立或SQL客户端工具的一部分,所以我怀疑你使用SQLOLEDB
在你关机的校长,你验证故障转移实际上成了校长?如果没有在SQL Server上自动故障转移,那么你的镜子仍然是一面镜子。
不隶属于 StackOverflow