1

2 つのサーバー (A と B) を検索しようとしています。サーバー A にはデータベース PROD_A があり、サーバー B には PROD_B があります。PROD_A には table1 があり、PROB_B には table2 があります。2 つの異なる SQL Server から 2 つのテーブルをマージするにはどうすればよいですか? リンク サーバーのセットアップは既に完了していますが、クエリ構文に問題があります。ありがとう。

4

3 に答える 3

1

sp_addlinkedserver を使用して、リンク サーバーを作成する必要があります (ドキュメントはこちら)。サーバー A で次のコマンドを発行します。

sp_addlinkedserver ServerB

次に、次を使用してリモート テーブルにアクセスします。

select *
from ServerB.Prod_B.dbo.table2

これは、リモート テーブルの 4 つの部分からなる命名規則です。リモート テーブルが「dbo」というスキーマにあると想定しています。そうでない場合は、正しいスキーマに変更してください。

権限に問題がある場合は、別の質問を投稿してください。

1 つのクエリでそれらにアクセスする場合は、テーブルを 1 つのクエリに入れます。

select *
from ServerB.Prod_B.dbo.table2 join
     Prod_A..table1
     on . . .
于 2013-05-18T16:44:50.057 に答える
1

おそらくUNIONクエリが必要です。

SELECT * FROM [serverA].[dbName].[table1]
UNION
SELECT * FROM [serverB].[dbName].[table2]

Gordon が指摘したように、それが SQL Server の場合は、各テーブルを 4 部構成の完全な名前で参照する必要があります。

于 2013-05-18T16:48:09.427 に答える