You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server 2019合并复制双向自动同步配置方案求助

SQL Server 合并复制自动同步配置方案(Windows 10 环境)

方案1:利用SQL Server合并复制内置调度实现自动同步

合并复制本身自带自动同步调度机制,无需依赖Windows Data Sync Center,这是最稳定原生的实现方式:

  • 配置发布端同步规则(Windows Server 2019 上的 SQL Server 2019 Standard):
    1. 打开SQL Server Management Studio(SSMS),连接到发布服务器实例。
    2. 展开「复制」→「本地发布」,右键目标合并发布,选择「属性」。
    3. 切换到「同步调度」选项卡,点击「新建」创建调度:
      • 设置同步频率(如每5分钟、每小时,或指定时间段)
      • 指定运行身份(建议使用拥有发布/订阅权限的域账户或SQL Server代理账户)
      • 确认调度处于启用状态
  • 配置订阅端同步规则(Windows 10 上的 SQL Server 2019 Express):
    1. 连接到订阅服务器实例。
    2. 展开「复制」→「本地订阅」,右键目标订阅,选择「属性」。
    3. 在「同步调度」中,可选择「按发布服务器的调度同步」,或自定义独立的同步频率。
  • 启用SQL Server代理服务(Express版默认禁用):
    1. 打开「服务」(services.msc)
    2. 找到对应实例的SQL Server代理服务(默认名为SQLAgent$SQLEXPRESS),将启动类型设为「自动」,并启动服务

方案2:用Windows任务计划触发同步脚本

如果需要更灵活的触发逻辑(如基于特定事件同步),可通过任务计划调用同步脚本:

  • 编写同步脚本(示例PowerShell脚本,保存为Sync-Replication.ps1):
    $subDB = "你的订阅数据库名"
    $pubInstance = "发布服务器实例名"
    $pubName = "你的发布名"
    
    Invoke-SqlCmd -ServerInstance ".\SQLEXPRESS" -Database $subDB -Query "
      EXEC sp_mergepullsubscription_agent 
        @publisher = N'$pubInstance',
        @publisher_db = N'你的发布数据库名',
        @publication = N'$pubName',
        @subscriber = N'WIN10-PC\SQLEXPRESS',
        @subscriber_db = N'$subDB';
    "
    
  • 创建Windows任务计划:
    1. 打开「任务计划程序」,点击「创建基本任务」
    2. 设置触发条件(如「按时间间隔重复」或「当系统事件触发」)
    3. 操作选择「启动程序」,程序路径选powershell.exe,参数填-ExecutionPolicy Bypass -File "C:\脚本存放路径\Sync-Replication.ps1"
    4. 指定运行身份为拥有数据库操作权限的账户,勾选「不管用户是否登录都要运行」

关键注意事项

  • 确保发布端与订阅端网络连通,防火墙开放SQL Server端口(默认1433,或自定义端口)。
  • 提前配置合并复制的冲突检测与解决规则,避免自动同步时因数据冲突导致同步失败。
  • Windows 10 中 Data Sync Center 已不再作为推荐同步工具,优先使用SQL Server原生机制或任务计划实现自动同步。

内容的提问来源于stack exchange,提问作者jezz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:22:19