SQL Server 2008数据库同步配置详细图解

    作者:课课家教育更新于: 2017-04-25 16:07:33

      SqlServer数据库同步是项目中常用到的环节,若一个项目中的数据同时存在于不同的数据库服务器中,而这些数据库需要被多个不同的网域调用时,配置SqlServer数据库同步是个比较好的解决方案。SqlServer数据库同步的配置比较烦锁,下面对其配置详细步骤进行介绍:

      一、数据复制前提条件

      1.数据库故障还原模型必需为完全还原模型。

      2.所有被同步的数据表都必须要用主键。

      3.发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。

      4.SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。

      二、解决前提条件实施步骤

      1.将数据库故障还原模型调整为完全还原模型。具体步骤如下:

      打开SQLSERVER企业管理器à选择对应的数据库à单击右键选择属性à选择”选项”à故障还原模型选择完全还原模型。

      2.所有被同步的数据表都必须要用主键。(主要指事务复制)如果没有主键的数据表,增加一个字段名称为id,类型为int型,标识为自增1的字段。

      3.发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。

      发布服务器配置完成以后,我们可能进行订阅服务器的配置了。

      三、配置订阅服务器

      订阅服务器有两种方式。一种是推式订阅,一种是拉式订阅。

      具体选择那一种订阅方式。需要考虑几方面的因素:

      ①对网络的考虑比如外网远程服务器需要订阅本地数据,由于本地服务器没有公网IP,则需要采取由本地向远程服务器进行推式订阅,即强制订阅的形式。

      ②对服务器性能的考虑比如订阅服务器和分发服务器都是外网IP地址或者内网IP地址。但是要求复制过程中不会对分发服务器产生过大的压力。此时,我们可以采取拉式订阅的方式。拉式订阅消耗的是订阅服务器的资源,而不会对分发服务器的性能产生大的影响

      数据库同步可以是同一个服务器之间不同数据库之间数据同步,也可以是局域网内不同服务器间数据库的同步。

      下面具体说一下步骤,首先我们说一下发布服务器上的准备工作和条件,先把SqlServer代理设置为自启动;对事务发布,确保数据库表要有主键;新建一个文件夹,设置为共享。

      首先我们设置一下配置分发,如果之前做过配置分发设置,就是下图的效果,可以直接创建本地发布。

    SQL Server 2008数据库同步配置详细图解_数据库_数据库配置_SQL Server 2008_课课家教育

      如果之前没做过配置分发设置,则在“复制”上右键——配置分发,如下图

    如果之前没做过配置分发设置,则在“复制”上右键——配置分发,如下图

      接着,一直下一步即可,在快照文件夹出注意一下

    接着,一直下一步即可,在快照文件夹出注意一下

    接着,一直下一步即可,在快照文件夹出注意一下

      下一步,如果一开始没有设置SqlServer代理为自启动,就会提示这个

    下一步,如果一开始没有设置SqlServer代理为自启动,就会提示这个

      下一步,这个地方填写一开始创建好的共享文件夹地址,如F:\\ShareFolder

    下一步,这个地方填写一开始创建好的共享文件夹地址,如F:\\ShareFolder

      下一步,默认填写

    下一步,默认填写

    下一步,默认填写

      下一步,勾选配置分发

    下一步,勾选配置分发

    下一步,勾选配置分发

      点完成,可以看到:

     点完成,可以看到:

     点完成,可以看到:

      至此配置分发已经好了,接着就是创建本地发布了,

    至此配置分发已经好了,接着就是创建本地发布了

      下一步选择要同步的数据库

    下一步选择要同步的数据库

    下一步选择要同步的数据库

      这个地方选择事务发布,具体的每个发布可以看说明,后面也会讲到

    这个地方选择事务发布,具体的每个发布可以看说明,后面也会讲到

      下一步,如果你的数据库中有视图等,也会显示出来,勾选你要同步的对象

     下一步,如果你的数据库中有视图等,也会显示出来,勾选你要同步的对象

      下一步,添加筛选项,如果需要就添加,不需要直接下一步,添加的界面右图

    下一步,添加筛选项,如果需要就添加,不需要直接下一步,添加的界面右图

    下一步,添加筛选项,如果需要就添加,不需要直接下一步,添加的界面右图

      这里不做添加,下一步,勾选第一项

    这里不做添加,下一步,勾选第一项

      下一步,点安全设置,如下设置:

    下一步,点安全设置,如下设置

    下一步,点安全设置,如下设置

      确定后如下:

     确定后如下:

      下一步,勾选创建发布,下一步,填写一个发布名称

     下一步,勾选创建发布,下一步,填写一个发布名称

     下一步,勾选创建发布,下一步,填写一个发布名称

      点完成

    点完成

    点完成

          至此本地发布就创建好了,这时再展开复制-本地发布可以看到刚刚创建好的本地发布test

    至此本地发布就创建好了,这时再展开复制-本地发布可以看到刚刚创建好的本地发布test

      创建好了本地发布就要创建订阅了,为了方便就在本机做订阅,如果在其他服务器上做订阅流程是一样的只是在选择发布服务器时有点区别,下面会讲到

    创建好了本地发布就要创建订阅了,为了方便就在本机做订阅,如果在其他服务器上做订阅流程是一样的只是在选择发布服务器时有点区别,下面会讲到

    创建好了本地发布就要创建订阅了,为了方便就在本机做订阅,如果在其他服务器上做订阅流程是一样的只是在选择发布服务器时有点区别,下面会讲到

      同样下一步,如果这地方是在本机订阅,则直接选择数据库和发布test,如果是订阅其他服务器上的发布,可以展开发布服务器,选择“查找sqlserver发布服务器”

    同样下一步,如果这地方是在本机订阅,则直接选择数据库和发布test,如果是订阅其他服务器上的发布,可以展开发布服务器,选择“查找sqlserver发布服务器”

    同样下一步,如果这地方是在本机订阅,则直接选择数据库和发布test,如果是订阅其他服务器上的发布,可以展开发布服务器,选择“查找sqlserver发布服务器”

      这个时候会弹出数据库登录界面,这里需要注意一下,服务器登录要用计算机名称,不能用IP地址或别名,还要注意,这个地方要链接发布服务器,因为确保发布服务器上数据库允许远程链接。链接上之后会在刚才的界面展示这个服务器上的发布,选择好发布,下一步即可,勾选第一项。

    这个时候会弹出数据库登录界面,这里需要注意一下,服务器登录要用计算机名称,不能用IP地址或别名,还要注意,这个地方要链接发布服务器,因为确保发布服务器上数据库允许远程链接。链接上之后会在刚才的界面展示这个服务器上的发布,选择好发布,下一步即可,勾选第一项。

    这个时候会弹出数据库登录界面,这里需要注意一下,服务器登录要用计算机名称,不能用IP地址或别名,还要注意,这个地方要链接发布服务器,因为确保发布服务器上数据库允许远程链接。链接上之后会在刚才的界面展示这个服务器上的发布,选择好发布,下一步即可,勾选第一项。

      下一步,勾选上订阅服务器,选择订阅数据库,只要选择新建数据库就可以了。这时会弹出创建数据库对话框,创建一个数据库,

     下一步,勾选上订阅服务器,选择订阅数据库,只要选择新建数据库就可以了。这时会弹出创建数据库对话框,创建一个数据库,

     下一步,勾选上订阅服务器,选择订阅数据库,只要选择新建数据库就可以了。这时会弹出创建数据库对话框,创建一个数据库,

      下一步,设置安全性

     下一步,勾选上订阅服务器,选择订阅数据库,只要选择新建数据库就可以了。这时会弹出创建数据库对话框,创建一个数据库,

      确定,下一步,同步计划选连续运行,初始化时间选择立即

    确定,下一步,同步计划选连续运行,初始化时间选择立即

      下一步,选择立即创建订阅,一直下一步即可,至完成。这个时候展开复制下的本地发布和本地订阅,可以看到发布和订阅都存在了。而且刚才创建的订阅数据库TestDataDY在数据库中也存在了。

    下一步,选择立即创建订阅,一直下一步即可,至完成。这个时候展开复制下的本地发布和本地订阅,可以看到发布和订阅都存在了。而且刚才创建的订阅数据库TestDataDY在数据库中也存在了。

      所有的工作都已经做好了,下面就是测试了。因为我们是把TestData作为发布的数据库,TestDataDY是订阅的数据库,因此我们在TestData数据库的表中添加或修改数据库,看TestDataDY数据库中的数据是否也跟着响应的改变。测试的过程可以自己手动的做一下。

      接下来我们说一下其他的东西,第一个就是一开始我们创建的共享文件夹,他叫快照文件夹,顾名思义就是用来存放快照的。我们可以找到这个文件夹并打开看一下,一开始是空的文件夹,当我创建了发布和订阅以后,在此打开可以看到,有四个以发布的数据库命名的文件。这些就是数据库TestData中的表的初始架构和数据。

    所有的工作都已经做好了,下面就是测试了。因为我们是把TestData作为发布的数据库,TestDataDY是订阅的数据库,因此我们在TestData数据库的表中添加或修改数据库,看TestDataDY数据库中的数据是否也跟着响应的改变。测试的过程可以自己手动的做一下。    接下来我们说一下其他的东西,第一个就是一开始我们创建的共享文件夹,他叫快照文件夹,顾名思义就是用来存放快照的。我们可以找到这个文件夹并打开看一下,一开始是空的文件夹,当我创建了发布和订阅以后,在此打开可以看到,有四个以发布的数据库命名的文件。这些就是数据库TestData中的表的初始架构和数据。

      回顾上面创建订阅的时候创建的订阅数据库,我们只是创建了数据库,而数据库中的表、字段等我们没有创建,当我们创建好订阅以后,这些表和字段都自动的创建好了,就是通过快照文件夹中的初始架构和数据来完成的。

      还有一个就是分发数据库distribution,他是可以找到的,他存在系统数据库中。

    回顾上面创建订阅的时候创建的订阅数据库,我们只是创建了数据库,而数据库中的表、字段等我们没有创建,当我们创建好订阅以后,这些表和字段都自动的创建好了,就是通过快照文件夹中的初始架构和数据来完成的。    还有一个就是分发数据库distribution,他是可以找到的,他存在系统数据库中。

      可以看到这个数据就一张表和一个字段,这个数据库主要的作用是用来存储历史记录、错误和新事务。

      接着就是发布类型了,发布类型有快照发布,事务发布,具有可更新订阅的事务发布和合并发布。

      快照发布:发布服务器按照预定的时间间隔向订阅服务器发送已发布数据的快照。他的工作机制是:发布服务器,将要发布的数据库整个做一个快照;订阅服务器的快照代理程序把发布服务器的快照读取过来,放在本地的快照文件夹内;订阅服务器的发布代理程序把快照文件夹中的快照发布到订阅服务器上。历史记录和快照记录在分发服务器中。

      事物发布:在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。他的基本原理:初始数据和架构(通过快照复制来完成),从这里可以体现出来快照复制,是所有复制的基础。快照复制在订阅服务器上建立了订阅数据库;发布服务器的数据修改后,写事务日志;分发服务器的日志读取代理读取发生改变的数据的事务日志,把这些事务日志保存在发布服务器的发布数据库中;分发服务器的分发代理程序将分发数据库中的事务日志分发到各个订阅服务器上,然后把历史记录和错误记录在分发数据库中。

      具有可更新订阅的事务发布:SQLServer订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。来自订阅服务器的事务被应用于发布服务器。

      合并发布:在订阅服务器收到已发布数据的初始快照后,发布服务器和订阅服务器可以独立更新已发布数据。更改会定期合并。MicrosoftSQLServerCompactEdition只能订阅合并发布。

      这几个发布的区别是:

      1、快照发布和事务发布是单向的,即A->B;合并发布是双向的,A->B,B->A。

      2、快照复制是复制所有的数据,而事务复制和合并复制是复制数据的更改。

      小编结语:

      以上就是复制的整个流程了,不过这个只是简单是数据同步。更多内容请继续关注课课家教育!

课课家教育

未登录