使用SQLServer事务发布实现数据同步(SQL2008)

交易功能已在SQLServer的很长一段时间,因为最近的数据同步方案已定,所以我们有机会研究它和快照了,发现有很多很好的功能和改进。在这里,以SQLServer2008的事务发布功能为例,简要介绍了操作过程的发布和订阅,总结在这一方面,和大家分享你的一只手。话不说,看看今天的话题:)

这里解释环境:首先我在本地局域网SQLServer2008两机(注:快照版本已经发布到数据库的兼容性,旧版本是2008创建的事务或快照不能发布SQLServer2005订阅)。当然,两机应放置在同一网段,和另一方面,性能和安全性的考虑,应考虑。另一方面,我还没有找到跨越不同网段的快照应用程序方案。

在这里,我以产品数据库为例,说明如何通过发布订阅来同步数据。

首先,我们创建一个数据库产品(称为dnt_new)我们要发布的数据库,然后复制导航数据库实例的左侧,在本地发布右键单击,然后选择新版本如下:





通过这种方式,系统将启动发布向导来指导您。在这里,我们单击欢迎界面,然后选择要在当前窗口中发布的数据库。



单击下一步,然后在下一个窗口中选择事务发布,如下所示:



然后单击下一步,选择数据对象(数据表、存储过程、自定义函数等)进行同步,如下所示:





Then it's the project problem window, because it has been landed with dbo, so just click on the next step here, as follows:



在这里,我们可以通过添加数据方式来同步数据信息,因为我们需要进行全表数据的同步,所以我们不在这里设置。有兴趣的朋友可以研究一下,然后点击Next。



然后,在代理安全窗口中,单击安全设置按钮:



在弹出的安全设置子窗口中设置以下信息,然后单击确定按钮:



然后单击Next按钮:



选择创建一个发布检查框,然后单击下一步,当向导让你进入释放的名字,叫dnt_new_snap:





单击完成按钮,系统开始根据前面收集的信息创建发布对象信息,如下所示:







在这里,创建和发布的工作就完成了。下面是对创建一个订阅过程介绍。在另一台机器打开SQLServer实例,实例和使用复制新的订阅,如下:





在这一点上,系统将启动新建订阅向导,单击下一步,并在发布窗口下拉框的出版商出版的SQLServer服务器项目,如下:



然后在进入弹出窗口之前选择用于创建发布的数据库实例,并选中它。然后,发布者的信息将显示在下面的列表框中。





选择释放对象,dnt_new_snap,我们之前创建的,然后单击下一步:



在分发代理位置窗口中,选择要在分布式服务器上运行的所有代理,然后单击下一步,然后选择订阅窗口中的订阅数据库列表框中同步的订阅数据库名称。



单击下一步,然后在分发代理安全窗口,在列表框中点击设置,安装程序,进行如下设置(注意红框):







然后单击按钮,然后单击向导上的下一个按钮,系统将显示代理计划窗口,并选择继续运行。





单击下一步,选择窗口中的立即执行:



完成这一步,点击下一个按钮,然后你可以创建订阅对象,如果一切运行正常,SQLServer将从服务器发布前将有指定的数据表和存储同步到当前的订阅数据库中的过程。

此时,我们可以在源数据库(Publisher)中的表中添加或修改指定的表数据信息。在等待1-3秒后,添加和修改将同步到订阅数据库上相应的表。

好了,今天的内容就在这里。

注:本文中的两个机器必须能够使用SQLServer客户端连接(建立在SQLServer工作室允许远程链接,设置相应的IP地址,TCP / IP协议和开放在配置管理器)。

作者:daizhj,地震发生