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"

どこがいけないのでしょうか?

非常に困っています。

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

(3) がよくないのでは内科と思います。


移行元と移行先のPCでマスターキーが変更されたためと思います。

#1 の方のいう方法での移行でいいと思います。

この回答への補足

ご回答、ありがとうございます。

マスターキーについては、この質問の後、証明証を含み再生成いたしました。(Alter Mater key Regenerate~)

これで、ManagementStudioでは暗号化項目も読み込めるのですが、アプリからでは相変わらず読み込めません。
読み込んだデータを参照するとNullが返ってきてしまってます。

よろしくお願いいたします。

補足日時:2009/05/25 12:43
    • good
    • 0

データの移行にバックアップ機能を使用するからいけないのではないでしょうか。

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

この回答への補足

早々のご回答ありがとうざいます。

管理ソフト(ManagementStudio)でそのようなことができるのでしょうか?

暗号化はDB全体ではなく、項目単位にしております。

よろしくお願いします。

補足日時:2009/05/25 12:41
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qテキストエリア内でタグ
を使わずにenterキーで改行したい

myshop.cgiという、フリーのcgiを使いたくて、超初心者なりに色々
調べながらもなんとか思い通りに出来てきたんですが、一つだけ
どうしても自分では解決できなくて、困ってます。
enterキーでは改行できず、<BR>でしか改行できないテキストエリア内に、
ある文章をコピペしたいんですが、コピペした後に、いちいち<BR>を
入れるのが面倒なんで、enterキーで改行できるようにしたいんです。
しかし、どこをどういじればいいのかさっぱりわからなくて・・・。
とりあえず悩んでる付近のコードを載せておきます。
超初心者です!よろしくお願いします!
解決したいテキストエリアは、「サイトの紹介文」を入力するとこです。
-------------------------------------------------------------
print <<"EOF";
</select>$nini</td>
</tr>
<tr>
<td>カテゴリ3 <select name="ct3">
<option value="">選択しない</optin>
EOF

if ($use_sub) {
foreach (0 .. $#cates) {

@SUB = split(/\s+/, $subct[$_]);
$i=0;
foreach $j (@SUB) {
print qq( <option value="$_\,$i">$cates[$_] &raquo; $j</option>\n);
$i++;
}
}
}

if (!$print_url) { $nourl = qq(<span style="color:red;">現在非表\示に設定されています。</span> ); }

print <<'EOF';
</select>$nini</td>
</tr>
<tr>
<td>サイトタイトル <small>(タグ利用可\能\ / 同じECサイトのテキスト広告が効果的)</small><br>
<input type="text" name="tl" size="68"></td>
<tr>
<tr>
<td>バナーのHTMLコード <small>(アフィリエイト仲介サイトからコピー&amp;ペーストして下さい。)</small><br>
<textarea name="code" cols="54" rows="8"></textarea></td>
</tr>
<tr>
<td>サイトの紹介文 <small>(タグ利用可\能\ / 但し改行は反映されないので<span style="font-weight:bold;">&lt;br&gt;を使用</span>して下さい。)</small><br>
<textarea name="msg" cols="54" rows="20"><BR><BR><BR><BR></textarea></td>
</tr>
<tr>
<td>価格 <small>(タグも利用可\能\)</small><br>
<input type="text" name="url" size="68"></td>
<tr>
<tr>
<td>サイトに関係の深いキーワード <small>(任意。検索で使用、5個までで最大文字数は20文字。)<br>
<input size="14" type="text" name="key1" maxlength="20">
<input size="14" type="text" name="key2" maxlength="20">
<input size="14" type="text" name="key3" maxlength="20">
<input size="14" type="text" name="key4" maxlength="20">
<input size="14" type="text" name="key5" maxlength="20"></td>
</tr>
<tr>
<td>サイト紹介文の位置<br>
<input type="radio" name="line" value="0" id="bot" checked><label for="bot">バナーの下</label>
<input type="radio" name="line" value="1" id="sid"><label for="sid">バナーの横</label></td>
</tr>
<tr>
<td>オススメマーク<br>
<input type="radio" name="rec" value="0" id="ron" checked><label for="ron">付けない</label>
<input type="radio" name="rec" value="1" id="rof"><label for="rof">付ける</label></td>
</tr>
<tr>
<td>表\示状態 (非アクティブにチェックを入れると一覧には表\示されません。)<br>
<input type="checkbox" name="no_act" value="1" id="nact"><label for="nact">非アクティブにする</label></td>
</tr>
<tr>
<td align="center"><br>
<input type="submit" value=" 登録する "><input type="reset" value="リセット">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
EOF
exit;

myshop.cgiという、フリーのcgiを使いたくて、超初心者なりに色々
調べながらもなんとか思い通りに出来てきたんですが、一つだけ
どうしても自分では解決できなくて、困ってます。
enterキーでは改行できず、<BR>でしか改行できないテキストエリア内に、
ある文章をコピペしたいんですが、コピペした後に、いちいち<BR>を
入れるのが面倒なんで、enterキーで改行できるようにしたいんです。
しかし、どこをどういじればいいのかさっぱりわからなくて・・・。
とりあえず悩んでる付近のコードを載せておきま...続きを読む

Aベストアンサー

サブルーチン decode の
 $in{'code'} =~ s/\r\n//g;
 $in{'code'} =~ s/\r//g;
 $in{'code'} =~ s/\n//g;
 $in{'msg'} =~ s/\r\n//g;
 $in{'msg'} =~ s/\r//g;
 $in{'msg'} =~ s/\n//g;
ですべての改行文字を削除していますから、ここを
 $in{'code'} =~ s/\r\n/<br>/g;
 $in{'code'} =~ s/\r/<br>/g;
 $in{'code'} =~ s/\n/<br>/g;
 $in{'msg'} =~ s/\r\n/<br>/g;
 $in{'msg'} =~ s/\r/<br>/g;
 $in{'msg'} =~ s/\n/<br>/g;
にすれば、とりあえずご希望は叶うでしょう。

QSQLServer2000からSQLServer2005へのデータ移行

SQLServer2000からSQLServer2005へのデータ移行方法

Microsoft SQL Server ManagementStadio Expressで
SQLServer2000のバックアップファイルから、
ローカルの開発環境(SQL Server2005 Express)でデータベースを復元しようと試みましたところ、
復元が正常に出来ませんでした。

復元はエラーが発生せず完了しデータベースは作成されているのですが、
データベースを右クリックで削除やプロパティを見ることもできず、
どのようなテーブルが存在するのか中身の参照も追加も何もできない状態です。

http://qanda.rakuten.ne.jp/qa4183273.html
上記URLなどでSQL Server2000のバックアップから2005で復元しているような発言がされているので
可能だと思うのですが、何か特別な処理が必要なのでしょうか?

ご存じのかた、教えていただけますようお願いいたします。

Aベストアンサー

とくに特別な処理は必要ないはずです。
リストアは正常に行われたと書かれていますが、中身が見られないならば、それは正常に行われていないということかもしれません。

・sys.databasesのstate_descの内容がONLINEになっているか
・use データベース名
・そもそもsysadmin権限のあるユーザでリストアしたか
・バックアップファイルが正常か
あたりを確認してみるしかなさそうです。

Qコード進行 amキー、B7 E7の間にFが…

短調、IIm-5またはII7を使用する場合
次に来るコードは、V7だと思うのですが

とある楽曲で
II7 VI V7

II7 IV6onVI V7

というコード進行を見かけました。
めったには見かけないのですが
何故 間にIVまたはベース音IVのコードが
存在しているのでしょうか?

Aベストアンサー

1です。「いい日旅立ち」ですか。聞いてみましたがこの曲で使われているのは II7 IV6onVI V7 ですね(オリジナルキー B♭m ですが以下 Am に移調しておきます)。

これはむしろ B7 - Bm7-5onF - E7 とするべきかなと感じました。先の回答で書いたように m7-5 とその短三度上の m6 は構成する音が同じです。メジャーキーの例で出した Gm6onB♭ - A7 も Em7-5onB♭ - A7 と書かれることが多く(「いい日旅立ち」でも「日本のどこかに~」の「に~」のところにこれが使われています)あります。

さて、B7 がドミナント E7 に対するドミナント、ドッペルドミナントであるのはご存知でしょう。ところが長調でも短調でもこのドッペルドミナント、“順当に” ドミナントへ進まないことが案外多くあります。Cメジャーでは D7 - G7 となりそうなところを D7 - Dm7 となったり D7 - F となることがあり、その次はやっとドミナントの G7 に行くこともあれば C に行くこともあります。

Am では B7 - Dm や今回の B7 - F 、B7 - Bm7-5 (逆の Bm7-5 - B7 - E7 もあり)などがありますがメジャーキーと違うのはこのあとすぐ Am に行くことはあまりないということです。不可能ではありませんが傾向としてマイナーキーでは V7 - I というドミナント進行がメジャーキーよりも幅を利かせているようで、これらの後に E7 を挿んで Am へと行くことが通常です。

あとはベースの動きは B - B - E では動きが少ないので B - D - E とするか B - F - E とするかですが前者は実質的に Dm6 と同じになり(それも不可ではない)大きく跳躍する後者に面白みがあります。

他に B7 から続きうるものとしては B♭7 がありこれは E7 の裏コードにあたります。Am は「引き返した感じ」が強く(ドッペルはその次にドミントか別のコードが来てというような展開を予想されるのにそれが期待に反して戻ってくる感じ。特殊効果を狙って使うこともあるにはあります。例えばCメジャーで C - D7 - C - D7 となるいわゆる「トゥナイト進行」など)また B7 - Am はEマイナー調の V7 - IV に相当し、弱進行的な不自然な響きになり、E7 への期待感も少なくなる(むしろ B7 のもつ期待感を打ち消す)ので避けられます。C は B7 - C まではそれほどの不自然は感じませんがやはり E7 へ続く感じが弱くなります。

1です。「いい日旅立ち」ですか。聞いてみましたがこの曲で使われているのは II7 IV6onVI V7 ですね(オリジナルキー B♭m ですが以下 Am に移調しておきます)。

これはむしろ B7 - Bm7-5onF - E7 とするべきかなと感じました。先の回答で書いたように m7-5 とその短三度上の m6 は構成する音が同じです。メジャーキーの例で出した Gm6onB♭ - A7 も Em7-5onB♭ - A7 と書かれることが多く(「いい日旅立ち」でも「日本のどこかに~」の「に~」のところにこれが使われています)あります。

さて、B7 がドミナン...続きを読む

QSQLserver2005より、SQLにて各データベースのプロパティに

SQLserver2005より、SQLにて各データベースのプロパティにあるサイズと使用可能領域の値を取得したいのですが、そのようなSQLはありますでしょうか。

Aベストアンサー

sp_spaceusedとか。
定義を参照して、希望する結果を出力するようなクエリを組み立ててみては。

Q教えてください! 東プレのキーボード、英語配列104キー購入しましたが、パソコンに繋いでもJIS配列

教えてください!
東プレのキーボード、英語配列104キー購入しましたが、パソコンに繋いでもJIS配列と認識しています。
英語配列と認識しても、アルト+チルトで日本語にできません。英語配列と認識させながらローマ字入力するにはどのように設定すればいいですか?
ご指導お願いします。

Aベストアンサー

参考に
https://support.microsoft.com/ja-jp/kb/416037
日本語だから、これと同じようにして、英語にすればよいってことになります。
レジストリなら、英語だから、kbd101.dllにして、PCAT_101KEYですけどね

http://qiita.com/shimizu14/items/000cceb9e72a492b9176
http://blog.heiichi.com/?eid=792239

QSQLserver2005のデータベースミラーリング 32bit-64bit

SQLserver2005のデータベースミラーリングについて教えてください。

現在Windows2003R2(32bit)+SQLserver2005(32bit)でDBを構築しています。
可用性向上のためにデータベースミラーリングを構成しようと考えています。
そのため新規にサーバーをWindows2008(64bit)+SQLserver2005SP2(64bit)で計画しています。
(メインのSQLserverはSP2にします)
このとき、SQLserverは32bitと64bitの間でミラーリングは構成できるのでしょうか。

MSDNに下記記載が有りますが、これは上記の構成が可能ということでしょうか。
http://msdn.microsoft.com/ja-jp/library/ms366349(SQL.90).aspx
「SQL Server のディスク上ストレージ形式は、64 ビット環境でも 32 ビット環境でも同じです。このため、データベース ミラーリング セッションでは、32 ビット環境で実行されているサーバー インスタンスと 64 ビット環境で実行されているサーバー インスタンスを組み合わせることができます」

よろしくお願いします。

SQLserver2005のデータベースミラーリングについて教えてください。

現在Windows2003R2(32bit)+SQLserver2005(32bit)でDBを構築しています。
可用性向上のためにデータベースミラーリングを構成しようと考えています。
そのため新規にサーバーをWindows2008(64bit)+SQLserver2005SP2(64bit)で計画しています。
(メインのSQLserverはSP2にします)
このとき、SQLserverは32bitと64bitの間でミラーリングは構成できるのでしょうか。

MSDNに下記記載が有りますが、これは上記の構成が可能ということでし...続きを読む

Aベストアンサー

経験はありませんがマイクロソフトの表記上は大丈夫かと思われます。
それよりも、Enterprise + StandardのEdition違いのほうが問題が起きそうです。
Enterpriseでは動作モードが高可用性、高パフォーマンス、高度な保護の3種類あるのに対し、Standardでは高パフォーマンスを選択できませんのでご注意を。

QJIS規格

JIS規格について調べています。
「JSA(日本規格協会)」と「JISC(日本工業標準調査会)」という2つの団体がありますが、どちらがどんな役割をしているのでしょうか?
JIS規格を考えて制定しているのはどちらですか?
ISO等国際規格とJIS規格との連携をおこなっている のはどちらでしょうか?

Aベストアンサー

JIS規格の制定は経済産業省が行っています。
日本工業標準調査会は経済産業省に設置されている審議会なので、JISの審査を行っています。
JIS規格は誰でも考えられます、メーカーや大学の研究機関から果ては個人まで。
ISOとの連携はJISC(日本工業標準調査会)が行っているようですね、経済産業省に設置されているから当然といえば当然でしょうが。
JSA(日本規格協会)は、JISのデータベースや規格表の発行、ハンドブック出版等の、どちらかというと規格を世に知らしめる類の活動ですね。

QMS SQL Server 2005 express データベースに登録する際のエラー

本についていた サンプルを動かそうとしてSQL server 2005 expressをインストールしたのですがサンプルデータベースに登録する際にDBエラーになって、うまくSQLServer 2005 Expressに接続できません。

エラーの内容は
System.Data.SqlClient.SqlException:サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Serverの既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: 名前付きパイプ プロバイダ, error: 40 - SQL Server への接続を開けませんでした)
場所 System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception, Boolean breakConnection)
場所System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj)
場所 System.Data.SqlClient.TdsParser.Connect(Boolean&
useFailoverPartner, Boolean& failoverDemandDone, String host, String
failoverPartner, String protocol, SqlInternalConnectionTds
connHandler, Int64 timerExpire, Boolean encrypt, Boolean
trustServerCert, Boolean integratedSecurity, SqlConnection
owningObject, Boolean aliasLookup)
場所 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection
owningObject, SqlConnectionString connectionOptions, String
newPassword, Boolean redirectedUserInstance)
場所 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity
> identity, SqlConnectionString connectionOptions, Object providerInfo,
String newPassword, SqlConnection owningObject, Boolean
redirectedUserInstance)
場所 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions
options, Object poolGroupProviderInfo, DbConnectionPool pool,
DbConnection owningConnection)
場所 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection
owningConnection, DbConnectionPool pool, DbConnectionOptions options)
場所 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection
owningObject)
場所 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection
owningObject)
場所 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection
owningObject)
場所 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection)
場所 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory)
場所 System.Data.SqlClient.SqlConnection.Open()
場所 Seasar.Framework.Util.DataSourceUtil.GetConnection(IDataSource dataSource)



となり、データベースの登録に失敗しましたとなります。
初歩的なことでもうしわけないのですが、よろしくお願いします。

本についていた サンプルを動かそうとしてSQL server 2005 expressをインストールしたのですがサンプルデータベースに登録する際にDBエラーになって、うまくSQLServer 2005 Expressに接続できません。

エラーの内容は
System.Data.SqlClient.SqlException:サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Serverの既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (pr...続きを読む

Aベストアンサー

「SQL Server 2005」では、デフォルトでは外部からの接続を受け付けなくなっていますので、エラーメッセージ内容から見ても、それが原因かと思われます。
詳しくは、参考URLをご参照下さい。

参考URL:http://www.microsoft.com/japan/sql/ssj/tips/01.mspx

Qインテリジェントキーの追加

ニッサンモコを所有しております。夫婦が互いに使用する為インテリジェントキーが一個では不自由なのでオークションで同種の物を入手し設定方も入手しました。まだ設定作業はしていませんが設定を済ませばこのインテリジェントキーは元々の物と二個、全く同じに使用出来事ますか?

Aベストアンサー

1台の車で、数個の登録が出来ます。(車種により個数が違います)

登録さえ出来れば、元々の物と同様に使用できます。

>設定方も入手しました。
・・・との事ですので、落ち着いて「時間」や「回数」を確実に守って行ってください。

QVB2005からSQLServer2005への接続

VB2005とSQLServer2005のどちらも製品版をインストールしました。

VB2005よりサーバエクスプローラから接続の追加により自分で作成したテーブルに接続を試みたところ、
以下のようなエラーが発生し接続できません。

(エラー内容)サーバーへの接続を確立しているときにエラーが発生しました。SQL Server2005に接続しているときにこのエラーが発生した場合は、SQL Serverの既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。(provider:共有メモリ プロバイダ,error:40-SQL Serverへの接続を開けませんでした)

なにかSQLServer側の設定を変更しないと接続できないのでしょうか?
どなたかアドバイスお願いします<(_ _)>

Aベストアンサー

セキュリティの構成はどのようになっていますか?
セキュリティの設定でリモートアクセス検疫サービス等の設定がされているとリモート接続を許可しないようにする機能もあるのでSQLServerの設定を確認してみてください。

ちなみにVBからどのように接続しているのでしょうか?
SQLServerへの接続の確立は
Dim cnn As New ADODB.Connection
   ・
'接続を確立する
cnn.Open "Provider=SQLOLEDB;" & _
"Data Source=(local);" & _
"Initial Catalog=×××;", "××", ""
こんな感じですか?


人気Q&Aランキング

おすすめ情報