你目前正处于脱机状态,正在等待 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
反馈