SQL Server配置数据库镜像后,可能有朋友们会比较有疑惑,你一下搞两个数据库出来,他们的ip地址都不一样,到时候数据库切换过去了,我的数据库的连接字符串可如何是好?难道还得在代码中去控制是连接哪个数据库吗?
其实这个问题是这样的,使用ADO.NET或者SQL Native Client能够自动连接到故障转移后的伙伴,连接字符串如下所示:
ConnectionString="DataSource=A;FailoverPartner=B;Initial Catalog=AdventureWorks;Integrated Security=true;"
DataSource= A;这个就是我们常用的主数据库的ip地址,Failover Partner=B;这个填写的就是镜像数据库的ip地址,一旦出现了连接错误,ado.net会在超时以后自动去连接镜像数据库。
SqlConnectionStringBuilder sqlsb = new SqlConnectionStringBuilder();
sqlsb.DataSource = "ServerA";
sqlsb.FailoverPartner = "ServerB";
sqlsb.UserID = "XXX";
sqlsb.Password = "";
sqlsb.InitialCatalog = "DataBase";
SqlConnection sqlconn = new SqlConnection();
sqlconn.ConnectionString = sqlsb.ConnectionString;
String ActiveServer = sqlconn.DataSource;
时间: 2024-10-13 21:36:33