dポイントプレゼントキャンペーン実施中!

他の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を使用します。

A 回答 (1件)

まずリンクサーバの登録をします。

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

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

お礼日時:2010/08/03 20:31

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