公司有一台很重要SQL数据库,如何实现数据库实时同步?

Posted twelvezuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了公司有一台很重要SQL数据库,如何实现数据库实时同步?相关的知识,希望对你有一定的参考价值。

一、客户需求

客户现在有一个需求,公司有一台很重要SQL数据库,怕有一天服务器或者系统崩溃,导致所有SQL数据库数据丢失,客户想把数据库数据,通过某种方式将数库进行实时同步到另外一台服务器上,这样可以做个backup。

那客户这个需求如何实现呢?

二、解决方案:

通过分析与研究,使用的是SQL自带的发布与订阅功能,旧的SQL Server版本是2008,新安装一个SQL Server 2014版本,通过旧SQL Serer发布,再通过SQL Server2014订阅,来同步数据库数据。

三、实现过程

3.1、发布

发布前准备:首先两个服务器之间要能相互通讯,也就是能ping命令能通。平时我们连接数据库时,经常都是用的ip登陆,但是发布的时候不能这样,必须用服务器名称。

如果在不同网段的两台数据库服务器,可以在两台服务器hosts文件中添加对应的IP地址和主机名。

在旧服务器上,打开SQL Server数据库软件,进行发布SQL数据库。

1、旧服务器上,找到复制--本地发布,右击新建发布。

技术图片

 

2、选择需要发布的数据库名称。

技术图片

 

3、选择事务发布。

技术图片

 

4、在此数据库中,查看表,是否都可以正常的被发布,如下图所示,有些表无法正常发布,那该怎么办?

技术图片

 

5、发现是由于这些表中没有主键,需要给这三张表设置主键。

技术图片

 

6、设置主键。

技术图片

 

技术图片

 

技术图片

 

8、发现还有一个表无法发布。

技术图片

 

9、查看原因。

技术图片

 

10、需要将此表中的,阻止保存要求重新创建表的更改项勾选去掉。

技术图片

 

技术图片

 

11、去掉后,发现此表可以正常设置主键。

技术图片

 

12、可以看到所有的表都可以正常发布了。

技术图片

 

13、下一步。

技术图片

 

14、选择添加。

技术图片

 

15、选择立即创建快照并使快照保持可用状态,以初始化订阅。

技术图片

 

16、选择安全设置。

技术图片

 

17、输入数据库的sa用户名和密码。

技术图片

 

18、选择下一步。这时要注意,需要将数据库的代理服务开启,和SQL browser服务开启。

技术图片

 

19、创建发布。

技术图片

 

20、新建一个发布名称。

技术图片

 

21、发布成功。

技术图片

 

22、发布的同时,要保证如下此SQL目录可读写。

技术图片

 

3.2、订阅

1、要新服务器上,找到SQL Server代理服务器,将其开启,自动。

技术图片

 

2、找到SQL Browser将其服务开启。

技术图片

 

3、可以Ping通发布服务器的主机名。

技术图片

 

4、找到复制--本地订阅。

技术图片

 

5、选择下一步。

技术图片

 

6、选择查找SQL Server发布服务器。

技术图片

 

7、选择发布服务器的名称,或者手动输入发布服务器名称,输入发布服务器的用户名sa,发布服务器数据库sa密码。

技术图片

 

8、可以查询到刚才我们发布的数据库名称。

技术图片

 

9、选择在发布服务器 PRD-SQL上运行所有代理。

技术图片

 

10、选择新建数据库。

技术图片

 

技术图片

 

11、新建一个数据库,来同步发布服务器中的数据库。

技术图片

 

12、新建数据库完成,点击下一步。

技术图片

 

13、选择与订阅服务器的连接。

技术图片

 

14、输入订阅服务器数据库sa用户名和密码。

技术图片

 

15、选择下一步。

技术图片

 

16、选择连续运行。

技术图片

 

17、选择立即初始化时间。

技术图片

 

18、选择创建订阅。

技术图片

 

19、选择完成。

技术图片

 

20、订阅创建成功。

技术图片

 

3.3、测试结果

1、在发布服务器上查看同步状态。

技术图片

 

2、可以看到正在同步数据库表。

技术图片

 

技术图片

 

技术图片

 

3、同步完成后,可以查看数据库数据有多少条和订阅服务器进行对比,如果一样说明成功。

技术图片

 

4、在订阅服务器上,可以查看到所有的表都已经同步过来了。而且数据总条目都和发布服务器数据一样,实时数据备份成功。

当以后,发布服务器此数据库中有变动,订阅服务器数据库也会实时变动。

技术图片

 

以上是关于公司有一台很重要SQL数据库,如何实现数据库实时同步?的主要内容,如果未能解决你的问题,请参考以下文章

宏碁Swift 3:一台很值得买的准超极本

公司实现全网备份项目:(rsync+定时任务)

SQL Server2012远程访问第二个实列

如何实现两个SQL数据库的同步操作

Phoenix在2345公司的实践(转)

如何实现EXCEL实时提取SQL中表的数据?