共用方式為


將已啟用 CDC 的資料庫附加至 Windows 上 SQL Server 2016 或更新版本的實例時發生錯誤

本文可協助您解決無法在 Windows 上將已啟用 CDC 的資料庫附加至 SQL Server 2016 或更新版本的實例的問題。

原始產品版本: SQL S
原始 KB 編號: 3200464

徵兆

您可以卸離 SQL Server 2014 或舊版上啟用的資料庫 Change Data Capture ,並將它附加至 Windows 實例上的 SQL Server 2016 或更新版本。 在這裡情況下,當您執行 sp_cdc_enable_table 系統程式時,會發生下列錯誤:

指令

EXEC sys.sp_cdc_enable_table @source_schema='<schema name>',
@source_name='<source name>', @role_name='<role name>',  
@supports_net_changes=1, @allow_partition_switch=0;

錯誤訊息

Msg 22832,層級 16,狀態 1,程式
sp_cdc_enable_table_internal第 639 行 [批次開始第 0 行]
無法更新指出資料表 [<架構名稱>] 的元數據。 [<物件名稱>] 已啟用異動數據擷取。 執行命令 'insert into [cdc] 時發生失敗。[captured_columns]'。 傳回的錯誤為 213:『資料行名稱或提供值的數目不符合資料表定義。」。 請利用動作與錯誤判斷失敗的原因,然後再重新送出要求。

解決方法

若要解決此問題,請在您已啟用 Change Data Capture 的 Windows 平台上,將資料庫附加到 SQL Server 2016 或更新版本的實例之後再執行 sp_cdc_vupgrade

如需詳細資訊,請參閱 附加資料庫