KB4034376 - 修正:如果有任何欄被 SQL Server 中的「Always Encrypted」功能加密,就無法停用「變更資料擷取」

Applies To
SQL Server 2016 Developer SQL Server 2016 Enterprise SQL Server 2016 Enterprise Core SQL Server 2016 Standard SQL Server 2016 Service Pack 1 SQL Server 2017 on Windows (all editions) SQL Server 2017 on Linux (all editions) SQL Server 2019 on Linux SQL Server 2019 on Windows SQL Server 2022 on Windows (all editions) SQL Server 2022 on Linux (all editions)

症狀

請考慮以下案例:

  • 您可以使用 Microsoft SQL Server 的 Always Encrypted 功能來加密資料表中的欄。
  • 您可以為此資料表啟用 CDC) 功能 (變更資料擷取。
  • 加密的資料行不包括在擷取的資料行清單中。

在此案例中,當您嘗試使用系統預存程序來 sp_cdc_disable_table 停用資料表的 CDC 時,您可能會收到類似下列的錯誤訊息:

注意

Msg 22833, Level 16, State 1, Procedure sp_cdc_disable_table_internal, Line Number [批次開始行 編號]
無法更新中繼資料,指出未針對 Change Data Capture 啟用資料表 TableName。
執行命令 'sp_cdc_disable_table_tranx' 時失敗。
傳回的錯誤為 11430:'無法在 'ColumnName' 欄啟用變更資料擷取。
加密的欄不支援變更資料擷取。'。
使用動作和錯誤來判斷失敗的原因,然後重新提交要求。

解決方式

此問題已在下列 SQL Server 累積更新中修正:

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

其他資訊

如需 SQL Server 的 CDC 和 Always Encrypted 功能的詳細資訊,請參閱下列文章:

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來說明軟體更新的術語。