2024年4月16日发(作者:)

我们做web应用的MySQL接触的比较多,大家都知道MySQL的备份或者负载均衡我们会采用

主从复制技术。最近工作中接触到了SQL Server,老板要求也搭起类似的环境。从而我做了以

下研究:

一般情况下,SQL Server不叫主从复制,MS喜欢叫它日志传送功能。其实质是由两台服务器

的代理作业完成的,首先基于源库服务器的备份机制,然后将事务日志定期传送到目的服务器,

从库服务器接收并完成数据库还原操作

名词解释:

源库服务器——主库服务器

目标服务器——从库服务器

传送/接收——主从服务器之间的数据传输【通过磁盘共享】

还原——执行日志文件

实现机制

1.登入账号

由SQL Server 2000 DTS封装,将主登入账号转移到从服务器,且执行各服务器间登入帐号SID

之解析动作,由Agent完成

2.日志传送

主从服务器的数据同步,主要依赖于数据库事务日志传送功能。简单的说就是:

备份作业 —> 复制作业 —> 还原作业 —> 警报作业

我们可以通过在数据创建维护计划中勾选“将事务日志传送到其它的SQL Server(日志传送)”

选项。

那么,主服务器SQL Server代理会生成两个作业:

1).完整备份作业

2).事务日志备份作业

从服务器SQL Server代理会生成五个作业:

1).事务日志备份作业

2).日志传送复制作业

3).日志还原作业

4).日志备份警报作业

5).日志恢复警报作业

3.角色变更

通过SQL Server MSDB预置存储过程sp_change_primary_role对主服务器降级

通过SQL Server MSDB预置存储过程sp_change_secondary_role对从服务器升级

通过SQL Server MSDB预置存储过程sp_change_monitor_role通知监控服务器角色变更

4.角色互换

通过一系列SQL Server MSDB预置存储过程清除之前日志传送信息

在新主服务器和从服务器之间创建新的日志传送维护计划,参考“日志传送

实施步骤

a.准备工作,创建配置存储目录

完整备份目录,事务日志备份目录,预留从日志复制目录

需要设置属性为共享,权限为完全控制

b.创建数据库维护计划

在创建数据库备份计划中“将事务日志传送到其它的SQL Server(日志传送)”,只有选中此项

才会启动日志传送作业

按照提示下一步,根据上面的存储配置选择对应的目录和网络路径,网络路径主要用来提供日志

复制使用

c.配置完整备份周期和同步周期

d.配置数据清理周期

e.手动查看下主从服务器的SQL Server代理是否正常启动,作业是否创建成功

2.角色变更

a.主服务器建立登入账号SQL Server 2000 DTS(package)封装,通过主服务器SQL Server代

理工作

b.降级主服务器(demote),使用_change_primary_role预存储过程,将主服务

器从读/写模式转换为读备援模式,准备随时接受交易日志的备份资料