修复:SQL Server 2005 分发代理程序和 SQL Server 2008 分发代理程序在配置 SQL Server 2000 事务发布以跳过错误 20598 时未跳过错误 20598

文章翻译 文章翻译
文章编号: 956376 - 查看本文应用于的产品
错误: #50002967 (SQL 修复程序) 和 Bug #: 50003316 (SQL 修补程序)

SQL Server 2008

Microsoft 将 Microsoft SQL Server 2008 修补程序作为一个可下载文件进行分发。修补程序是累积性的因为每个新版本包含的所有修补程序和所有安全修补程序包含以前的 SQL Server 2008年修补程序版本。

SQL 2005 Server

Microsoft 将 Microsoft SQL Server 2005 修补程序作为一个可下载文件进行分发。修补程序是累积性的因为每个新版本包含的所有修补程序和修复了以前 SQL Server 2005 中包含的所有安全修复都程序的版本。
SQL 发布后发布的生成的主列表的详细信息,单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
957826在这里,您可以找到有关 SQL Server 2008 后发布的 SQL Server 2008 内部版本以及 SQL Server 2005 Service Pack 2 后发布的 SQL Server 2005 内部版本的更多信息
展开全部 | 关闭全部

本文内容

症状

请考虑以下情形:
  • 在 Microsoft SQL Server 2000 中,您可以配置事务发布。
  • 分发代理程序的数据一致性错误的代理程序配置为使用 SkipErrors 配置文件。配置分发代理程序跳过错误 20598。
  • Microsoft SQL Server 2005年中或在 Microsoft SQL Server 2008年中,您可以配置的请求订阅。
在这种情况下,如果数据一致性错误发生在同步此订阅时,拉订阅作业将失败,并收到错误 20598。但是,您会发现分发代理程序跳过 20598 错误并继续处理其余的行。

此外,SQL Server 2005 分发代理程序日志中或在 SQL Server 2008年分发代理程序日志中,您会发现类似于以下错误消息的错误消息:
日期 时间 应用于订阅服务器的事务时将跳过 1 个错误。
日期 时间 提交时间戳值是: 0x000036580000005f000100000000
日期 时间 sp_MSget_repl_commands 时间戳值是: 0x0x000036580000005f000100000000
日期 时间 ErrorId = 8,SourceTypeId = 0错误代码 = '20598'ErrorText = 未找到行在订阅服务器上应用的复制命令时。
日期 时间 代理程序消息代码 20046。断开与 OLE DB 订阅服务器的连接实例名称'
日期 时间 断开与 OLE DB 订阅服务器的连接订阅服务器的名称
日期 时间 断开与 OLE DB 分发服务器的连接分发服务器名称'
日期 时间 断开与 OLE DB 分发服务器的连接分发服务器名称'
日期 时间 Microsoft SQL Server 分发代理程序 9.00.3042.00
日期 时间 版权所有 (c) 2005 年,Microsoft 公司
日期 时间 Microsoft SQL Server 复制代理程序: 分散
日期 时间
日期 时间 UTC 时间表示为输出行预置的时间戳。
在 SQL Server 2000年分发代理程序日志中,您可以找到类似于以下错误消息的错误消息:
提交时间戳值是: 0x0000048d000001eb000100000000
[日期 时间 ]服务器.ides: 如果存在 (选择 * 系统对象的名称为 syspublications) 如果存在 (选择 * 从 syspublications 其中 repl_freq = 0) exec sp_replsetoriginator?,?
[日期 时间 ]服务器.distribution: {调用 sp_MSadd_distribution_history (3255、 3,吗?,?,0、 0、 0.00 0x01,1,?,0,0x01,0x00)}
ErrorId = 3135,SourceTypeId = 5
错误代码 = '20598'
ErrorText = 未找到行在订阅服务器上应用的复制命令时。
[日期 时间 ]服务器.distribution: {调用 sp_MSadd_repl_error (3135、 0、 5?,N '20598',吗?)}

原因

当 SQL Server 2005 分发代理程序或 SQL Server 2008年分发代理程序连接到 SQL Server 2000年分发代理程序时,两个代理将调用 sp_MSadd_repl_error 存储过程,来记录在双方跳过的错误。但是,在 SQL Server 2005 和 SQL Server 2008年中,sp_MSadd_repl_error 存储过程具有 SQL Server 2000年中的 sp_MSadd_repl_error 存储过程中不包含一些额外的参数。因此,对 sp_MSadd_repl_error 的调用存储过程将失败。

解决方案

对于 SQL Server 2008

此问题的修补程序是累积更新 1 中首次推出。

有关如何获取此累积更新包,SQL Server 2008 年的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
956717累积更新包 1 SQL Server 2008 年
注意生成是累积性的因为每个新修补程序版本包含的所有修补程序和所有安全修补程序包含以前的 SQL Server 2008年修补程序版本。我们建议您考虑应用了最新的修补程序版本包含此修复程序。

有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
956909SQL Server 2008年生成 SQL Server 2008年发布后发布

对于 SQL Server 2005

此问题的修补程序是累积性更新 9 中首次推出。有关如何为 SQL 服务器 2005 Service Pack 2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
953752 对于 SQL 服务器 2005 Service Pack 2 的累积更新包 9
注意生成是累积性的因为每个新修补程序版本包含的所有修补程序和修复了以前 SQL Server 2005 中包含的所有安全修复都程序的版本。Microsoft 建议您考虑应用了最新的修补程序版本包含此修复程序。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
937137 SQL Server 2005 生成的 SQL 服务器 2005 Service Pack 2 发布后发布
Microsoft SQL Server 2005年修补程序会创建特定的 SQL Server 服务包。必须将一个 SQL 服务器 2005 Service Pack 2 的修补程序应用到安装的 SQL 服务器 2005 Service Pack 2。默认情况下在 SQL Server service pack 中提供的任何修补程序包含在下一步的 SQL Server service pack。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

更多信息

对于 SQL Server 2008

更改了哪些文件,有关的详细信息以及有关应用累积更新包中包含的修复程序,这篇 Microsoft 知识库文章中描述的任何系统必备组件的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
956717 累积更新包 1 SQL Server 2008 年

对于 SQL Server 2005

更改了哪些文件,有关的详细信息以及有关应用累积更新包中包含的修复程序,这篇 Microsoft 知识库文章中描述的任何系统必备组件的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
953752 对于 SQL 服务器 2005 Service Pack 2 的累积更新包 9

参考

对于 SQL Server 2008

SQL Server 2008年发行后的生成的列表的详细信息,单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
956909SQL Server 2008年生成 SQL Server 2008年发布后发布
SQL Server 的增量服务模式的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897增量服务模式,可从 SQL Server 团队提供报告的问题的修补程序
SQL Server 更新的命名架构的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499Microsoft SQL Server 软件更新程序包的新命名方案
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明

对于 SQL Server 2005

SQL Server Service Pack 2 之后生成的列表的详细信息,单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
937137 SQL Server 2005 生成的 SQL 服务器 2005 Service Pack 2 发布后发布
SQL Server 的增量服务模式的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897 增量服务模式,可从 SQL Server 团队提供报告的问题的修补程序
有关如何获得 SQL 服务器 2005 Service Pack 2 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
913089 如何获取适用于 SQL Server 2005 的最新 Servece Pack
有关新功能和 SQL 服务器 2005 Service Pack 2 中的改进的详细信息,请访问下面的 Microsoft 网站:
http://go.microsoft.com/fwlink/?LinkId=71711
SQL Server 更新的命名架构的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499 Microsoft SQL Server 软件更新程序包的新命名方案
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明

属性

文章编号: 956376 - 最后修改: 2012年9月30日 - 修订: 5.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
关键字:?
kbsql2005repl kbfix kbPubTypeKC kbqfe kbexpertiseadvanced kbmt KB956376 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 956376
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