メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

データベースで暗号化のオン/オフを定期的に有効にし、SQL Server 2012 でデータベースの暗号化キーを定期的に変更することを前提とします。 このシナリオでは、暗号化を有効にすると、データベースが暗号化されていない可能性があります。 暗号化キーを変更すると、アサーションが発生する可能性があります。

原因

この問題が発生するのは、データベース暗号化キー (DEK) が暗号化された状態ではなく、キーが変更された場合、キーの次の更新によって DEK のキー部分がコピーされますが、暗号化の状態を正しく設定することはありません。 SQL Server 2012 では、暗号化解除スキャンの後に、ファイル制御ブロック (FCB) ヘッダーの DEK が保持され、キーがドロップされた場合にのみ DEK が削除されます。  暗号化がオフになっている場合は、キーの変更があり、暗号化を有効にしようとすると、動的管理ビュー (DMV) で暗号化が完了したことが示されます。 ただし、暗号化スキャンは実行されず、ページはそのまま暗号化されません。

解決方法

累積的な更新プログラムの情報

SQL Server 2012

この問題の修正プログラムは、累積的な更新プログラム1で最初にリリースされました。SQL Server 2012 用の累積更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2679368 SQL Server 2012 の累積的な更新プログラムパッケージ1注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2012 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2692828 SQL Server 2012 がリリースされた後にリリースされた SQL Server 2012 ビルド

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

回避策

この問題を回避するには、データベースの暗号化をオフにするたびに暗号化キーを削除します。

詳細情報

コールスタック情報

FCB::InitializeReencryptionScan ntdbms\storeng\dfs\manager\fcb.cpp 8407FCB::ReencryptFile ntdbms\storeng\dfs\manager\fcb.cpp 8934AsynchronousDiskAction::DoReencryptFile ntdbms\storeng\dfs\manager\asyncdp.cpp 810AsynchronousDiskAction::ExecuteDeferredAction ntdbms\storeng\dfs\manager\asyncdp.cpp 1203AsynchronousDiskPool::ProcessActions ntdbms\storeng\dfs\manager\asyncdp.cpp 2252AsynchronousDiskWorker::ThreadRoutine ntdbms\storeng\dfs\manager\asyncdp.cpp 3120SubprocEntrypoint ntdbms\storeng\dfs\process\subproc.cpp 444SOS_Task::Param::Execute e:\sql11_main_t\sql\common\dk\sos\include\sos.inl 8564SOS_Scheduler::RunTask e:\sql11_main_t\sql\common\dk\sos\src\scheduler.cpp 976SOS_Scheduler::ProcessTasks e:\sql11_main_t\sql\common\dk\sos\src\scheduler.cpp 852SchedulerManager::WorkerEntryPoint e:\sql11_main_t\sql\common\dk\sos\src\node.cpp 1809SystemThread::RunWorker e:\sql11_main_t\sql\common\dk\sos\include\worker.inl 823SystemThreadDispatcher::ProcessWorker e:\sql11_main_t\sql\common\dk\sos\src\node.cpp 449Assert in FCB::InitializeReencryptionScan in file fcb.cpp @ 8407Expression: a_dbDEK->GetDbeState () == CSECDEK::x_dbe_DecryptionInProgress || a_dbDEK->GetDbeState () == CSECDEK::x_dbe_EncryptionInProgress 

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×