web-dev-qa-db-ja.com

「暗号化を有効にする」をFALSEに設定します...何が問題になるのでしょうか?

同じサーバー上のSQL Server 2012からSQL Server 2014にデータベースを移行しています。

どうやら暗号化されているデータベースにLOG SHIPPINGを設定しています。

enter image description here

ログ配布を設定すると、次のメッセージが表示されます(バックアップからデータベースを復元し始めたとき):

enter image description here

私はここの新しいDBAであり、マスターキー、暗号化されたキーなどのレポートはありません。

SQL2012からSQL2014へのログ配布を設定しています(回復なし)。このデータベースをEncryption enabled - falseに設定して、ログ配布ウィザードでデータベースを復元しようとすると、何が問題になるのでしょうか?

これ のように、この問題についていくつかの質問がありますが、すべてのユーザーがパスワードが必要だと言っています。

プライマリサーバー(2012)のmaster > security > certificatesでこの証明書を見つけました。

enter image description here

そして、Interetを介していくつかのコードサンプルがありますが、それらを本当に信頼することはできません(単純すぎるとは思いません)。

`USE MASTER
GO
ALTER DATABASE DatabaseName
SET ENCRYPTION OFF
GO
USE DatabaseName
GO
DROP DATABASE ENCRYPTION KEY
GO`

Edit1:

この質問では Dylonさんのコメント:

拇印エラーが発生する場合、証明書はソースサーバーの証明書/キーバックアップから適切に作成されていません。

このトピックについて混乱しています。暗号化を無効にし、他のサーバーでデータベースを復元してログ配布を行い、いつか暗号化を有効にするだけです。


Edit2:

Database > tasks > manage database encryptionにもいくつかのオプションがあります:

enter image description here

これを無効にすると、データベースを再度バックアップし、新しいインスタンスで復元できますか?

7
Racer SQL

TDEを無効にしないでください。長いデータサイズの操作であることに加えて、それは最初に理由のために確立されたものであり、TDEに存在するコンプライアンス/操作の理由をすべて壊す可能性があります。

むしろ、TDEの存在下でログ配布を適切にセットアップします。 TDEで保護されたデータベースを別のSQLサーバーに移動する で説明されている手順に従います。元のサーバーからTDE証明書をexportして、importスタンバイサーバー上で、masterデータベースマスターキーで暗号化され、データベースmasterマスターキーがサービスマスターキーで暗号化されていることを確認します。その後、正しく実行されれば、必要なTDE証明書が存在するため、復元操作は成功します。

証明書をコピーするには:証明書は、プライマリインスタンスのmasterデータベースにあります。実行する必要があります:

BACKUP CERTIFICATE TDE_CERT 
 TO FILE <where to save cert> 
 WITH PRIVATE KEY (FILE = <where to save private key>, 
  ENCRYPTION BY PASSWORD = <password for the private key file>);

次に、証明書と秘密鍵の両方のファイルをセカンダリにコピーし、次のコマンドを使用してmasterに復元します。

 CREATE CERTIFICATE TDE_CERT 
  FROM FILE = <your copied cert file> 
  WITH PRIVATE KEY (FILE = <your copied private key file>,
   DECRYPTION BY PASSWORD = <password that protects private key file>);

セカンダリのmasterTDE_CERTは、作成する必要があるmasterデータベースマスターキーで暗号化する必要があります。

7
Remus Rusanu