- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLServerで別インスタンスのデータベースのテーブルの結合はできますか?)
SQLServerで別インスタンスのデータベースのテーブルの結合は可能か?
このQ&Aのポイント
- SQLServerで別インスタンスのデータベースのテーブルを結合する方法について説明します。
- インスタンスAとインスタンスBが同一マシンにあり、SQLServer2008SP1を使用しています。VS2008SP1で開発環境を構築しており、SqlClient.SqlConnectionを使用して接続し、SqlCommandを使ってSQLを実行しています。
- 結合のSQLのイメージは「select * from [インスタンスA].[db01].[dbo].[Table1] tbl1 join [インスタンスB].[db02].[dbo].[Table2] tbl2 on tbl1.id=tbl2.id」となりますが、動作はしません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
2つのインスタンス間でリンクサーバを設定します。 http://msdn.microsoft.com/ja-jp/library/ms188279.aspx 上記リンクにあるとおり、SSMSで設定可能です。 リンクサーバはSQLを実行するインスタンスに作成します。 例えば、SQLをインスタンスAで実行するならば、インスタンスA側に「インスタンスB」という名前のリンクサーバを設定します。 結果、インスタンスAで実行するクエリは、以下の通りです。 select * from [db01].[dbo].[Table1] tbl1 join [インスタンスB].[db02].[dbo].[Table2] tbl2 on tbl1.id=tbl2.id
お礼
リンクサーバを作成することで無事できました。 ありがとうございました。