名前がtest servertestdb
にあるデータベースがあるとします。prodサーバーにproddbという名前のデータベースもあります。
ここで、 proddbデータベースからtestdbデータベースのテーブルのデータを選択したいと考えています。
どうすればそれを行うことができSQL Server
ますか?
また、oracleのデータベース リンクを使用して実行できます。しかし、 SQL Serverでそれを行うにはどうすればよいでしょうか。
名前がtest servertestdb
にあるデータベースがあるとします。prodサーバーにproddbという名前のデータベースもあります。
ここで、 proddbデータベースからtestdbデータベースのテーブルのデータを選択したいと考えています。
どうすればそれを行うことができSQL Server
ますか?
また、oracleのデータベース リンクを使用して実行できます。しかし、 SQL Serverでそれを行うにはどうすればよいでしょうか。
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]
SQL Server 2012 以降では、リンクを作成する必要はありません。直接実行できます
SELECT * FROM [TARGET_DATABASE].dbo.[TABLE] AS _TARGET
以前のバージョンの SQL Server も同様に機能するかどうかはわかりません
私は以前にこれを使用して、リンクサーバーを介して別のサーバーとデータベースに対してクエリを設定しました。
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]
クロス サーバー クエリを実行するには、ヘルプ ファイルのシステム ストアド プロシージャsp_addlinkedserverを確認してください。
サーバーがリンクされると、サーバーに対してクエリを実行できます。