复制管理的最佳做法

配置复制后,请务必了解如何管理复制拓扑。 本主题提供了许多区域中的基本最佳做法指南,其中包含指向每个区域的详细信息的链接。 除了遵循本主题中介绍的最佳做法指南之外,请考虑阅读常见问题解答主题,熟悉常见问题和问题: 复制管理员常见问题解答。

将最佳做法指南划分为两个方面非常有用:

  • 以下信息涵盖应对所有复制拓扑实现的最佳做法:

    • 开发和测试备份和还原策略。

    • 编写复制拓扑脚本。

    • 创建阈值和警报。

    • 监视复制拓扑。

    • 根据需要建立性能基线并优化复制。

  • 以下信息涵盖应考虑的最佳做法,但拓扑可能不需要:

    • 定期验证数据。

    • 通过用户档案调整代理参数。

    • 调整发布和分发保留期。

    • 了解如何在应用程序要求发生更改时更改项目和发布属性。

    • 了解如何在应用程序要求发生更改时进行架构更改。

开发和测试备份和还原策略

应定期备份所有数据库,并定期测试还原这些备份的能力;复制的数据库并无不同。 应定期备份以下数据库:

  • 出版物数据库

  • 分布式数据库

  • 订阅数据库

  • 发布服务器、分发服务器和所有订阅服务器上的 msdb 数据库和 master 数据库

复制的数据库需要特别注意备份和还原数据。 有关详细信息,请参阅 备份和还原复制的数据库

编写复制拓扑脚本

拓扑中的所有复制组件都应作为灾难恢复计划的一部分编写脚本,并且脚本还可用于自动执行重复任务。 脚本包含实现复制组件(如发布或订阅)所需的 Transact-SQL 系统存储过程。 可以在向导(如新建发布向导)或创建组件后Microsoft SQL Server Management Studio 中创建脚本。 可以使用 SQL Server Management Studio 或 sqlcmd 查看、修改和运行脚本。 可以使用备份文件存储脚本,以便在必须重新配置复制拓扑时使用。 有关详细信息,请参阅 脚本复制

如果进行了任何属性更改,则应对组件进行重新描述。 如果将自定义存储过程用于事务复制,则应使用脚本存储每个过程的副本;如果过程发生更改(过程通常因架构更改或更改应用程序要求而更新),则应更新副本。 有关自定义过程的详细信息,请参阅 指定如何传播事务项目的更改

根据需要建立性能基线并优化复制

在配置复制之前,建议熟悉影响复制性能的因素:

  • 服务器和网络硬件

  • 数据库设计

  • 分发服务器配置

  • 出版物设计和选项

  • 筛选设计和使用

  • 订阅选项

  • 快照选项

  • 代理参数

  • 维护

配置复制后,建议开发性能基线,这样就可以确定复制与应用程序和拓扑的典型工作负荷的行为方式。 使用复制监视器和系统监视器确定以下五个复制性能维度的典型数字:

  • 延迟:在复制拓扑中的节点之间传播数据更改所需的时间。

  • 吞吐量:系统可以持续一段时间的复制活动量(以一段时间内传递的命令为单位)。

  • 并发:可以同时在系统上运行的复制过程数量。

  • 同步持续时间:完成给定同步所需的时间。

  • 资源消耗:由于复制处理而使用的硬件和网络资源。

延迟和吞吐量与事务复制最相关,因为基于事务复制构建的系统通常需要低延迟和高吞吐量。 并发和同步持续时间与合并复制最相关,因为基于合并复制的系统通常具有大量订阅服务器,并且发布服务器可以具有大量与这些订阅服务器的并发同步。

建立基线编号后,在复制监视器中设置阈值。 有关详细信息,请参阅在 复制监视器中设置阈值和警告 ,并使用 复制代理事件的警报。 如果遇到性能问题,建议阅读上面列出的增强性能主题中的建议,并应用影响所遇到的问题的区域中的更改。

创建阈值和警报

复制监视器允许设置与状态和性能相关的许多阈值。 建议为拓扑设置适当的阈值;如果达到阈值,则会显示警告,还可以将警报发送到电子邮件帐户、寻呼器或其他设备。 有关详细信息,请参阅 复制监视器中的设置阈值和警告

除了可与监视阈值关联的警报之外,复制还提供许多预定义警报来响应复制代理作。 管理员可以使用这些警报来随时了解复制拓扑的状态。 建议通读描述警报的主题,并使用符合管理需求的任何警报(如有必要也可以创建其他警报)。 有关详细信息,请参阅 对复制代理事件使用警报

监视复制拓扑

复制拓扑到位并配置了阈值和警报后,建议定期监视复制。 监视复制拓扑是部署复制的一个重要方面。 由于复制活动是分布式的,因此必须跨复制涉及的所有计算机跟踪活动和状态。 以下工具可用于监视复制:

  • 复制监视器是监视复制的最重要工具,可用于监视复制拓扑的总体运行状况。 有关详细信息,请参阅 监视复制

  • Transact-SQL 和复制管理对象(RMO)提供用于监视复制的接口。 有关详细信息,请参阅 监视复制

  • 系统监视器还可用于监视复制性能。 有关详细信息,请参阅 使用系统监视器监视复制

定期验证数据

复制不需要验证,但建议定期对事务复制和合并复制运行验证。 通过验证,可以验证订阅服务器上的数据是否与发布服务器上的数据匹配。 成功验证表明,此时,发布服务器的所有更改都已复制到订阅服务器(如果订阅服务器上支持更新,则从订阅服务器复制到发布服务器),并且两个数据库处于同步状态。

建议根据发布数据库的备份计划执行验证。 例如,如果发布数据库每周有一次完整备份,则验证可能在备份完成后每周运行一次。 有关详细信息,请参阅 “验证复制的数据”。

如有必要,请使用代理配置文件更改代理参数

代理配置文件提供了设置复制代理参数的便捷方法。 也可以在代理命令行上指定参数,但通常更适合使用预定义的代理配置文件,或者如果需要更改参数的值,请创建新配置文件。 例如,如果使用合并复制,并且订阅服务器从宽带连接移动到拨号连接,请考虑使用合并代理的 慢链接 配置文件;此配置文件使用一组更适合较慢通信链接的参数。 有关详细信息,请参阅 Replication Agent Profiles

根据需要调整发布和分发保留期

事务复制和合并复制使用保留期分别确定事务存储在分发数据库中的时间,以及订阅必须同步的频率。 建议最初使用默认设置,但要监视拓扑以确定设置是否需要调整。 例如,对于合并复制,发布保留期(默认为 14 天)确定元数据存储在系统表中的时间。 如果订阅始终在五天内同步,请考虑将设置调整为较低的数字,这将减少元数据,并可能提供更好的性能。 有关详细信息,请参阅 订阅过期和停用

了解如何根据应用要求的变更来修改出版物

创建发布后,可能需要添加或删除项目,或更改发布和项目属性。 创建发布后,允许进行大多数更改,但在某些情况下,必须为发布生成新快照,或者重新初始化发布的订阅。 有关详细信息,请参阅 “更改发布”和“项目属性 ”,以及 向现有发布添加项目以及从现有发布中删除项目

了解如何在应用程序要求发生更改时进行架构更改

在许多情况下,在生产应用程序后需要架构更改。 在复制拓扑中,这些更改通常必须传播到所有订阅服务器。 复制支持对已发布对象的各种架构更改。 在Microsoft SQL Server 发布服务器上对相应已发布对象进行以下任一架构更改时,该更改默认传播到所有 SQL Server 订阅服务器:

  • 修改表

  • 修改视图

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

有关详细信息,请参阅对发布数据库进行架构更改

另请参阅

复制管理常见问题解答