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