下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

SQL Server数据库同步问题(上篇)

作者:课课家教育     来源: http://www.kokojia.com点击数:2444发布时间: 2017-08-27 09:00:09

标签: 数据库SQL Server数据库同步

  关于数据同步主要有两个层面的同步,一是通过后台程序编码实现数据同步,二是直接作用于数据库,在数据库层面实现数据的同步。通过程序编码实现数据同步,其主要的实现思路很容易理解,即有就更新,无则新增,其他情况日志记录,就不做过多的介绍,这里主要讲述的是第二个层面的数据同步,即在数据库层面实现数据同步。

  数据库层面的数据库同步主要有三种方式:通过发布/订阅的方式实现同步,通过SQLJOB方式实现数据同步,通过ServiceBroker消息队列的方式实现数据同步。

  下面就是这三种数据同步方式其中之一的通过发布/订阅的详细情况!

  通过发布/订阅的方式实现同步概述:

  发布/订阅是SqlServer自带的一种数据库备份的机制,通过该机制可以快速的实现数据的备份同步,不用编写任何的代码。

  此种数据同步的方式存在的以下的一些问题:

  1.表结构不能更改,同步双方的表结构必须一致,一旦表结构发生更改需要重新生成数据库快照。

  2.对于大数据量的同步没有可靠的保证。

  3.网络不稳定的情况下同步也不能保证。

  总的来说,这种数据备份同步的方式,在表结构一致、数据量不是特别大的情况下还是非常高效的一种同步方式。

  (一)修改FTP连接

  在数据同步的时候,发布服务器需要生成数据快照,保存在本地一个文件夹中。这个当然没有任何问题,但是在订阅服务器需要能够读取这个文件夹中的快照文件包。

  在同一个网段内,我们使用共享文件夹的确可以读取到这些文件,如果是公网和内网之间的同步,是公网非一个网段同步怎么办,我们这里可以使用FTP来连接下来

  选择本地发布右键属性:

(一)修改FTP连接    在数据同步的时候,发布服务器需要生成数据快照,保存在本地一个文件夹中。这个当然没有任何问题,但是在订阅服务器需要能够读取这个文件夹中的快照文件包。    在同一个网段内,我们使用共享文件夹的确可以读取到这些文件,如果是公网和内网之间的同步,是公网非一个网段同步怎么办,我们这里可以使用FTP来连接下来    选择本地发布右键属性:

  选择允许订阅服务器使用FTP下载快照文件。这里使用ftp就可以很好的解决非同一网段读取快照文件的问题。

  上面FTP的相关信息可以根据自己的需要设置,并且这里一定要注意FTP根文件夹开始的路径一定要指向快照生成的位置,填写路径比如”/ftp/”.应用确定之后会提升是否要重新生成快照文件,这里重新生成一次就好了,然后到客户机使用FTP客户端下载一次看是否可以,当然同步的时候不是使用客户端下载。

  FTP服务端很多,在发布服务器上新建FTP站点的方式很多,Windows2003有自带的ftp服务,也可以使用Server_U,总之要能够下载快照文件就可以。

  (二)查看发布程序运行状况

(一)修改FTP连接    在数据同步的时候,发布服务器需要生成数据快照,保存在本地一个文件夹中。这个当然没有任何问题,但是在订阅服务器需要能够读取这个文件夹中的快照文件包。    在同一个网段内,我们使用共享文件夹的确可以读取到这些文件,如果是公网和内网之间的同步,是公网非一个网段同步怎么办,我们这里可以使用FTP来连接下来    选择本地发布右键属性:

  如果数据很大,这里生成的快照可能会很慢的,点击监视可以查看具体运行状况

如果数据很大,这里生成的快照可能会很慢的,点击监视可以查看具体运行状况

  在这里面可以看到运行的状况,如果任何一个发布出现文件,上面都会显示警告的

  (三)新建订阅

在这里面可以看到运行的状况,如果任何一个发布出现文件,上面都会显示警告的    (三)新建订阅

在这里面可以看到运行的状况,如果任何一个发布出现文件,上面都会显示警告的    (三)新建订阅

  选择发布服务器,即新建发布的那台机器

  (四)选择订阅内容

选择发布服务器,即新建发布的那台机器    (四)选择订阅内容

  (五)分发代理服务器选择

(五)分发代理服务器选择

  这里也可以选择多个订阅服务器,上面已经解释过发布订阅的一个构造,订阅服务器就好比报刊的读者,某一个发行报刊可以有多个读者

  (六)分发代理安全性设置

 这里也可以选择多个订阅服务器,上面已经解释过发布订阅的一个构造,订阅服务器就好比报刊的读者,某一个发行报刊可以有多个读者    (六)分发代理安全性设置

  选择在windows账户下运行,用户名和密码填写发布服务器的用户名和密码

  连接到分发服务器使用SQLServer登录名:这里填写发布服务器,也就是上面设置的那台机器的。设置好之后下一步下一步完成就可以了。

  (七)单个用户问题

选择在windows账户下运行,用户名和密码填写发布服务器的用户名和密码    连接到分发服务器使用SQLServer登录名:这里填写发布服务器,也就是上面设置的那台机器的。设置好之后下一步下一步完成就可以了。    (七)单个用户问题

  (八)无法打开明确指定的数据库

(八)无法打开明确指定的数据库

  数据库日志中显示,服务打开明确的数据库,这里就要检查数据访问权限是否足够。

  当然还有一种情况

 数据库日志中显示,服务打开明确的数据库,这里就要检查数据访问权限是否足够。    当然还有一种情况

  如果出现这个问题尝试关闭这个服务试试!不能确保一定是这个问题,但是这个服务也能够引起这样的问题

  (九)进程无法冲FTP站点下载文件

 如果出现这个问题尝试关闭这个服务试试!不能确保一定是这个问题,但是这个服务也能够引起这样的问题    (九)进程无法冲FTP站点下载文件

  这个问题遇到的太多了,出现这种问题很多,下载文件过大下载中断,但是本人做这个同步的时候因为涉及到多台机器,有些机器是正常运行有些机器出现这个问题,在使用万网的机器的时候就会有这样一个问题,花费了很长时间这是万网对端口禁用的问题

  (十)分布式事务

  上面使用事务复制,多台机器之间建立事务关系,这应该属于分布式事务,所以在windows上必须开启相关服务!

(十)分布式事务    上面使用事务复制,多台机器之间建立事务关系,这应该属于分布式事务,所以在windows上必须开启相关服务!

  这个服务需要开启。

  还有MSDTC也要开启相关设置。在命令行输入dcomcnfg命令,我的电脑àMSDTCà安全配置

 这个服务需要开启。    还有MSDTC也要开启相关设置。在命令行输入dcomcnfg命令,我的电脑àMSDTCà安全配置

 这个服务需要开启。    还有MSDTC也要开启相关设置。在命令行输入dcomcnfg命令,我的电脑àMSDTCà安全配置

  以上是windows2003上面的配置图

以上是windows2003上面的配置图

  这个是win7系统配置效果图

  小编结语:

  本文讲了数据库同步的第一种方式,更多内容尽在课课家教育!

赞(16)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程