Applies ToSQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

徵狀

假設您使用 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 Service Pack 2 的累積更新 1適用于 sql server 2016)累積更新 2

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

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

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

參考

瞭解 Microsoft 用於描述軟體更新的 術語

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。