zoukankan      html  css  js  c++  java
  • MSSQL自动同步

    以下摘自:http://blog.csdn.net/techmylife/archive/2006/04/27/694051.aspx

    这里以117和75为例说明:117发布&分发服务器、75订阅服务器

    一、准备工作:
    1、117&75上建立sqlagt用户,隶属于administrators组,用于启动Sqlserveragent服务(开机自启动),本地系统帐户local,将不具备网络功能,会产生错误

    2、117/75上企业管理器中的SQL注册必须为本机名称,不能为local或ip

    3、在117上建立75的SQL注册

    4、117/75上如果安装了MSSQL后更改过机器名,需要修改MSSQL注册主机名:
    4.1 检查有无sql注册问题
    use master
    select srvid,srvname,datasource from sysservers
    如果srvid字段=0,servname与datasource的值不一样,则需要运行下步
    4.2 修改注册名称
    USE master
    GO
    DECLARE @serverproperty_servername  varchar(100),
     @servername    varchar(100)
    SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))
    SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)
    select @serverproperty_servername,@servername
    EXEC sp_dropserver @server=@servername
    EXEC sp_addserver @server=@serverproperty_servername, @local='local'
    4.3 再次运行3.1,servname与datasource的值会相同

    5、系统需要的扩展存储过程是否存在(如果不存在,需要恢复):
    sp_addextendedproc 'xp_regenumvalues',@dllname ='xpstar.dll'
    go
    sp_addextendedproc 'xp_regdeletevalue',@dllname ='xpstar.dll'
    go
    sp_addextendedproc 'xp_regdeletekey',@dllname ='xpstar.dll'
    go             
    sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
    go

    6、同步是通过内网,内网不能关闭1433端口,不能关闭文件共享,不能删除默认共享如D$ E$


    二、同步配置
    117角色:发布、分发服务器  117主机名称为“117”
    75角色:订阅服务器 75服务器名称“75”

    1、企业管理器-->选中117节点
    工具-->复制-->配置发布、订阅服务器和分发
    下一步-->使"117"成为它自己的分发服务器-->快照文件夹(\\117\d$\mssql\ReplData)-->是-->否,使用下列默认设置-->完成
    完成后会提示 成功的将"117"启用为"117"的分发服务器
    完成后会在117建立distribution库,会看到复制监视器项

    2、工具-->复制-->创建和管理发布 例如同步KBOX
    选中要进行同步的数据库-->点击创建发布-->下一步-->选中要同步的数据库-->下一步-->事务发布-->运行SQLServer2000的服务器-->
    选择要同步的表(该表的表结构中一定要有主键才能被选择同步)-->下一步-->下一步-->发布名称(随意)-->下一步-->完成

    3、在75上建立一个同名的要同步的空数据库KBOX

    4、在创建和管理发布界面中
    展开已经创建了发布的数据库KBOX-->选择该库下的发布-->再选择强制新的订阅-->选择75-->订阅数据库名称(默认)-->连续地 最短滞后时间-->
    是,初始化架构和数据,勾选启动快照代理立即开始初始化处理(如75上已经有了要同步的数据库和表结构,选择否)-->下一步-->完成
    完成后会提示成功创建订阅:75

    5、点击复制监视器,第一次会提示是否希望自动刷新复制监视器,选择是,勾选不再提示

    6、展开复制监视器,发布服务器-->117-->KBOX:KBOX
    点刷新按钮可看到75:KBOX状态为正在运行
    到75上的KBOX库,可看到表结构、内容都已同步更新完成
    测试在117KBOX库任意表插入一条数据,在75上会看到同步过来的相同数据

    注:KBOX库新增表、表结构更改,需要手动删除并重新强制订阅

    自已补充一点:

    、在完成第4步后,逐级打开复制监视器到各订阅项时,发现无法更新。解决办法:对订阅项点右键-》属性-》确定-》状态-》立即运行代理程序,然后返回复制监视器就可以看到更新了...

    、同样,当两台机分别重启后,由于某原因,订阅服务器可能慢于分发(发布)服务器的启动速度,这样在复制监视器上可能会见到红色的X,可以按①的方法重新运行各个代理程序...

  • 相关阅读:
    poj 3068 Bridge Across Islands
    XidianOJ 1086 Flappy v8
    XidianOJ 1036 分配宝藏
    XidianOJ 1090 爬树的V8
    XidianOJ 1088 AK后的V8
    XidianOJ 1062 Black King Bar
    XidianOJ 1091 看Dota视频的V8
    XidianOJ 1098 突击数论前的xry111
    XidianOJ 1019 自然数的秘密
    XidianOJ 1109 Too Naive
  • 原文地址:https://www.cnblogs.com/d9394/p/10611744.html
Copyright © 2011-2022 走看看