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