套用到
SQL Server 2019 on Windows SQL Server 2022 on Linux (all editions) SQL Server 2022 on Windows (all editions)

徵兆

sp_replmonitorsubscriptionpendingcmds儲存程式與對等 (P2P) 複寫不相容。 它會傳回不正確的擱置命令數目。 套用此修正之後, sp_replmonitorsubscriptionpendingcmds 將與 P2P 複寫相容。

注意 複製   監視器的 [未偵錯命令] 索引標籤會在幕後呼叫 sp_replmonitorsubscriptionpendingcmds

解決方案

累積更新資訊

此問題已在下列SQL Server累積更新中修正:

附註套用此累積更新之後,如果MSrepl_originators資料表包含過時的專案,sp_replmonitorsubscriptionpendingcmds仍可能回報 P2P 複寫擱置命令的數量不正確。

如果MSrepl_originators資料表包含過時的專案,執行sp_replmonitorsubscriptionpendingcmds會在SQL Server錯誤記錄檔中產生下列警告訊息:

警告:無法取得訂閱資料庫的資料庫版本「<database_name>」。 sp_replmonitorsubscriptionpendingcmds 可能會回報 P2P 複寫擱置中的命令數目不正確。

若要解決此問題,請從 MSrepl_originators 刪除過時的專案,或在執行sp_replmonitorsubscriptionpendingcmds時,將訂閱資料庫的正確「dbversion」當做subdb_version自變量。 

提示: 您可以選取下列其中一種方法來尋找訂閱資料庫的「dbversion」:

  • 在通訊群組資料庫上執行下列查詢: select dbversion from MSrepl_originatorswhere publisher_database_id = <Publisher_Database_ID>and srvname = <Subscriber_Server>and dbname = <Subscriber_Database>注意您需要將適當的值替代<Publisher_Database_ID>、<Subscriber_Server>和<Subscriber_Database>。

  • 在訂閱資料庫上執行下列查詢: declare @current_version int , @currentGuid uniqueidentifierselect @currentGuid = recovery_fork_guidfrom sys.database_recovery_status#x3 select @current_version = substring(convert(binary(16), isnull(@currentGuid, 0x0)),1,6)print @current_version

SQL Server的每個新累積更新都包含上一個組建中的所有 Hotfix 與安全性修正。 建議您安裝適用于SQL Server版本的最新組建:

狀態

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

參考資料

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

需要更多協助嗎?

想要其他選項嗎?

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