KB4034376 - 修正: SQL Server の "常に暗号化" 機能によって列が暗号化されている場合、"データ キャプチャの変更" を無効にできない

適用先
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 system ストアド プロシージャを使用してテーブルの CDC を無効にしようとすると、次のようなエラー メッセージが表示されることがあります。

注

メッセージ 22833、レベル 16、状態 1、プロシージャ sp_cdc_disable_table_internal、行 番号 [バッチ開始行 LineNumber]
テーブル TableName が変更データ キャプチャに対して有効になっていないことを示すメタデータを更新できませんでした。
コマンド 'sp_cdc_disable_table_tranx' の実行中にエラーが発生しました。
返されたエラーは 11430 です: '列 'ColumnName' で変更データ キャプチャを有効にすることができません。
暗号化された列では、変更データ キャプチャはサポートされていません。"。
アクションとエラーを使用して失敗の原因を特定し、要求を再送信します。

解決策

この問題は、SQL Server 用の次の累積的な更新プログラムで修正されています。

SQL Server 用の累積的な更新プログラムについて

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれます。 SQL Server の最新の累積的な更新プログラムを確認してください。

詳細情報

SQL Server の CDC および Always Encrypted 機能の詳細については、次の記事を参照してください。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。