症狀
假設您在 SQL Server 2014 或 2016 中使用 sp_addpublication 預存程序建立異動出版物,並將 @allow_drop 屬性設定為 True。 刪除出版物中發佈的資料表並手動從出版物中刪除過時的文章後,您可能會收到類似於以下內容的錯誤訊息:
注意
遠端伺服器 “ (null) ” 不存在。
例如,這個問題會在下列案例中發生:
您在異動出版物中發佈資料表,然後將 @allow\_drop 屬性設定為 True。
您移除已發佈的資料表。
在記錄讀取器代理程式處理與 drop table 命令相關的記錄之前,您可以使用下列預存程序之一來清除過時的文件:
- sp_MSdropobsoletearticle
- sp_droparticle
- sp_droppublication
在此情況下,下列錯誤訊息會記錄在詳細記錄中:
注意
狀態:0,代碼:1007,文字:'該程序無法在 'SQL_SERVER_INSTANCE' 上執行 'sp_MSadd_replcmds'。'。
處理程序無法在 'SQL_SERVER_INSTANCE' 上執行 'sp_MSadd_replcmds'。
Repl 代理程式狀態:6
狀態:0,代碼:1007,文字:「遠端伺服器「 (null) 」不存在,或尚未指定為有效的發行者,或您可能沒有查看可用發行者的權限。」。
狀態:4,代碼:6001,文字:「『命令載入程式』的背景執行緒正在結束。」。
狀態:0,代碼:22020,文字:'批次未提交給經銷商。'。
狀態:0,代碼:22037,文字:「最後一個步驟未記錄任何訊息!」。
附註: (DROP TABLE DDL 支援已於 SQL Server 2014 Service Pack 2 中新增 Drop 表格 DDL) 。 如需有關放置表支援的資訊,請參閱下列 Microsoft 知識庫文章:
3170123 針對 SQL Server 2014 異動複寫中包含的文章,支援 DROP TABLE DDL
解決方式
此問題已在下列 SQL Server 累積更新中修正:
SQL Server 2014 Service Pack 2 的累積更新 1
SQL Server 2016 的累積更新 2
關於 SQL Server 的累積更新
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
適用於 SQL Server 2014 的最新累積更新
適用於 SQL Server 2016 的最新累積更新
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
瞭解 Microsoft 用來說明軟體更新的 術語 。