欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-15 13:50:45
...
  • 需求:

项目操作系统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)查看备份数据库,表和数据已经和主库一样。在主库做些数据修改,检查是否在备份库中同步了。