こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

他のDBのテーブルと内部結合が可能でしょうか

他のDBのテーブルと内部結合が可能でしょうか
sql sever 2005 を使用します。このたび、データベースAのテーブルaを定期的に検索するsqlを作成することになりました。このsql文は、ストアードプロシージャとして登録予定です。
その際、テーブルbを内部結合で参照します。例として、テーブルaは社員番号があり、テーブルbは社員番号、社員名があります。(テーブルbは社員マスター)
テーブルaを参照し、その社員名を内部結合(INNER JOIN)で取り出します。
ここで、テーブルa,bが共に、同じデータベース内にある場合は、問題ないのですが、
テーブルbは、別のマシンのsql sever 上にあります。(したがって、データベース名も異なります)
このような状態で、内部結合による参照は可能でしょうか?
また、内部結合ができないまでも、ストアードプロシージャで、データベースAのテーブルaを参照しながら、別のマシンのデータベースBのテーブルbを参照することは、原理的に可能でしょうか。
なお、データベースは共にsql server 2005を使用します。

投稿日時 - 2010-08-02 22:39:16

QNo.6082763

すぐに回答ほしいです

質問者が選んだベストアンサー

まずリンクサーバの登録をします。Managment Studioからサーバオブジェクトを展開しリンクサーバを右クリックし新しいリンクサーバをクリック。画面の指示に従って登録してください。
SQL文の例 SELECT AA.*, BB.社員名 FROM 別のマシンのインスタンス名.別のマシンのデータベース名.dbo.社員マスター AS BB INNER JOIN dbo.テーブルa AS AA ON BB.社員コード = AA.社員コード
VPNを構築していれば遠方のSQLサーバともおなじ要領で結合することができます。

投稿日時 - 2010-08-03 20:04:25

お礼

出来るか否だけでなく、具体的な手順まで提示して頂きありがとうございました。
実は、ある案件で、このような事が出来るか否かを判断する必要がありました。
出来るか否かで対処の方法が変わりますので、非常に今後の対応が楽になりました。
こちらが期待した以上の回答をしていただき、誠にありがとうございました。

投稿日時 - 2010-08-03 20:31:40

ANo.1

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問