码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-10-14 14:32:10      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:stat   完成后   点击   bfc   bdd   本地   查找   事务   丢失   

一、客户需求

客户现在有一个需求,公司有一台很重要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数据库,如何实现数据库实时同步?

标签:stat   完成后   点击   bfc   bdd   本地   查找   事务   丢失   

原文地址:https://www.cnblogs.com/twelvezuo/p/11671196.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!