你目前正处于脱机状态,正在等待 Internet 重新连接

修复: 错误消息,当分发代理程序试图将快照应用于订阅服务器在 SQL 服务器 2005年:"必须声明标量变量"@Variable""

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 936534
Bug #: 50001158 (SQL 修补程序)
症状
产生错误的场景如下:您可以在 Microsoft SQL Server 2005年中配置事务复制。在发布服务器上成功创建初始快照。在此方案中,当分发代理程序试图将快照应用于订阅服务器,您将收到以下错误消息:
错误: 137、 严重性: 15,状态: 2
必须声明标量变量"@Variable"。
在满足以下条件时,将发生此问题:
  • 事务复制包含基于具有计算列的表创建的文章。
  • 主键列进行排序后计算出的列进行排序。
  • syscolumns 系统表中,您可以查看主关键字列的列 ID 大于计算所得列的列 Id。
  • 发布使用并发快照处理。
原因
分发代理程序将创建一个存储的过程,将在订阅服务器上的数据。但是,该存储的过程有不正确的参数的数字。
解决方案

累积更新信息

累积更新 2 中首次发布了此问题的修补程序。有关如何为 SQL 服务器 2005 Service Pack 2 中获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
936305 对于 SQL 服务器 2005 Service Pack 2 的累积更新包 2
注意 版本具有累积性的因为每个新修补程序版本包含的所有修补程序,并附带上一个 SQL Server 2005 的所有安全修补程序的修补都程序版本。Microsoft 建议您考虑应用包含此修补程序的最新修复程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
937137 SQL Server 2005 生成 SQL 服务器 2005 Service Pack 2 发布后发布
为特定的 SQL Server 服务包创建 Microsoft SQL Server 2005年的修复程序。您必须向 SQL 服务器 2005 Service Pack 2 的安装应用 SQL 服务器 2005 Service Pack 2 的修补程序。默认情况下,任何 SQL Server service pack 中提供的修补程序包含在下一次 SQL Server service pack。
替代方法
若要变通解决此问题,请使用下列方法之一:
  • 当您创建文章的基础表时,确保主键列进行排序,先计算所得的列进行排序。
  • 使用本机的快照处理或数据库快照处理,而不是并发快照处理。
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
例如,当您使用下面的语句创建文章的基础表时,将发生此问题:
CREATE TABLE [dbo].[test](	[col1] [char](10) NOT NULL,	[col2] [char](10) NOT NULL,	[col_1_2]  AS ([col1] + [col2]),	[ID] [int] IDENTITY(1,1) NOT FOR REPLICATION PRIMARY KEY NOT NULL)

警告:本文已自动翻译

属性

文章 ID:936534 - 上次审阅时间:09/03/2013 14:01:00 - 修订版本: 2.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL 2005 Server Workgroup

  • kbfix kbsql2005repl kbexpertiseadvanced kbqfe kbmt KB936534 KbMtzh
反馈