Microsoft は、Microsoft SQL Server 2008 および Microsoft SQL Server 2008 R2 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、各新しいリリースには、以前の SQL Server 2008 または SQL Server 2008 R2 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。
現象
次のような状況で問題が発生します。
-
SQL Server 2008 または Microsoft SQL Server 2008 R2 のデータベースでは、透過データ暗号化を使用します。
-
データベースの暗号化を無効にします。
-
暗号化を無効にするとすぐにデータベースがバックアップされます。
-
バックアップを使用して、別の SQL Server インスタンスでデータベースを復元しようとしている。
このシナリオでは、復元操作は失敗し、次のようなエラーメッセージが表示されます。
ファイル: "<データベース名>_log" は正しく初期化できませんでした。 詳細については、エラーログを確認してください。 (Microsoft.SqlServer.Smo)
ただし、エラーログには詳細情報はありません。 データベースをバックアップする前にデータベースの暗号化キーを削除した場合、データベースを復元しようとすると、次のエラーメッセージが表示されます。
0xCB62FF76463A6BF86E8F769B541BA6483AFC2FF2: 拇印が ' ' のサーバー証明書が見つかりません。 (Microsoft.SqlServer.Smo)
解決方法
累積的な更新プログラムの情報
SQL Server 2008 Service Pack 1
この問題の修正プログラムは、SQL Server 2008 Service Pack 1 の累積更新プログラム10で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2279604 SQL Server 2008 Service Pack 1 の累積的な更新プログラムパッケージ10注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
970365 SQL Server 2008 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 ビルド Microsoft SQL Server 2008 修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 Service pack 1 ホットフィックスは、SQL Server 2008 Service Pack 1 のインストールに適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。
SQL Server 2008 Service Pack 2
この問題の修正プログラムは、SQL Server 2008 Service Pack 2 の累積更新プログラム1で最初にリリースされました。 この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2289254 SQL Server 2008 Service Pack 2 の累積更新プログラム1注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2402659 SQL Server 2008 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 ビルド
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム4で最初にリリースされました。SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2345451 SQL Server 2008 R2 の累積更新プログラムパッケージ4 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
問題の再現手順
-
マスターキーを作成します。 マスターキーを作成するコードの例を次に示します。
use masterCreate Master Key encryption by password = 'Password01!';go
-
マスターキーによって保護されている証明書を作成または取得します。 マスターキーによって保護された証明書を作成するコードの例を次に示します。
create certificate cert_testDB_encryptDEK authorization dbowith subject='Certificate to encrypt the DEK of testDB'
-
新しいデータベースを作成し、データベース暗号化キーを作成して、証明書によってキーを保護します。 次に示すのは、新しいデータベースを作成し、データベース暗号化キーを作成してから、証明書を使用してキーを保護するコードのサンプルです。
create Database testDBuse testDBCreate database encryption key with algorithm=AES_128encryption by server certificate cert_testDB_encryptDEK
-
暗号化を使用するようにデータベースを設定します。 暗号化を使用するようにデータベースを設定するコードの例を次に示します。
Alter database testDB set encryption on
-
データベースの暗号化を無効にします。 データベースの暗号化を無効にするコードの例を次に示します。
Alter database testDB set encryption off
-
データベースをバックアップして、別のバージョンの SQL Server にバックアップを復元します。
参照情報
透過的なデータ暗号化 (TDE) の詳細については、次の Microsoft 開発者ネットワーク (MSDN) web サイトを参照してください。
TDE に関する一般的な情報SQL Server の段階的サービスモデルの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
935897 SQL Server チームが段階的なサービスモデルを利用して、報告された問題の修正プログラムを提供するSQL Server 更新プログラムの名前付けスキーマの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
822499Microsoft SQL Server ソフトウェア更新プログラムパッケージの新しい名前付けスキーマソフトウェア更新プログラムの用語の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明