SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

时间:2024-01-12 19:57:44

概念参见:https://msdn.microsoft.com/zh-cn/library/ms151170.aspx

推送订阅

对于推送订阅,发布服务器将更改传播到订阅服务器,而无需订阅服务器发出请求。

更改可以按需、连续地或按照计划推送到订阅服务器。 分发代理或合并代理在分发服务器上运行。

  • 通常,数据将连续同步或按照经常重复执行的计划同步。

  • 发布要求数据近似实时地移动。

  • 分发服务器上较高的处理器开销不会影响性能。

  • 通常与快照和事务复制一起使用。

请求订阅

对于请求订阅,订阅服务器请求在发布服务器上所做的更改。

请求订阅允许订阅服务器上的用户确定同步数据更改的时间。 分发代理或合并代理在订阅服务器上运行。

  • 数据通常按需或按计划同步,而非连续同步。

  • 发布具有大量订阅服务器,并且/或在分发服务器上运行所有代理会消耗大量资源。

  • 订阅服务器是自主的、断开连接的和/或移动的。     订阅服务器将确定连接和同步更改的时间。

  • 通常与合并复制一起使用。

1.环境准备

1.WIN7+SQL 2012 两台机器

如:10.58.8.114  登陆账号 TestB    10.58.8.96  登陆账号 TestA

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

2.新建两个数据库实例:

如: 10.58.8.114       实例名 TestB     10.58.8.96  实例名 TestA

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

3.两台机器创建相同的 登陆账号和密码,并将其加入到管理员权限  (解决 错误22022)

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

4.设置 SQL SERVER 服务登陆账号为当前管理员账号(发布服务器和订阅服务器都要设置)(解决 错误22022) 
SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

5.设置 SQL SERVER 代理 登陆账号为当前管理员账号并为自动启动(发布服务器和订阅服务器都要设置)(解决 错误22022)

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

6.确保两台机器能够PING ,端口也是互通

7.两台机器创建数据库 TestPublishA

8.发布服务器创建表TableA 并向其写入数据,创建视图ViewA

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

准备工作完毕,下面实现发布主体

2.实现发布主体

主体数据库>>复制>>本地发布>>右键

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

选择发布的数据库 TestPublishA

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

快照发布

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

选择发布对象,表、视图、存储过程等。

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

查看项目问题 忽略

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

筛选表行 忽略

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

快照代理,我这边没有做计划,计划坐在 订阅服务器上

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

代理安全设置 我已经配置了代理服务启动为当前计算机管理员 .\TX

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

创建发布

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

完成

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

3.实现订阅主体

订阅数据库>>复制>>本地订阅>>右键>>新建订阅

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

下一步

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

查找发布服务器

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

选择发布

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

设置订阅向导

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

设置订阅数据库

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

设置分发代理安全性

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

设置同步计划

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

订阅初始化

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

完成

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

4.发布与订阅状态查看

1,发布服务器 右键>>启动复制监视器

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

可以看到其运行状态如下

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

2.订阅服务器

右键>>查看同步状态

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

监视

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

5.数据有效性

在发布服务器上添加数据

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

在订阅服务器上添加数据

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

等待订阅同步完成后 ,我们可以看到 订阅后的数据 以发布数据为准,如下

SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

本文来自  释迦苦僧  http://www.cnblogs.com/woxpp/p/4293955.html