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的别名
端口号:1433
服务器:B的IP
协议:TCP/IP
3.jpg
4.SQL Native Client 10.0 配置
Example:B中配置A的别名
略(和上面类似,类比配置)
第三步:验证两个数据库可以彼此连接
A的数据库使用配置好的别名,登录B的数据库
B的数据库使用配置好的别名,登录A的数据库
第四步:发布
1. 登陆服务器A数据库,用别名登陆:
2. 在复制,本地发布 中右键新建发布


3. 选择你要发布的数据库

4. 事物发布

5. 选择需要发布的数据表


6. 打勾选择“立即创建数据库快照对订阅进行初始化。”

7. 点击与订阅服务器的连接下面的按钮
8. 选择在“sql server 代理服务账号下 运行” 和 “使用以下sql server 登录名 ”(输入本数据库的密码和账号)

9. 创建发布,取一个名字,创建成功



第五步:订阅
1. 登陆服务器B数据库,用别名登陆:
2. 在复制,本地订阅 中右键新建订阅

3. 查找SQL Server发布服务器,连接服务器A


4. 选择需要订阅的发布

5. 在分发服务器上运行所有代理

6. 新建一个同名的数据库


[图片上传失败...(image-8d999d-1535074297771)]
7. 点击与订阅服务器的连接下面的按钮

8. 选择在“sql server 代理服务账号下 运行” 和 “使用以下sql server 登录名 ”(输入本数据库的密码和账号)

9. 选择定义计划

10. 一直下一步,直到“创建订阅”




订阅完成
等过一段时间,数据同步完成后就可以查看数据是否一致了!