• 締切済み

暗号化したDBのデータ移行

SQLServer2005Expressを使用して暗号化したデータベースのデータを他のPCへ移行しようとしております。 いろんなサイトを参考に下記の手順にてデータを移行しようとしております。 (1)データのバックアップ (2)Backup Certificate aaaaa to file = 'c:\aaa.cer' with private key (file = 'c:\xxx.pvk'',encryption by password = 'xxxxx') (3)新PCへマスターキーの作成 (4)Create Certificate aaaaa From file = 'c:\aaa.cer' with private key (file='c:\xxx.pvk',decryption by password= 'xxxxx') (5)データのリストア リストア後、既存のプログラムを実行したところ、下記のコマンドを実行した場合に“この操作を実行するには、マスターキーをデータベースに作成するか、またはセッション内のマスターキーを開いてください” とメッセージが出力されます。 "OPEN SYMMETRIC KEY aaaaaaaa DECRYPTION BY CERTIFICATE xxxxxxxxxxx" どこがいけないのでしょうか? 非常に困っています。 よろしくお願いいたします。

みんなの回答

  • kiwa67
  • ベストアンサー率22% (82/357)
回答No.2

(3) がよくないのでは内科と思います。 移行元と移行先のPCでマスターキーが変更されたためと思います。 #1 の方のいう方法での移行でいいと思います。

papope
質問者

補足

ご回答、ありがとうございます。 マスターキーについては、この質問の後、証明証を含み再生成いたしました。(Alter Mater key Regenerate~) これで、ManagementStudioでは暗号化項目も読み込めるのですが、アプリからでは相変わらず読み込めません。 読み込んだデータを参照するとNullが返ってきてしまってます。 よろしくお願いいたします。

  • Willyt
  • ベストアンサー率25% (2858/11131)
回答No.1

データの移行にバックアップ機能を使用するからいけないのではないでしょうか。まずデータベースの管理ソフトを立ち上げ、パスワードを使ってデータベースにあるデータを読み込んで、通常のファイルに暗号なしで通常のファイルに書き出します。その後、移行先で同じソフトを立ち上げて、通常ファイルにあるデータを読み出してこれを暗号化してデータベースファイルに書き込めばいいのでは?

papope
質問者

補足

早々のご回答ありがとうざいます。 管理ソフト(ManagementStudio)でそのようなことができるのでしょうか? 暗号化はDB全体ではなく、項目単位にしております。 よろしくお願いします。

関連するQ&A