如何解决 SQL Server 合并复制问题

文章翻译 文章翻译
文章编号: 315521 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文可用作解决 Microsoft SQL Server 合并复制问题的基本指导,它提供了用于确定某些合并复制问题的原因和解决方案的准则和说明。但是,所列的问题不够全面,且某些问题可能与环境有关。

更多信息

由于合并复制的复杂性及分散性,必须将问题隔离在合并复制拓扑结构的特定部分中。将问题隔离后,可以自己纠正问题,也可以与 Microsoft 产品支持服务 (PSS) 联系以获取帮助。

基本故障排除

以下信息可以帮助排除合并复制代理故障:

检查代理历史记录以确定哪项任务失败以及失败的原因。要查看代理历史记录,请按照下列步骤操作:
  1. 运行 SQL Server 企业管理器
  2. 展开 SQL Server 组文件夹,然后展开服务器文件夹。
  3. 展开复制监视器
  4. 单击以选择合并代理
  5. 要查看历史记录,请右键单击相应的合并发布,然后单击代理历史记录
注意:Microsoft SQL Server 2005 中的步骤与上述步骤不相同。有关如何在 SQL Server 2005 中查看代理历史记录的更多信息,请参见 SQL Server 2005 联机丛书。

大多数合并复制故障都涉及由合并代理报告的某种错误。通常,代理所报告的顶级错误不足以用来找出问题的根源。很可能该顶级错误后跟有更具体的复制错误,如由 SQL Server 数据库引擎或由操作系统报告的服务器端错误。假设您没有使用合并复制 ActiveX 控件,可以通过参考以下 Microsoft 知识库文章中的步骤,打开合并代理的输出日志记录功能来获取扩展的错误信息:
312292 如何启用复制代理用于登录到 SQL Server 中输出文件


合并代理可能遇到的某些常见错误以及这些错误可能的解决方案是:
  • 您可能收到此错误消息:
    超时时间已到。
如果收到此错误,请增大合并代理配置文件中的查询超时值。合并代理配置文件中的查询超时值表示所允许的完成内部查询的秒数。此值也受您运行合并代理时所指定的 QueryTimeout 参数的控制。
  • 您可能收到此错误消息:
    常规网络错误。
    要确定错误的原因,请按照下列步骤操作:
  1. 确保快照文件夹已共享,且运行 SQL Server 代理服务的域帐户有权访问该文件夹。
  2. 设置“Microsoft 网络监视器”工具跟踪功能以记录同步过程中的活动。这样可以让系统提供有关数据包丢失或网络不稳定的信息。


  • 您可能收到此错误消息:
    无法连接到 (%s)。
可能的错误原因是:

合并代理无法解析复制中涉及的服务器的 DNS 名。

- 或 -

常规网络问题,见“常规网络错误”错误消息中的说明。
  • 如果 SQL Server 复制的配置是通过 Internet 进行的,则可能收到以下错误消息:
    The process could not enumerate changes at the '%1' (publisher / subscriber)
    请确保配置正确无误。有关通过 Internet 为 SQL Server 7.0 复制操作配置代理服务器的更多信息,请访问下面的 Microsoft 网站:

    通过 Internet 配置 SQL Server 7.0 复制的代理服务器
  • 您可能会收到以下错误消息:
    代理程序处于置疑状态。在最近 10 分钟内没有响应。
    默认情况下,不活动阈值设置为 10 分钟。不活动阈值是代理未记录任何活动因而被认为没有运行的时间。如果复制牵涉的事务量很大,请将时间限制设为一个较大的值。此值可以通过 SQL Server 企业管理器中的复制监视器刷新频率和设置进行设置。
  • SQL Server 企业管理器和 SQL Server 代理提供了一种通过使用警报来监视事件(如复制代理错误)的方法。有关复制警报的更多信息,请访问下面的 Microsoft 网站:

    通过 Internet 配置 SQL Server 7.0 复制的代理服务器
  • 如果订阅服务器上的数据与发布服务器上的数据不同步,则可能会出现复制过程中遇到的问题。Microsoft SQL Server 2000 复制可以验证订阅服务器上的已复制数据,从而确保订阅服务器上的数据与发布服务器上的数据相匹配。有关验证已复制数据的更多信息,请访问下面的 Microsoft 网站:

    验证已复制的数据

如何解决性能问题


合并复制应用程序必须提供应用程序的业务规则所需的功能,而且还必须及时完成操作,即使数据量和用户数量随时间增加也不例外。

因为合并复制是使用 Microsoft SQL Server 2000 中的表和查询实现的,因此性能取决于 SQL Server 解决复制的处理需求的效率。而这种需求又取决于数据库设计和优化后的执行性能的优劣。若要了解如何诊断和解决分区处理和寻址的性能问题,以及某些影响性能的常规数据库设计原则,请访问下面的 Microsoft 网站:

缓慢分区的合并进程的诊断和疑难解答

可以提高合并复制应用程序的性能。要优化合并复制,请访问下面的 Microsoft 网站:

提高合并复制性能

如何解决复制冲突问题


发布服务器和订阅服务器重新连接并进行同步时,合并代理会检测冲突并确定将接受哪些数据并将其传播到其他站点。这取决于实现合并发布时所指定的冲突解决程序。有关合并复制冲突检测和解决方案的更多信息,请访问下面的 Microsoft 网站:

合并复制冲突检测和解决方案

有关 Microsoft 复制交互式冲突解决程序的更多信息,请访问下面的 Microsoft 网站:

Microsoft 复制交互式冲突解决程序

有关 Microsoft 复制冲突查看器或合并发布的更多信息,请访问下面的 Microsoft 网站:

Microsoft 复制冲突查看器、合并发布

参考

当与 Microsoft 产品支持服务 (PSS) 部门联系以寻求帮助时,处理您的案例的 PSS 支持专业人员可能会要求提供特定于您的环境的附加信息。有关更多信息,请参见下面的 Microsoft 知识库文章:
315642 PSS 解决 SQL Server 复制问题所需的信息


有关合并复制工作原理的更多信息,请访问下面的 Microsoft 网站:

合并复制的工作方式

有关如何规划合并复制的更多信息,请访问下面的 Microsoft 网站:

规划合并复制


合并复制或可更新订阅

属性

文章编号: 315521 - 最后修改: 2006年10月26日 - 修订: 5.4
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 7.0 标准版
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard Edition
关键字:?
kbinfo KB315521
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com