复制代理管理

适用于:SQL ServerAzure SQL 托管实例

复制代理执行许多与复制有关的任务,其中包括创建架构和数据副本、检测发布服务器或订阅服务器上的更新以及在服务器之间传播更改。 默认情况下,复制代理在 SQL Server 代理作业步骤下运行。 由于这些代理完全是可执行文件,因此可以从命令行和批处理脚本直接调用它们。 每个复制代理支持一组运行时参数,用于控制代理的运行方式;这些参数在代理配置文件或命令行中指定。

重要

默认情况下,安装完 SQL Server 之后,SQL Server 代理服务处于禁用状态,除非在安装过程中明确选择自动启动该服务。

复制代理文件位于 <drive>:\Program Files\Microsoft SQL Server\nnn\\COM 下。 下表列出了可执行复制的名称和文件名。 选择代理的链接以查看其参数引用。

代理可执行文件 文件名
Replication Snapshot Agent snapshot.exe
Replication Distribution Agent distrib.exe
复制日志读取器代理 logread.exe
复制队列读取器代理 qrdrsvc.exe
Replication Merge Agent replmerg.exe

除了复制代理之外,复制还具有多个执行计划和按需维护的作业。

运行代理和维护作业

SQL Server Management Studio 和复制监视器:启动和停止复制代理 (SQL Server Management Studio)

复制编程:复制代理可执行文件概念

代理个人资料

在配置复制时,将在分发服务器上安装一组代理配置文件。 代理配置文件包含一组在代理每次运行时都要使用的参数:在代理启动过程中,每个代理都会登录到分发服务器,并查询其配置文件中的参数。 复制为每个代理提供默认配置文件,并为日志读取器代理、分发代理和合并代理提供其他预定义配置文件。 除了所提供的配置文件之外,您还可以创建符合自己应用程序要求的配置文件。 有关详细信息,请参阅 Replication Agent Profiles

有关如何直接指定命令行参数的信息,请参阅复制代理可执行文件概念

监视复制代理

复制监视器使您可以查看信息和执行与每个复制代理关联的任务。 以下列表包括每个代理、可在其中找到它的复制监视器中的选项卡,以及说明如何访问这些选项卡的文章的链接:

  • 以下代理与复制监视器中的发布相关联:

    • 快照代理
    • 日志读取器代理
    • 队列读取器代理

    通过 “代理 ”选项卡访问与这些代理关联的信息和任务。有关详细信息,请参阅“查看信息”和“ 使用视图”信息执行任务,并使用复制监视器执行任务

  • 以下代理与复制监视器中的订阅相关联:

    • 分发代理
    • 合并代理

    通过下列选项卡访问与这些代理相关联的信息和任务: “订阅监视列表” (每个发布服务器都提供)或 “所有订阅” 选项卡(所有发布都提供)。 有关详细信息,请参阅“使用复制监视器查看信息和执行任务”。

独立代理和共享代理

独立代理是服务一个订阅的代理;共享代理服务多个订阅。 如果使用同一共享代理的多个订阅需要同步,则默认情况下,它们会在队列中等待,共享代理一次为它们提供服务。 使用独立代理会减少滞后时间,因为只要订阅需要同步,独立代理就可以为其提供服务。 合并复制始终使用独立代理,默认情况下,事务复制对在新建发布向导中创建的发布使用独立代理。 在以前版本的 SQL Server 中,事务复制默认使用共享代理。

复制维护作业

复制使用下列作业来执行计划维护和按需维护。

清除作业 说明 默认计划
代理历史记录清除:分发 从分发数据库中删除复制代理历史记录。 每 10 分钟运行一次
分发清除:分发 从分发数据库中删除复制的事务。 每 10 分钟运行一次
过期订阅清除 从发布数据库检测和删除过期的订阅。 在分发服务器上,停用在最大分发保留期内未同步的订阅。 每天凌晨 1:00 运行
重新初始化数据验证失败的订阅 检测所有未通过数据验证的订阅并标记它们以进行重新初始化。 下次合并代理或分发代理运行时,订阅服务器上将应用新快照。 无默认调度(默认情况下未启用)。
复制代理检查 检测未主动记录历史记录的复制代理。 如果作业步骤失败,它将写入 Windows 事件日志。 每 10 分钟运行一次。
分发的复制监视刷新器 刷新复制监视器使用的缓存查询。 连续运行。