SQL数据库自带的(发布,订阅)数据同步问题

SQL数据库自带的(发布,订阅)数据同步问题,第1张

回答1:再次同步只会同步变化的数据。因此不必担心数据量大的问题

回答2:可以测试一次发布/订阅所需要的总体时间,建议同步时间比这个总时间略大

回答3:发布订阅无法做到实时同步。如需实时同步,可尝试做日志传送、镜像,这两种可以达到用户感官上的实时同步

sql server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份。这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用。它是一种优于文件备份的数据库备份解决方案。

数据的同步中主要考虑的三部分,可以理解成三台主机。发布服务器,分发服务器和订阅服务器;可以从字面的意思理解,要实现的功能实际就是让订阅服务器通过分发服务器保持数据及时地和发布服务器上的数据一致。整个执行过程是这样一来的:

a订阅服务器应该有个初始化,一般来说我们开始做这个同步任务的时候,发布服务器已经有了相当的数据量了,而我们的订阅服务器应该是新建的服务。即使发布中没有数据,也需要把他的数据库结构初始化到订阅服务器上。

b我采用的是事物复制,发布服务器的数据发生变化后,相当于触发了一个更新 *** 作,而事物复制可以在设定的时间把数据更新的 *** 作更新到订阅服务器中去。当然,这个 *** 作需要经过分发服务器。在我的测试中,我是把发布服务器和分发服务器设置为同一台主机,可以顺利实现数据在案分钟内同步。

>>在 *** 作的起始,需要考虑订阅服务器是否有和发布服务器相同结构的数据库,如果有,需要做的就是使用代理把发布服务器现有的数据初始化过去;如果没有对应的相同结构的数据库,就需要要把发布服务器当前的数据库结构和当前的数据都初始化到订阅服务器中。当然这里所说的 *** 作都是在下面的实施步骤中实现,不需要单独处理。

>>如果说对Windows系统有所要求的话,就应该保证这三个服务器(发布,分发,订阅)在同个域中,以同一个域管理员帐号身份运行, *** 作如下:

a进入相应的服务器,控制面板->服务->SQLSERVERAGENT,设置登录,三台服务器同样设置。

b *** 作前,也不允许这三台服务器对应的别名使用呢称,比如"LOCAL",这样的别名要删除重建,可以采用主机名,比如:server02

下面开始执行数据库同步的 *** 作:

>>配置发布服务器和分发服务器:

a选中对应服务器的注册名->工具->复制->配置发布、订阅和分发,直接按照默认设置向下执行,直到完成。关闭。

b再一次选中这个服务器服务器的注册名->工具->复制->配置发布、订阅和分发,可以看到这次界面和步骤a中的界面有所不同,我们只需要配置一下 发布服务器,发布数据库,订阅服务器。(我的发布数据库采用的是事物性的)。点“确定”完成 *** 作。<标记P>

>>创建发布,可以选中相应的注册,用工具->复制->创建和管理发布或者在该注册下面的 复制->发布内容 选中后,在右边空白处,右键,新建发布,来创建你的发布。我选择的是事物发布,按照默认设置,选择你要发布的表或其他对象,其他地方不需要修改,直到完成 *** 作。

>>修改发布属性:选择“状态”->立即运行代理程序;代理程序属性->设置你的调度,比如一分钟一次。(调度->编辑->更改;通知->写入windows应用程序事件日志),"确定"完成 *** 作。

>>创建订阅:选择发布服务器对应的注册,复制->发布内容->在这个内容上右键,强制新订阅,->"下一步",选择订阅服务器(在标记P那一步选择的订阅服务器)->“下一步”->选择你有的数据库,或者新建一个数据库

->"下一步"-> 修改你需要的调度->按照默认设置,直到完成。

到这里就可以完成了,修改发布服务器数据库中的内容,等一两分钟,数据就同步到订阅服务器中了。不过由于第一次执行需要快照,如果发布库中有一定的内容,第一次执行可能需要几分钟时间。如果数据不能同步过去,大家是调度设置时间太短(比如1分钟)使快照不能完成,所以后面的步骤无法执行,遇到这样的情况的话,

选中你发布的内容,设置属性,在“状态”中“立即运行代理程序”,这样的话,数据会马上同步过去的。

1测试环境:Windows Server 2008 R2 SP1 + SQL Server 2008 R2 SP1

2安装FTP 组件,FTP全部打勾,并在IIS里面新建FTP站点,并设置,这里要注意的地方有两点。

第一:要设置一个正常的登录用户,有密码和名字的那种,测试的时候,我同时也开启了匿名用户

第二:就是FTP 的目录调整好,一般可能会调整两次以上,做好再调整的准备,原则是,所制定的位置就是发布服务器的生成位置,并在设置的时候设置正确。

3防火墙,防火墙要设置好,避免测试的时候,制造麻烦。可以先关闭。

4Hosts ,这里要在两台服务器Host里面把自己和对方的计算机名字对应iP地址都写在双方的两个服务器里面,用与 在连接的时候使用计算机名进行连接,看到很多网友都说要使用计算机名登录,而不是IP地址。

5尽量用Windows 身份验证,同时要开启sa 的登录方式。用户必须在sysadmin 组里面,这里说的组是SQL Server 的用户组。

6两台电脑一定要启动 SQL Server 代理

7建立的所有数据库的恢复模式为:完整

8SQL Server 的安装 一定要记得 ,将 数据库复制等复选框都选择上,之选一个关系数据库是不行的,其包含的复选框也都选择上。

以上就是关于SQL数据库自带的(发布,订阅)数据同步问题全部的内容,包括:SQL数据库自带的(发布,订阅)数据同步问题、MS SQL Server 2008数据库怎么实现数据库同步备份、SQl 2000数据库同步问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10149509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存