基于SQL Server 2008事物复制的多到一同步

来源:互联网 发布:网络中了500万怎么领奖 编辑:程序博客网 时间:2024/04/25 12:18

因为业务需要,我们需要将分别在全省各地的数据库同步到省中心数据库中,于是决定采用SQL Server2008自带的事物发布机制来完成此功能,具体步骤如下:

(此过程为摸索出来的,如果错误部分还望各位看官指教!)

1:准备工作

Windows server 2008 3台,

基本配置如下:

服务器

机器名

IP地址

OS账号

OS密码

SQL账号

SQL密码

S1

WS8-01

192.168.0.91

administrator

S1-123456

sa

123456

S2

WS8-02

192.168.0.92

administrator

S2-123456

sa

123456

S3

UK-AC5C33D86288

192.168.0.12

administrator

S3-123456

sa

123456

本配置完成后的结果为:将S1,S2的数据更新到S3中

如下图所示

分别在3台服务器上安装同版本的SQL Server服务器,同时将需要同步的数据库分别在3台服务器上完成安装,保证需要同步的数据库在3台服务器上具有相同的架构。

2:详细步骤

2.1: 分别在S1,S2上创建事务发布。过程如下:






在上图中,因为我们仅仅需要同步数据,架构不会更改,所以仅选择了表,如果需要同步部分表,则可以点击“+”选择具体的表


由于我们是针对所有数据,所以此处直接默认设置下一步,如果需要针对表中的部分数据发布则可以点击添加按钮,设置相关查询条件


由于为了避免本次发布覆盖掉其他发布源的数据,此处对勾均不选择,点击下一步


点击“安全设置”


在快照代理安全性中选择“在一下windows账户下运行”,此处的账户信息为本发布服务器的账号密码

在连接到发布服务器中选择“使用以下SQL Server登录名”,此处的账户信息为本发布服务器的数据库用户名和密码




在此处输入发布名称,其中V2仅为数据库版本代码,S1表示为服务器Server 1,PUB仅表示发布;点击完成。


完成后点击“关闭”。

采用同样的方法完成对Server 2的配置

完成S1和S2中的发布创建后,回到S3中对数据进行订阅


上图中点击“新建订阅”



选择“<查找SQL Server发布服务器>”


输入S1的连接信息,点击“连接”


选择可用发布,点击下一步


此处选择“在分发服务器上运行所有的代理(推送订阅)”



点击订阅服务器代理后面的”….”按钮,设置分发代理安全性


由于是在发布服务器上运行代理,所以选择“在以下Windows账户下运行”,并且输入S1的账号和密码

在连接到订阅服务器中选择“使用以下SQL Server登陆名”,并且输入S3(订阅服务器)的SQL 账号和密码,点击确定




在上图中,将“初始化”去掉,避免覆盖其他订阅的数据



点击完成


点击关闭完成S3对S1的订阅创建

此时刷新“本地订阅”节点会看到多出了一个订阅


为了验证是否成功,此时在S1中插入数据,查看S3中是否有数据


验证S3(查询S3中的数据)


可以看到数据已近同步到了S3中,此外还可以测试编辑和删除数据,查看是否正常同步


S1中更新后S3的数据:


验证完成后,我们在按照同样的步骤在S3中创建对S2的订阅


查看“本地订阅”节点,看是否多出一个订阅


此时在S2中插入数据,验证S3中数据是否正确(应该包含S2和S1中的所有数据)


S3中的结果


我们将S1中的某一条数据删除,验证S3对S1的订阅是否仍然有效


S3:




0 0
原创粉丝点击