架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15713|回复: 2

[资料] SQL Server 跨服务器同步或定时同步数据库

[复制链接]
发表于 2017-1-5 15:56:05 | 显示全部楼层 |阅读模式
在本地局域网内或者外网有两台安装有sqlserver2008的机器(注意:已发布的快照版本无法向老版本数据库兼容,意味着2008下创建的事务或快照发布,无法被sqlserver2005订阅
1.在要发布的数据库上创建一个数据库(这里叫做dnt_new),然后在该数据库实例的左侧导航的“复制”--“本地发布”上击右键,然后选择“新建发布”,如下:
0_1325662262hfAZ.gif
  这样,系统就会启动‘发布向导’来引导大家,点击"下一步”,然后在当前窗口中选择要发布的数据库,如下:
0_1325662348ACel.gif
点击下一步,然后在接下来的窗口中选择“事务发布”,如下图:
0_1325662394wd1w.gif
然后点击下一步,选择要同步的数据对象(数据表,存储过程,自定义函数等),如下:
0_1325662437qp84.gif
然后就是“项目问题窗口”,因为之前已用dbo身份登陆,所以这里只要点击下一步即可,如下图:
0_1325662518bSP5.gif
这里可以通过“添加”方式来过滤要同步的数据信息,因为要做全表数据同步,所以这里不设置
0_1325662563Iz3s.gif
然后在‘代理安全性’窗口中,点击“安全设置”按钮:
0_1325662615lz4l.gif
在弹出的‘安全设置’子窗口中设置如下信息,并点击‘确定’按钮:
0_1325662671DgTC.gif
然后点击下一步按钮:
0_1325662706Hbuj.gif
选择“创建发布”复选框,然后点击下一步,这时向导会让您输入“发布名称”,这里命名为“dnt_new_snap”:
0_1325662776iQJI.gif
点击“完成按钮”,这里系统就开始根据之前收集的信息来创建该发布对象信息了,如下:
0_1325662829cGUQ.gif
  到这里,‘创建发布’的工作就完成了。下面介绍一下创建订阅的流程。在另一个机器的sqlserver实例上,打开该实例并使用“复制”—“新建订阅”,如下图:
0_13256628739Zb3.gif
这时系统就会启动“新建订阅”向导,点击下一步,并在“发布”窗口中的“发布服务器”下拉框中选择“查打发布sqlserver服务器”项,如下
0_1325663805evP6.gif
然后在弹出窗口中选择之前‘创建发布时所使用的数据库实例’并进行验进登陆,这时,发布服务器的信息就会出现在下方的列表框中:
0_1325663835PqR5.gif
选择之前我们创建的那个发布对象“dnt_new_snap”,接着点击下一步:
0_1325663857amVM.gif
在分发代理位置窗口中,选择“在分布服务器上运行所有代理”,然后点击下一步,然后在“订阅服务器”窗口中的订阅数据库列表框中选择一下要同步的订阅数据库名称(可新建):
0_1325663887nL34.gif
点击下一步,然后在‘分发代理安全性’窗口中,点击列表框中的‘…’来设置安装性,并做如下设置(注意红框部分):
0_1325663911zwRh.gif
然后点击“确定”按钮,之后在向导上点击“下一步”按钮,这时系统就会显示“代理计划执行方式”窗口,选择“连续运行”或者自定义时间(自定义可以实现定时备份数据):
0_13256639457343.gif
点击下一步,在窗口中选择“立即执行”:
0_1325663969ZR5O.gif
完成了这一步,点击下一步按钮,然后就可以创建该订阅对象了,如果一切运行正常,sqlserver就会从‘发布服务器’那边,将之前指定的数据表和存储过程等同步到当前的‘订阅数据库’中了。这时我们可以在源数据库(发布服务器)上的表中添加或修改指定表数据信息,在等待1-3秒(或设定的时间)之后,所做的添加和修改就会同步到‘订阅数据库’上的相应表中
注:本文中的两台机器必定是可以使用sqlserver客户端互联(在sqlserver studio中设置'允许远程链接',同时要设置相应的ip地址,以及在配置管理器中开启tcp/ip协议即可)
注:
局域网SQL远程连接方法:
SQL2005 SQL2008远程连接配置方法
第一步(SQL2005、SQL2008):
开始-->程序-->Microsoft SQL Server 2008(或2005)-->配置工具-->SQL Server 配置管理器-->SQL Server网络配置-->MSSQLSERVER(这个名称以具体实例名为准) 的协议-->TCP/IP-->右键-->启用
第二步:
SQL2005:
开始-->程序-->Microsoft SQL Server 2005-->配置工具-->SQL Server 2005外围应用配置器-->服务和连接的外围应用配置器 -->Database Engine -->远程连接,选择本地连接和远程连接并选上同时使用Tcp/Ip和named pipes.
SQL2008:
打开SQL Server Management Studio-->在左边[对象资源管理器]中选择第一项(主数据库引擎)-->右键-->方面-->在方面的下拉列表中选择[外围应用配置器]-->将RemoteDacEnable置为True.
Express:
如果XP有开防火墙,在例外里面要加入以下两个程序:
C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBinnsqlservr.exe,
C:Program FilesMicrosoft SQL Server90Sharedsqlbrowser.exe
不仅要关闭Windows防火墙,杀毒软件防火墙也要关闭。
第三步:
开始-->程序-->Microsoft SQL Server 2008(或2005)-->配置工具-->SQL Server 配置管理器-->SQL Server服务-->右击SQL Server(MSSQLSERVER) (注:括号内以具体实例名为准)-->重新启动





上一篇:c# M2Mqtt连接Apollo MQTT服务器[附源码]
下一篇:SQL Server 复制需要有实际的服务器名称才能连接到服务器
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2017-1-5 16:06:39 | 显示全部楼层
http://blog.csdn.net/sqlserverdiscovery/article/details/17059073

非常不错的文章
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-3-24 17:36:08 | 显示全部楼层
可以测试以下,谢谢
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-27 03:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表