62

名前がtest servertestdbにあるデータベースがあるとします。prodサーバーにproddbという名前のデータベースもあります。

ここで、 proddbデータベースからtestdbデータベースのテーブルのデータを選択したいと考えています。

どうすればそれを行うことができSQL Serverますか?

また、oracleのデータベース リンクを使用して実行できます。しかし、 SQL Serverでそれを行うにはどうすればよいでしょうか。

4

7 に答える 7

62

sp_addlinkedserver() が必要です

http://msdn.microsoft.com/en-us/library/ms190479.aspx

例:

exec sp_addlinkedserver @server = 'test'

それから

select * from [server].[database].[schema].[table]

あなたの例では:

select * from [test].[testdb].[dbo].[table]
于 2009-04-06T08:30:02.417 に答える
45

SQL Server 2012 以降では、リンクを作成する必要はありません。直接実行できます

SELECT * FROM [TARGET_DATABASE].dbo.[TABLE] AS _TARGET

以前のバージョンの SQL Server も同様に機能するかどうかはわかりません

于 2016-12-13T17:45:39.577 に答える
11

私は以前にこれを使用して、リンクサーバーを介して別のサーバーとデータベースに対してクエリを設定しました。

EXEC sp_addlinkedserver @server='PWA_ProjectServer', @srvproduct='',
@provider='SQLOLEDB', @datasrc='SERVERNAME\PWA_ProjectServer'

上記のコメントによると:

select * from [server].[database].[schema].[table]

例えば

select top 6 * from [PWA_ProjectServer].[PWA_ProjectServer_Reporting].[dbo].[MSP_AdminStatus]
于 2011-05-04T14:13:19.277 に答える
5

クロス サーバー クエリを実行するには、ヘルプ ファイルのシステム ストアド プロシージャsp_addlinkedserverを確認してください。

サーバーがリンクされると、サーバーに対してクエリを実行できます。

于 2009-04-06T05:28:16.597 に答える