SQLServer数据库的订阅和备份
ps:这篇文章是我自己CSDN博客上的,现迁移到简书上。
第一步:配置 “机器名” 和 “数据库服务名” 相同
1. 主服务器 A 发布服务器
2. 辅服务器 B 订阅服务器
use master
select @@servername
select serverproperty('servername')
3. 如果查询出来的名字不相同需要把他们配置相同。这个很重要,否则后面会报错。名字不同的情况根据这里的处理方式解决
第二步:配置数据库服务名称的别名
要求: A机和B机互相可以登录对方的服务器,也就是两台电脑可以通过 “:1433” 端口互相访问。(ps:数据库发布和订阅不能使用IP来登录,必须使用服务器名登录。)
所以: 在A中配置B中的别名,在B中配置A的别名,方法如下。
Example:A中配置B的别名
1.打开sql server 配置管理器(ps:一个红色的图标)
配置管理器
2.SQL Native Client 10.0 配置(32位)/ SQL Native Client 10.0 配置 两处
2.jpg
3.点击别名看到如下待填项
别名:B的别名
3.jpg
端口号:1433
服务器:B的IP
协议:TCP/IP
4.SQL Native Client 10.0 配置
Example:B中配置A的别名
略(和上面类似,类比配置)
第三步:验证两个数据库可以彼此连接
A的数据库使用配置好的别名,登录B的数据库
B的数据库使用配置好的别名,登录A的数据库
第四步:发布
1. 登陆服务器A数据库,用别名登陆:
2. 在复制,本地发布 中右键新建发布
5.jpg
3. 选择你要发布的数据库
3.jpg
4. 事物发布
5. 选择需要发布的数据表
5.jpg
6.jpg
6. 打勾选择“立即创建数据库快照对订阅进行初始化。”
7. 点击与订阅服务器的连接下面的按钮
8. 选择在“sql server 代理服务账号下 运行” 和 “使用以下sql server 登录名 ”(输入本数据库的密码和账号)
8.jpg
9. 创建发布,取一个名字,创建成功
9.jpg 92.jpg 93.jpg
第五步:订阅
1. 登陆服务器B数据库,用别名登陆:
2. 在复制,本地订阅 中右键新建订阅
3. 查找SQL Server发布服务器,连接服务器A
3.jpg 32.jpg
4. 选择需要订阅的发布
4.jpg
5. 在分发服务器上运行所有代理
5.jpg
6. 新建一个同名的数据库
6.jpg 62.jpg
[图片上传失败...(image-8d999d-1535074297771)]
7. 点击与订阅服务器的连接下面的按钮
7.jpg
8. 选择在“sql server 代理服务账号下 运行” 和 “使用以下sql server 登录名 ”(输入本数据库的密码和账号)
8.jpg
9. 选择定义计划
9.jpg
10. 一直下一步,直到“创建订阅”
10.jpg 11.jpg 12.jpg 13.jpg
订阅完成
等过一段时间,数据同步完成后就可以查看数据是否一致了!