请选择 进入手机版 | 继续访问电脑版

程序人生

 找回密码
 注册

QQ登录

只需一步,快速开始

程序人生 门户 软件工程 查看内容

SQL Server的数据库镜像容灾技术之FailOver自动连接

2016-2-26 11:05| 发布者: sean| 查看: 772| 评论: 0

摘要: MS SQL Server的数据库镜像技术对于程序员来说是比较容易实现的,但是很多人并不知道如果简单的实现两台数据库的自动切换连接,因为两个数据库,ip地址不一样,切换后,数据库的连接地址不一样,如何是好。早期我想到 ...
MS SQL Server的数据库镜像技术对于程序员来说是比较容易实现的,但是很多人并不知道如果简单的实现两台数据库的自动切换连接,因为两个数据库,ip地址不一样,切换后,数据库的连接地址不一样,如何是好。

早期我想到可以在config中配置两个连接字符串,然后通过代码去检测,从而决定要使用的数据库,后来发现自己真的好不机智,原来SQL SERVER里提供了FailOver自动连接技术,简单实现。使用ADO.NET就能自动连接到故障转移后的数据库,连接字符串为
ConnectionString="DataSource=Aip;FailoverPartner=Bip;Initial Catalog=AdventureWorks;Integrated Security=true;"
DataSource= Aip;这个就是我们常用的主数据库的ip地址,Failover Partner=Bip;这个填写的就是镜像数据库的ip地址,一旦出现了连接错误,ado.net会在超时以后自动去连接镜像数据库。

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;


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


关于程序人生网|小黑屋|手机版|Archiver|

程序人生 | QQ

粤公网安备 44040202000007号

( 粤ICP备13038131号-5 )

返回顶部