SqlServer2012 数据库的同步之发布+订阅
文章参考了百度过的文章,因为版本不同,操作中也遇到了很多问题,现在整理一下,希望对各位朋友有所帮助。
发布订阅份为两个步骤:1、发布。2订阅。首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅。
发布需要用实际的服务器名称,不能使用服务器的IP地址进行。能发布的信息包括【表】、【存储过程】、【用户函数】
一、发布
1、找到数据库服务器下的【复制】--【本地发布】,选择【新建发布】。如下图:
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030111917732-1861262547.png)
2、选择【下一步】 (如下图)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030111929872-1928461054.png)
3、选择【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030111938357-79927114.png)
4、默认选择【自动启动】,然后选择【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030111951263-1577179880.png)
5、默认路径【C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\ReplData】,然后选择【下一步】
如果不是备份到本地,路径(本地的共享目录-需要设置该文件夹的权限)的格式需要填写为:\\192.168.2.202\共享目录\99.其他\test
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112025216-1020531913.png)
6、选择待发布的数据库(如下图),选中数据库后点击【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112041888-519104288.png)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112050825-2136622315.png)
7、选择发布类型。这里选择的默认类型【快照发布】。几种发布类型的区别,SQL SERVER都在下面给出了说明(如下图)。然后选择【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112056825-1311570068.png)
8、选择待发布的类容(当中可选的类型包括:表、存储过程、用户定义函数),此次演示的数据库中只有表,这里全选(如下图)。然后选择【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112107591-1704272585.png)
9、这里可以添加对表进行筛选的条件,点击【添加】进行筛选条件的条件。
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112140904-957168514.png)
10、添加筛选条件如下图, 这里演示无需添加,所以点击【取消】后选择【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112149466-26950890.png)
上图中右侧就是筛选的SQL语句。
11、设置快照代理。如下图:
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112541669-134271921.png)
12、更改同步频率如下图,默认设置,直接【确定】即可
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112701513-188671975.png)
13、设置代理安全性(如下图),点击【安全设置】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112736450-1180306698.png)
14、设置完成后【确定】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112801107-2071940946.png)
15、安全设置完成后如下图,然后点击【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112815794-872403268.png)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112823232-1618782821.png)
16、填写发布名称
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112843560-1369060151.png)
17、完成发布。如下图:
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112854372-119682527.png)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030112904810-96328053.png)
18、发布成功后【复制】下面会发生改变,如下图
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030133824966-521721328.png)
二、订阅
订阅是对数据库发布的快照进行同步,将发布的数据源数据同步到目标数据库。具体订阅过程如下;
1、找到数据库服务器下的【复制】--【本地订阅】,选择【新建订阅】。如下图:
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030135339466-1649083004.png)
2、默认选择下一步
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030135428357-354208261.png)
3、选择订阅的发布(如下图),选择【查找SQL Server发布服务器...】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030135438935-1240120537.png)
4、填写发布服务器名称,然后【连接】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030135449075-1599696222.png)
5、选择此次要同步的数据库 EP-2(如下图),然后选择【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030135459560-509466872.png)
6、选择分发代理的位置(如下图),可根据具体业务具体分析如何选择,这里选择由分发服务器管理订阅,点击【下一步】
选择推送订阅模式,请求订阅还有点问题,在改。
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030135510857-1400719580.png)
7、选择订阅服务器上的存放同步过来的数据的一个或者多个目标数据库,这里选择ES-2。如下图:
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030135628997-819962213.png)
8、也可以选择【新建数据库】(如下图),输入数据库名称,然后【确定】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030135553419-674539291.png)
9、若要添加多个订阅数据库,则点击【添加订阅服务器】(如下图),然后连接到其他订阅服务器,并选择或创建数据库即可。
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113232450-218533164.png)
10、订阅服务器确定之后,选择【下一步】(如下图)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113243263-1425989788.png)
11、设置分发代理的安全性(如下图),然后点击【···】设置安全选项,【确定】后选择【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113254950-531370024.png)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113304091-354179162.png)
12、设置同步的代理计划,这里默认选择(如下图),然后【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113323732-1814685050.png)
13、初始化订阅(如下图),默认选择,然后【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113342075-1045335184.png)
14、默认选择,然后【下一步】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113356966-1716440965.png)
15、点击【完成】,完成订阅(如下图)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113407060-2044924385.png)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113418341-936127575.png)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113608154-1865739391.png)
这样就完成了发布与订阅的整个流程。
16、回到发布服务器【复制】-【本地发布】-【EP-2】下可以看到关联的订阅
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113657466-1420525145.png)
17、右键【启动复制监视器(M)】
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113707419-836549397.png)
![](https://images2015.cnblogs.com/blog/829495/201510/829495-20151030113718107-1802463413.png)
如果在初始化订阅的过程中出现无法连接到数据库的情况,很可能是防火墙的入站规则中未添加“1433”端口,因为SQL Server2012默认开启允许远程连接的。
另外就是SQL Server的一些服务未开启,请到配置文件中开启。
2015.10.28 9:40 willem 数据库同步操作步骤整理记录
2016.4.14 17:21 willem 笔记更新
不积跬步,无以至千里;不积小流,无以成江海.