徵狀
假設您在 Microsoft SQL Server 2014、2016或2017中附加已啟用變更資料捕獲的資料庫。 如果要在資料庫啟動期間重做交易,變更資料捕獲可能會執行到不一致的狀態,也就是說,變更資料捕獲處於停用狀態,但變更資料捕獲物件仍存在。 此外,您可能會遇到下列情況:
-
當您嘗試使用 sp_cdc_disable_db 的儲存程式來停用此資料庫的變更資料捕獲時,您會收到下列錯誤訊息:
資料庫 DatabaseName不會啟用變更資料捕獲。 請確定已設定正確的資料庫內容,然後重試此操作。 若要報告已啟用變更資料捕獲的資料庫,請查詢 sys. 資料庫目錄視圖中的 [is_cdc_enabled] 資料行。
-
當您嘗試使用 sp_cdc_enable_db 的儲存程式來啟用此資料庫的變更資料捕獲時,您會收到下列錯誤訊息:
Msg 22906、Level 16、State 1、程式 sp_cdc_enable_db_internal、行 LineNumber 資料庫 DatabaseName 無法啟用變更資料捕獲,因為名為 UserName 的資料庫使用者或名為 SchemaName的架構已存在於目前的資料庫中。 變更資料捕獲只需要這些物件。 刪除或重新命名使用者或架構,然後重試此操作。
解決方案
此問題已在 SQL Server 的下列累積更新中修正:
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用於描述軟體更新的 詞彙。