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

在目标表为空在 SQL Server 2014年时,快照或日志读取器代理程序失败

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

点击这里察看该文章的英文版: 3144065
症状
在 Microsoft SQL Server 2014年在事务复制中,SQL 查询中的一个项目所具有的目标表中的空字符串 (@destination_table = N"") 中的事务处理 SQL 语句。在此情况下,您可能会收到下列错误消息中指定的位置 ︰
  • 在快照代理程序 ︰
    值不能为空。参数名称 ︰ strObjectName

  • 在日志读取器代理程序 ︰
    进程无法执行服务器上的 sp_replcmds

  • 错误日志文件 ︰ 中
    SQL Server 断言 ︰ 文件 ︰ <replrowset.cpp>,行 = 2853年失败肯定 = dwColLen。</replrowset.cpp>

    注意:此错误可能是与计时相关。如果此错误仍然存在之后重新运行该语句,,,使用 DBCC CHECKDB 检查数据库中的结构完整性。或者,重新启动服务器,以确保未损坏的内存中数据结构。在\Log文件夹中包含断言的详细信息创建转储文件。

注意:出版物中有立即同步选项处于启用状态时,才会被触发第二个和第三个错误。
原因
出现此问题是因为空字符串不是有效的目标表名。
替代方法
若要变通解决此问题,请设置一个有效的目标表名,或者删除无效的目标表名。

警告:本文已自动翻译

属性

文章 ID:3144065 - 上次审阅时间:04/06/2016 02:48:00 - 修订版本: 1.0

Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB3144065 KbMtzh
反馈
"https://c.microsoft.com/ms.js">