复制代理管理

适用于: SQL Server Azure SQL 托管实例

复制代理执行许多与复制有关的任务,其中包括创建架构和数据副本、检测发布服务器或订阅服务器上的更新以及在服务器之间传播更改。 默认情况下,复制代理在 Microsoft 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

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

运行代理和运行维护作业

代理配置文件

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

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

监视复制代理

复制监视器使您可以查看信息和执行与每个复制代理关联的任务。 以下列表列出了每个代理、可以在其中找到代理的选项卡(位于复制监视器中)以及指向说明如何访问这些选项卡的主题的链接:

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

    • 快照代理

    • 日志读取器代理

    • 队列读取器代理

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

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

    • 分发代理

    • 合并代理

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

独立代理和共享代理

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

复制维护作业

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

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