发布订阅份为两个步骤:1、发布。2订阅。首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅。

  发布需要用实际的服务器名称,不能使用服务器的IP地址进行。能发布的信息包括【表】、【存储过程】、【用户函数】

一、发布

1、找到数据库服务器下的【复制】--【本地发布】,选择【新建发布】。如下图:

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_服务器

 

2、选择【下一步】 (如下图)

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_02

 

3、选择【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_03

 

4、默认选择【自动启动】,然后选择【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_服务器_04

 

5、默认路径【C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\ReplData】,然后选择【下一步】

如果不是备份到本地,路径(本地的共享目录-需要设置该文件夹的权限)的格式需要填写为:\\192.168.2.202\共享目录\99.其他\test

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_数据库_05

 

6、选择待发布的数据库(如下图),选中数据库后点击【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_06

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_07

 

 7、选择发布类型。这里选择的默认类型【快照发布】。几种发布类型的区别,SQL SERVER都在下面给出了说明(如下图)。然后选择【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_08

 

 8、选择待发布的类容(当中可选的类型包括:表、存储过程、用户定义函数),此次演示的数据库中只有表,这里全选(如下图)。然后选择【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_数据库_09

 

9、这里可以添加对表进行筛选的条件,点击【添加】进行筛选条件的条件。

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_10

 

10、添加筛选条件如下图, 这里演示无需添加,所以点击【取消】后选择【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_服务器_11

上图中右侧就是筛选的SQL语句。

11、设置快照代理。如下图:

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_12

 

12、更改同步频率如下图,默认设置,直接【确定】即可

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_13

 

13、设置代理安全性(如下图),点击【安全设置】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_服务器_14

 

14、设置完成后【确定】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_15

 

15、安全设置完成后如下图,然后点击【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_16


2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_17

 

16、填写发布名称

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_18

 

17、完成发布。如下图:

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_19

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_20

 

18、发布成功后【复制】下面会发生改变,如下图

 

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_21

 


 

二、订阅

订阅是对数据库发布的快照进行同步,将发布的数据源数据同步到目标数据库。具体订阅过程如下;

1、找到数据库服务器下的【复制】--【本地订阅】,选择【新建订阅】。如下图:

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_22

 

2、默认选择下一步

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_数据库_23

 

3、选择订阅的发布(如下图),选择【查找SQL Server发布服务器...】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_24

 

4、填写发布服务器名称,然后【连接】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_25

 

5、选择此次要同步的数据库 EP-2(如下图),然后选择【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_26

 

6、选择分发代理的位置(如下图),可根据具体业务具体分析如何选择,这里选择由分发服务器管理订阅,点击【下一步】

选择推送订阅模式,请求订阅还有点问题,在改。

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_数据库_27

 

7、选择订阅服务器上的存放同步过来的数据的一个或者多个目标数据库,这里选择ES-2。如下图:

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_数据库_28

 

8、也可以选择【新建数据库】(如下图),输入数据库名称,然后【确定】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_29

 

9、若要添加多个订阅数据库,则点击【添加订阅服务器】(如下图),然后连接到其他订阅服务器,并选择或创建数据库即可。

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_数据库_30

 

10、订阅服务器确定之后,选择【下一步】(如下图)

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_服务器_31

 

11、设置分发代理的安全性(如下图),然后点击【···】设置安全选项,【确定】后选择【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_32

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_服务器_33

 

12、设置同步的代理计划,这里默认选择(如下图),然后【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_34

 

13、初始化订阅(如下图),默认选择,然后【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SQL_35

 

14、默认选择,然后【下一步】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_36

 

15、点击【完成】,完成订阅(如下图)

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_37

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_SqlServer2012同步_38

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_数据库_39

 

这样就完成了发布与订阅的整个流程。

 

16、回到发布服务器【复制】-【本地发布】-【EP-2】下可以看到关联的订阅

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_数据库_40

 

17、右键【启动复制监视器(M)】

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_数据库_41

 

2019 SQL server 发布 订阅 sqlserver数据库订阅发布_服务器_42

如果在初始化订阅的过程中出现无法连接到数据库的情况,很可能是防火墙的入站规则中未添加“1433”端口,因为SQL Server2012默认开启允许远程连接的。

另外就是SQL Server的一些服务未开启,请到配置文件中开启。