SQL Server发布与订阅配置手册
SQL Server可以通过发布和订阅方式在两台数据库之间做数据实时同步。本手册描述了创建发布与订阅的步骤。
本手册所使用的环境如下:
|
IP |
主机名 |
主数据库 |
192.168.2.110 |
ECS-DEV-10 |
备数据库 |
192.168.2.112 |
ECS-DEV-12 |
1配置主机名
在两台数据库之间创建发布和订阅时,两台服务器之间需要通过主机名互通,需要在各自的hosts文件中配置对端的主机名和IP。
在主数据库上编辑以下文件:
C:\Windows\System32\drivers\etc\hosts
在最后添加一行,内容如下:
192.168.2.112 ECS-DEV-12
在备数据库这个文件中也添加一行,内容如下:
192.168.2.110 ECS-DEV-10
2配置代理
打开,SQL Server配置管理器,在左侧树上选择【SQL Server服务】
右侧双击【SQL Server代理】
【登录】切页中,勾选【本账户】,账号名填写和【SQL Server】服务相同的账号名
【服务】切页中,将启动模式改成【自动】,点击【确定】保存
确认代理状态是否是【正在运行】,如果没有在运行,则右键点击代理,点击【启动】
3在主数据库创建发布
打开Microsoft SQL Server Management Studio,连接主数据库,在左边的对象资源管理器中,右键点击【复制】->【本地发布】,点击【新建发布】
点击【下一步】
选择要同步的数据库,这里选择dwis,点击【下一步】
发布类型选择【事务发布】,点击【下一步】
要发布的对象选择全部,点击【下一步】
点击【下一步】
点击【下一步】
勾选【立即创建快照并使快照保持可用状态,以初始化订阅】,点击【下一步】
点击【安全设置】
勾选【在SQL Server代理服务账户下运行】,勾选【使用以下SQL Server登录名】,输入数据库的用户名和密码,点击【确定】
勾选【创建发布】,点击【下一步】
填写发布名称,点击【完成】
等待创建发布完成之后,点击【关闭】
4在备数据库创建订阅
连接备库,在对象资源管理器中,右键选择刚才创建好的发布,点击【新建订阅】
点击【下一步】
选择刚才创建发布的数据库,点击【下一步】
选择【推送订阅】,点击【下一步】
点击【添加订阅服务器】
连接备数据库,这里的服务器名称需要填写主机名。身份验证选择【SQL Server身份验证】,输入登录名和密码,点击连接
点击【下一步】
点击订阅服务器右边的【....】按钮,配置代理的安全性
勾选【在SQL Server代理服务账户下运行】,勾选【使用以下SQL Server登录名】,输入数据库的用户名和密码,点击【确定】
代理计划选择【连续允许】,点击【下一步】
勾选【初始化】,初始化时间选择【立即】,点击【下一步】
勾选【创建订阅】,点击【下一步】
点击【完成】
等待订阅创建成功之后,点击【关闭】
5监控发布和订阅状态
在对象资源管理器中,右键点击创建好的发布,点击【启动复制监视器】,在里面可以查看发布和订阅的运行情况
修改表结构
如果需要在已创建发布与订阅的环境下修改表结构,需要重新生成代理快照,操作步骤如下:
右键点击已创建的发布,点击【属性】
左边选择【项目】,将要修改的表上的勾去掉
去掉勾的时候会弹出一个确认提示对话框,点击【是】关闭对话框,然后点击【确定】
执行修改表结构语句修改表结构,修改完之后,返回刚才的【项目】页面,将刚才的表再次勾选上
再次右键点击已创建的发布,点击【查看快照代理状态】
点击【启动】,等待快照生成结束之后,查看两台数据库的数据是否已经可以正常同步