將已啟用 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 上的資料庫之後執行。
如需詳細資訊,請參閱 附加資料庫。