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&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;
にすれば、とりあえずご希望は叶うでしょう。

Qテーブル定義(Foreign Key)の参照方法

SQLServerでForeignキーの内容を確認したいのですが、
テーブル定義を表示する命令文を教えて下さい!

Aベストアンサー

SQL Server 2005なら、情報スキーマが提供されています。
sys.objects等を参照するより、より簡単に参照しやすくなっています。

<SQL例>
select
ref.CONSTRAINT_NAME,
col.TABLE_SCHEMA,
col.TABLE_CATALOG,
TABLE_NAME,
COLUMN_NAME,
ORDINAL_POSITION
from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS as ref,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE as col
where ref.CONSTRAINT_NAME=col.CONSTRAINT_NAME
order by ref.CONSTRAINT_NAME,ORDINAL_POSITION

参考URL:http://msdn2.microsoft.com/ja-jp/library/ms186778.aspx

QMETAタグに登録するキーワード数について

以下METAタグに登録するキーワード数ですが、どれぐらいの数を登録するのが妥当でしょうか?膨大な数のキーワードを登録してもいいのでしょうか?

<meta name="Keywords" content="">

Aベストアンサー

ある無料ホームページのヘルプには、ページあたり5~10語くらいが適当だと書いてありました。

本来、キーワードというものは本の巻末の索引から来ているもので、やたらと沢山あっても混乱してしまいます。

ですので、本当に自分のサイトのテーマ(主題)に沿った重要な言葉を絞り込んで登録した方が、検索結果を見て来た人に親切だと思います。

いくらトレンドで人気のあるキーワードだからといっても、あなたのサイトが、サイトの内容とあまり関係のないそのキーワードで引っかかってしまったら、情報としての価値は非常に低いものになってしまいます。(これは、私が仕事をしている業界用語で「ゴミ」と呼ばれています。)

ゴミ情報にされないように、あなたのサイトの価値を高めるためにも適切な言葉を絞り込んで登録して下さい。ご検討お祈りいたします。

QデータベースからFOREIGN KEYの一覧を取得したい

初心者です。

SQL SERVER 2005で
データベースで使用されている外部キーの一覧を取得したいのですが、

SELECT * FROM sys.objects WHERE type = 'F'

SELECT * FROM sys.foreign_keys

では、実際にどのテーブル・どの項目が使用されているのかが取得できません。
どのようなSQL文を書いたらいいでしょうか?

よろしくお願いします!

Aベストアンサー

SQL Server 2005とのことなので、情報スキーマを利用するのが簡単だと思います。

http://msdn2.microsoft.com/ja-jp/library/ms186778.aspx

検索SQLとしては、こんな感じです。

select
ref.CONSTRAINT_NAME,
col.TABLE_SCHEMA,
col.TABLE_CATALOG,
TABLE_NAME,
COLUMN_NAME,
ORDINAL_POSITION
from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS as ref,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE as col
where ref.CONSTRAINT_NAME=col.CONSTRAINT_NAME
order by ref.CONSTRAINT_NAME,ORDINAL_POSITION
;

Qmetaタグには複合キーワードを入れる?

metaタグに悩んでいます。Googleはmetaタグを重要視していないことは知っていますが、Yahooはしているみたいなのでキチンと使用と思います。meta keyword なのですが、ここにはページの重要なキーワードを入れるべきなのは知っていますが、複合キーワードはどうしたらいいのかわかりません。

<meta name="Keywords" content="広告名,長所,メリット,特徴" />
<meta name="Keywords" content="広告名 長所,広告名 メリット,広告名 特徴" />

この2つではどっちがいいでしょうか?キーワードという考え方では上のほうがいいと思うのですが

Aベストアンサー

複数のキーワードで検索結果に出したいのなら複数入れても問題は在りません。
尚、複数入れる場合はキーワードの間には「,」で区切る事。
半角の空白では駄目。

QGROUP BY で列名は指定できないの?

いつもお世話になっております。
SQLで GROUP BY を使うときに SELECT部分で指定した
列名を指定したいことがよくあると思います。
列名を指定する方法はないのでしょうか?

例)
SELECT 項目A,
CASE WHEN 項目B = 1 THEN '○' WHEN 項目B IN (2,3) THEN '×' END AS 丸バツ,
SUM(数量)
FROM TABLE
GROUP BY 項目A, 丸バツ

こんな風にGROUP BYで指定したいのですが・・・。

Aベストアンサー

それ、使いたいですよね。でもSQL Serverでは使えないみたいです。

group byの中にcase...endを丸ごと書き入れれば同じことができるのですが、同じことを2回書かないといけないのは見た目が冗長なだけでなくメンテナンス性も下がりますし、なによりgroup byの中身がちょっとでも変わるとちゃんと文句を言う(つまり、2回とも本当に全く同じかどうか、SQL Serverはちゃんとチェックしている)というのが、釈然としないところです。別名を使わせてくれれば全部解決するのに。

なお、同じく若干冗長な表現になりますが、こういう書き方もできます。(SQL Server 2000以上。SQL Server 7.0だとどうかな・・・6.5以前では使えません。)

select a, x from
  (select a, case...end as x from table) as tablex
  group by a, x

こうすると、「カラムaとカラムxを持つ中間的なテーブルtablex」が外側のselectで仮定されるので、カラムxをgroup byで使うことができます。

それ、使いたいですよね。でもSQL Serverでは使えないみたいです。

group byの中にcase...endを丸ごと書き入れれば同じことができるのですが、同じことを2回書かないといけないのは見た目が冗長なだけでなくメンテナンス性も下がりますし、なによりgroup byの中身がちょっとでも変わるとちゃんと文句を言う(つまり、2回とも本当に全く同じかどうか、SQL Serverはちゃんとチェックしている)というのが、釈然としないところです。別名を使わせてくれれば全部解決するのに。

なお、同じく若干冗長な表現にな...続きを読む

QメッセンジャーバッグTIMBUK2についている「黄色いプラスチックの輪っか」ってタグ?

TIMBUK2メッセンジャーバック(クラシック)に
黄色い三角形のプラスチックがショルダー部についているのですが、
ただのタグのようなもので捨てても構わない、
それともデザイン上つけたまま?
または使い道があるのでしょうか?

お手数ですが宜しくお願い致します。

Aベストアンサー

それは商品陳列用のフックです。

購入後使い道はありません。
形が気に入っているなら付けていてもいいとは思いますが、
自分は付けている人を見たことがありません。

本国サイトでのカラーオーダーの場合はその部品は付いていません。
陳列することがないからだと思います。

QGROUP BY 又は HAVING句?

伝票情報と明細情報をもつそれぞれのテーブルがあり両者は伝票No.で
リンクされておりレコードは1:nの関係にあるとします。

任意の顧客で指定日付範囲の結合レコードを商品単位でグロス集計を
して商品別の数量を求めたいのですが適当なSQL文が判らず困ってお
ります。

下記は抽出のみのサンプルですがこれを上記のような結果に導くには
どのようにすればよいかアドバイス願います。

select
H.URH_DENNO, H.URH_KEJ_YMD, H.URH_TKI_CD, H.URH_TKI_MEI, H.URH_U_KINGAK,
D.URD_DENNO, D.URD_GYO, D.URD_HIN_CD, D.URD_HIN_MEI, D.URD_BARA_SU, D.URD_UT_TANKA, D.URD_UT_KINGAK
from HDT_URIHD H, HDT_URIDT D
WHERE H.URH_TKI_CD = 9999
AND H.URH_DENNO = D.URD_DENNO
AND H.URH_KEJ_YMD >= 20050601
AND H.URH_KEJ_YMD <= 20050630
ORDER BY H.URH_DENNO, D.URD_GYO

伝票情報と明細情報をもつそれぞれのテーブルがあり両者は伝票No.で
リンクされておりレコードは1:nの関係にあるとします。

任意の顧客で指定日付範囲の結合レコードを商品単位でグロス集計を
して商品別の数量を求めたいのですが適当なSQL文が判らず困ってお
ります。

下記は抽出のみのサンプルですがこれを上記のような結果に導くには
どのようにすればよいかアドバイス願います。

select
H.URH_DENNO, H.URH_KEJ_YMD, H.URH_TKI_CD, H.URH_TKI_MEI, H.URH_U_KINGAK,
D.URD_DENNO, D.URD_GY...続きを読む

Aベストアンサー

select D.URD_HIN_CD, D.URD_HIN_MEI,sum(D.URD_BARA_SU) as URD_BARA_SU
WHERE
H.URH_TKI_CD = 9999 AND
H.URH_DENNO = D.URD_DENNO AND
H.URH_KEJ_YMD between 20050601 AND 20050630
GROUP BY H.URH_TKI_CD,D.URD_HIN_CD, D.URD_HIN_MEI

な感じ。

何が判らないのか書かれていないので、説明のしようがない。

QMETAタグのキーワードの設定

METAタグでキーワードを設定したいのですが、
たとえば、飲食店関係のキーワードで、

日本料理店、日本料理、

のように、日本料理がかぶってしまう場合はどうすればよいのでしょうか。

その場合、日本料理店で日本料理も含まれるのでしょうか。

もう一つ例に、
トマト、トマトスパゲティ、トマトソース、トマトのラーメン

など、トマトが沢山入ってもいいのですか。

Aベストアンサー

基本的に単語単語で入力していきます。

なので、

日本, 料理, 店

といった感じだと思います。
あとの方も

トマト, スパゲッティ, ソース, ラーメン

といった感じでしょうか。
トマトラーメンっておいしいんですかね…

QSQLServerのGROUP BYについて

SQLServerでGROUP BYを使用してデータをSELECTする場合について質問があります。

GROUP BYを行う項目に’△△1’と’1△’というデータが入っていた場合、
  ※上記の△は半角スペースです。

’△△1’と’1△’は同じグループとして、グルーピングされるのでしょうか。
Oracleにデータを移行して、GROUP BYをかけると上記のケースはデータ件数が異なります。
これはSQLServerの仕様なのでしょうか。(バージョンは2000です。)

お手数ですが、ご教示願います。 

Aベストアンサー

SQL Server 2000 は持ってないけど、'△△1' と '△1' は区別されたと思いますよ。
後ろの空白文字が無視されて他と思います。

'1'
'△1'
'△△1'
'1△'
'1△△'

これを GROUP BY すると

'1'
'△1'
'△△1'

てな感じに


人気Q&Aランキング