Sql-Server
為什麼在具有 CCI 的表上啟用 CDC 時出現錯誤 35353?
我正在嘗試在 SQL Server Standard 2019 中對具有聚集列儲存索引、唯一非聚集索引和非唯一非聚集索引的表啟用更改數據擷取。命令失敗並出現以下錯誤:
Msg 35353, Level 16, State 1, Procedure sys.sp_cdc_enable_table_internal, Line 243 [Batch Start Line 16] Change Data Capture cannot be enabled on a table with a clustered columnstore index. Consider dropping clustered columnstore index
我不明白為什麼會出現此錯誤,因為據我從 Microsoft 文件中可以看出,CCI 支持 CDC。
有沒有其他人遇到過這個錯誤或知道它為什麼會發生?
我剛收到微軟的回复。CCI 和 CDC 的文件不正確/具有誤導性。聚集列儲存索引不支持更改數據擷取。從 SQL Server 2016 開始,非聚集列儲存索引支持它。他們正在更正文件。
此限制的解決方法發佈在 SO 上:
- 如果存在,則刪除聚集列儲存索引。
- 啟用 CDC。
- 創建聚集列儲存索引。
瞧!有用!