共用方式為


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

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

原始產品版本: SQL Server 2008 和更新版本
原始 KB 編號: 3200464

徵兆

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

Command

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:『資料行名稱或提供值的數目不符合資料表定義。」。 請利用動作與錯誤判斷失敗的原因,然後再重新送出要求。

解決方法

若要解決此問題, sp_cdc_vupgrade 請在您已啟用的 Windows Change Data Capture 上附加 SQL Server 2016 實例或 SQL Server 2017 上的資料庫之後執行。

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