• sql数据库发布、订阅同步方式操作


    Sql数据库发布订阅分为两个步骤:1、发布。2、订阅。首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅。

    一、发布。

    发布需要用实际的服务器名称,不能使用服务器的IP地址。能发布的信息包括表,视图,用户定义函数,存储过程。

     1.1、配置别名

    分发服务器:

    启动SQL Server配置管理器

    SQL Server网络配置“TCP/IP”启用

     

    Sql Native Client 10.0配置(32位)“别名”新建别名 如下图:

     

    说明: 别名指发布/订阅服务器名

    端口号指MSSqlserver使用的端口号

    服务器指发布/订阅服务器IP

    Sql Native Client 10.0配置“别名”新建别名 同上

    以上配置完成后,如果还是无法远程连接到数据库,则修改系统配置文件

    C:WINDOWSsystem32driversetchosts 加入

    10.240.15.10 实例名

    发布服务器、订阅服务器别名配置参考分发服务器配置

    说明:只支持服务器名+实例名+端口号方式访问。

    别名服务可只进行开启,不进行设置。

    1.3启动主数据库服务器上的SQL2008数据库服务如下图

     

    连接到SQl2008服务器

    具体发布过程如下:

    找到数据库服务器下的【复制】--【本地发布】,右键【新建发布】如下图:

     点击下一步:

     

    选择待发布的数据库

    选择发布类型:

     

    快照发布:发布服务器按预定的时间间隔向订阅服务器发送已发布数据的快照。(全量)。

    事务发布:在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。(变化的量)。

    具有可更新订阅的事务发布: 在 SQL Server 订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。来自订阅服务器的事务被应用于发布服务器。(比较复杂,在新版本的数据库中已经没有此功能)。

    合并发布:在订阅服务器收到已发布数据的初始快照后,发布服务器和订阅服务器可以独立更新已发布数据。更改会定期合并。Microsoft SQL Server Compact Edition 只能订阅合并发布。(双向复制,比较复杂)。

    选择事务同步点击下一步:

     

    选择待发布的内容:

    带红色标记的表不能发布,因为它没有主键列。事务发布中的所有表都需要主键列。

     

     注:点击项目属性,选择“所有表项目的属性”可以按需要设置发布的属性!

    点击下一步:

    可以添加筛选器

     

    点击下一步:

     

    勾选多选框:

     

    点击更改,设置同步时间频率:

     

    代理安全性设置:

     

    选择在SQL Server代理服务账户下运行和使用以下SQL Server登录名,填写用户名密码

     

    点击完成,输入发布名称:

     

    发布成功:

     

    注:发布完成后可先查看快照代理状态,确保发布快照执行完毕后,在进行订阅。

     

     

    二、订阅。

    订阅是对数据库发布的快照进行同步,将发布的数据源数据同步到目标数据库。具体订阅过程如下:

     

    选择订阅的发布:

     

    选择发布服务器—查找SQL Server发布服务器,输入用户名密码选择要发布的数据库,注必须输入服务器名称,不能为服务器ip。

     

    点击下一步:

    选择或新建订阅数据库

     

    新建数据库,输入数据库名称:

     

    点击下一步,点击红线按钮设置分发代理

     

    选择在SQL Server代理服务账户下运行和使用以下SQL Server登录名,然后输入用户名密码

     

    点击完成:

     

    注1:修改数据库实例名

    (如果没有修改计算机名,跳过该步)

    由于修改了分发服务器名,所以需要修改实例名,使服务器名与实例名保持一致

    查询实例名            select @@servername

    删除旧的实力名    EXEC sp_dropserver'本地实例名称'

    添加修的实例名 exec  sp_addserver'修改名称','原名称'

    重启服务查询                           

    SELECT @@SERVERNAME,SERVERPROPERTY('SERVERNAME')

    两列数据一致,则实力名修改成功。

    修改后服务器名称与实例名一周后,重启下sql server代理

     

    注2:执行中注意问题

    1.由于数据库较大,经过测试快照需要一到两个小时才能完成,在执行快照时比较消耗资源请耐心等待。

    2快照执行时间,请按需求设定

    3请关闭防火墙

    4订阅服务器一定要添加发布服务器别名

    5、设置表主键问题:设置时检查表中是否有自增长的数据列,如有直接将自增长的数据列设置为主键。

  • 相关阅读:
    postgres 常见错误之字段关联不明确
    nginx proxy_pass 配置
    css font-family有哪些
    Inno Setup [Run] Section 双引号嵌套
    ubuntu16.04下ftp服务器的安装与配置
    How to check if directory exist using C++ and winAPI
    Ubuntu parted 命令 写在脚本里时要带 -s 参数
    Ubuntu syslog 太多的 named[1195]: error (network unreachable) resolving './DNSKEY/IN': 2001:7fd::1#53
    Ubuntu忘记超级用户root密码,重新设置密码 转载
    Python 替换文本中的某些词语
  • 原文地址:https://www.cnblogs.com/pinpin/p/9864983.html
Copyright © 2020-2023  润新知