使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

假设你使用 SQL Server 2014 或2016中的 sp_addpublication存储过程创建事务性发布,并将@allow_drop 属性设置为 True。 删除发布中发布的表并手动删除发布中已过时的文章后,可能会收到类似于以下内容的错误消息:

远程服务器 "(null)" 不存在。

例如,在以下情况下会发生此问题:

  • 发布事务发布中的表,然后将 @allow_drop 属性设置为 True。

  • 删除已发布的表。

  • 在日志读取器代理处理与 "删除表" 命令相关的记录之前,使用以下存储过程之一清理已过时的文章:

    • sp_MSdropobsoletearticle

    • sp_droparticle

    • sp_droppublication

在这种情况下,将在详细日志中记录以下错误消息:

状态:0,代码:1007,文本: "进程无法在"SQL_SERVER_INSTANCE"上执行" sp_MSadd_replcmds "。进程无法在 "SQL_SERVER_INSTANCE" 上执行 "sp_MSadd_replcmds"。复制代理状态:6Status:0,代码:1007,文本: "远程服务器" (null) "不存在,或者尚未指定为有效的发布者,或者你可能无权查看可用的发布者。"。状态:4,代码:6001,文本: "命令加载程序的后台线程正在退出"。状态:0,代码:22020,文本: "批未提交到分发服务器。"。状态:0,代码:22037,文本: "最后一步未记录任何消息!"。

注意 已在 SQL Server 2014 Service Pack 2 中添加了 Drop table 支持(DROP TABLE DDL)。 有关 drop table 支持的详细信息,请参阅 Microsoft 知识库中的以下文章:

3170123 支持删除 SQL Server 2014 中的事务复制中包含的文章的表 DDL

解决方案

在 SQL Server 的以下累积更新中修复了此问题:

Sql server 2014 的累积更新 1 Service Pack 2 sql Server 2016 累积更新 2

SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

Sql server 2014 的最新累积更新sql server 2016 的最新累积更新

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

了解 Microsoft 用于描述软件更新的 术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×