问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sqlserver不同数据库怎么让数据实时同步?

发布网友 发布时间:2022-04-23 00:51

我来回答

2个回答

懂视网 时间:2022-05-01 17:21

事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的。这里以sqlserver2008的事务发布功能为例,对发布订阅的方式简要介绍一下操作流程,一方面做个总结备份,一方面与大家进行一下分享和交流。费话就不多说了,进入一下今天的正题:)

     这里要说明一下环境:首先我在本地局域网内有两台安装有sqlserver2008的机器(注意:已发布的快照版本无法向老版本数据库兼容,意味着2008下创建的事务或快照发布,无法被sqlserver2005订阅)。当然这两台机器要放在同一个网段,一方面出现性能和安全性考虑,另一方面是我目前还没有找到跨不同网段的快照应用方案(可行性的那种)。

     好了,这里我以我们产品数据库为准来介绍一下如何通过发布订阅的方式来进行数据同步。

     首先,在要发布的数据库上创建一个我们的产品数据库(这里叫做dnt_new),然后在该数据库实例的左侧导航的“复制”--“本地发布”上击右键,然后选择“新建发布”,如下:

      技术分享

 

      这样,系统就会启动‘发布向导’来引导大家,这里我们在欢迎界面下点击"下一步”,然后在当前窗口中选择要发布的数据库,如下:

技术分享

      点击下一步,然后在接下来的窗口中选择“事务发布”,如下图:

技术分享

        然后点击下一步,选择要同步的数据对象(数据表,存储过程,自定义函数等),如下:

技术分享

    

       然后就是“项目问题窗口”,因为之前已用dbo身份登陆,所以这里只要点击下一步即可,如下图:

技术分享

        这里可以通过“添加”方式来过滤要同步的数据信息,因为要做全表数据同步,所以这里就不做设置了,感兴趣的朋友可以自己研究一下,这里接着点击下一步,如下:

技术分享

      然后在‘代理安全性’窗口中,点击“安全设置”按钮:

技术分享

       在弹出的‘安全设置’子窗口中设置如下信息,并点击‘确定’按钮:

技术分享

       然后点击下一步按钮:

技术分享

      选择“创建发布”复选框,然后点击下一步,这时向导会让您输入“发布名称”,这里命名为“dnt_new_snap”:

技术分享

 

      点击“完成按钮”,这里系统就开始根据之前收集的信息来创建该发布对象信息了,如下:

技术分享

 

 

      到这里,‘创建发布’的工作就完成了。下面介绍一下创建订阅的流程。在另一个机器的sqlserver实例上,打开该实例并使用“复制”—“新建订阅”,如下图:

技术分享 

 

        这时系统就会启动“新建订阅”向导,点击下一步,并在“发布”窗口中的“发布服务器”下拉框中选择“查打发布sqlserver服务器”项,如下:

技术分享

     然后在弹出窗口中选择之前‘创建发布时所使用的数据库实例’并进行验进登陆,这时,发布服务器的信息就会出现在下方的列表框中:

技术分享 

 

        选择之前我们创建的那个发布对象“dnt_new_snap”,接着点击下一步:

技术分享

       在分发代理位置窗口中,选择“在分布服务器上运行所有代理”,然后点击下一步,然后在“订阅服务器”窗口中的订阅数据库列表框中选择一下要同步的订阅数据库名称(可新建):

技术分享

        点击下一步,然后在‘分发代理安全性’窗口中,点击列表框中的‘…’来设置安装性,并做如下设置(注意红框部分):

技术分享

 

 

     然后点击“确定”按钮,之后在向导上点击“下一步”按钮,这时系统就会显示“代理计划执行方式”窗口,选择“连续运行”:

技术分享

 

      点击下一步,在窗口中选择“立即执行”:

技术分享

       完成了这一步,点击下一步按钮,然后就可以创建该订阅对象了,如果一切运行正常,sqlserver就会从‘发布服务器’那边,将之前指定的数据表和存储过程等同步到当前的‘订阅数据库’中了。

       这时我们可以在源数据库(发布服务器)上的表中添加或修改指定表数据信息,在等待1-3秒之后,所做的添加和修改就会同步到‘订阅数据库’上的相应表中。看来目的是达到了,呵呵。

使用Sqlserver事务发布实现数据同步

标签:引导   数据库   运行   导航   blog   今天   height   指定   功能   

热心网友 时间:2022-05-01 14:29

可以使用数据库比较与同步工具DBSync,具体做法:先建立一个任务:以A为同步之源,以B为同步之目标,同步方式设置为增量同步,以后,只要A发生增删改,就会同步更新至B。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
橙子冷藏能保存多久 橙子会过期吗 新鲜橙子如何保存更久 橙子保鲜剂对人体有害吗 粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 如何用什么软件可以实现数据库同步 数据库同步 到底有那些方法打QQ中的特殊符号啊?如qq上的能显示的特殊符号怎么打出来的呀,如:╬ 手机QQ密码$该怎么打,用什么输入法,打$时老是变成$怎么办 有2个数据库,怎么实现数据同步 两台数据库服务器 如何进行数据同步操作 vivo怎么免费卡主题 金银蛋清汤菠菜的做法,金银蛋清汤菠菜怎么做 请问皮蛋瘦肉粥里面放些菠菜沫可以吗?皮蛋和菠菜能在一起吃吗 vivo手机怎样永久使用付费主题? 菠菜皮蛋海鲜粥的做法,菠菜皮蛋海鲜粥怎么做 vivo 怎么卡主题 豆腐拌皮蛋和波菜能同吃吗? 如何卡主题vivo 微信怎么拉黑人,在线等。急 皮蛋旱菜汤(皮蛋自制)的家常做法怎么做好 吃了皮蛋菠菜会中毒吗 iqoo手机如何卡永久主题? 试用主题怎么永久 vivo vivox21i主题怎么卡? ¥这个符号,在QQ密码上怎么打出来 Sql数据库同步怎么做? QQ为什么会。。。 MySQL 数据库怎么同步 服务器用的是sql server 2008 R2,怎样实现对此数据库的同步操作 怎样实现数据库实时同步?这种思路是否可行? qq圖標怎麼開啊? SQl 2000数据库同步问题 请问懂QQ的 怎么使Mysql数据同步 QQ里呢称中怎么加特殊字符 如何把QQ邮箱批量去掉后缀? 如*&%$#@qq.com 改为*&%$# mysql怎么实时同步两个数据库 QQ上一些很奇怪的字和符号是怎么打出来的啊? 如何实现两个Oracle数据库的数据同步? QQ空间代码在哪里,怎么找? qq网警介入代码复制 牛肉怎样煮熟后才能切成片? 煮好的牛肉不容易切成片怎么回事 我煮的牛肉不能切片,太软了