利用sqlserver数据库复制实现高可用性

  • 需求:

项目操作系统windows server2008,数据库sql sever2012。要求提供数据库的高可用性方案。我们使用数据库的实时复制功能提供ha方案。具体为采用“事务复制”方式将主数据库实时主动推送到备份数据库。主库故障时候,手工修改数据库连接地址改为备库上,系统开始正常运行。然后删除原来的复制,改为从备份库到主库的实时复制。

需要数据库故障发现程序。发生故障时,切换可手工进行,需要十几分钟;或自动进行,需要有修改数据库url程序。

  • sqlserver复制功能的原理和基本操作请自行百度,此处略。
  • 验证环境:

主:window server2008+sqlserver 2012

备:window 10+sqlserver 2012.

为方便起见,防火墙均已关闭

  • 步骤:

在2台机器上安装好数据库.按照时 要勾上 “复制”和“管理端”功能。

打开 SQLServer Management Studio,连接上2个数据库。

主server的代理服务必须启动:

  • 建立复制,只需在主server上操作即可,

1)“复制”菜单,配置分发服务器,注意“分发服务器”和“发布服务器”在同一台上,步骤略。

2)“本地发布”菜单,建立“事务发布”类型的发布。注意点:

快照文件夹,不要使用默认位置,可能导致“路径无法访问”错误,而是使用其他文件夹。

3)发布建好后,在“我的发布”下会显示。点击“查看快照状态”,确保发表的快照没有错误:

4)“我的发布“下找到 建好的发布,点击右键,“新建订阅”,开始对这个发布建立订阅。注意“安全性"属性的设置,本例中因为发布和订阅2台机器没有相同的windows登录账号,所以”订阅服务器连接“使用的sa用户身份验证。

5)查看备份数据库,表和数据已经和主库一样。在主库做些数据修改,检查是否在备份库中同步了。

利用sqlserver数据库复制实现高可用性 

相关推荐