SQL Server OPENROWSET 関数でリモート SQL Server のデータを参照するには

SQL Server では、OPENROWSET 関数を利用すると、リモート SQL Server のデータを簡単に参照することができます。これは次のように利用します。

-- アドホック クエリの有効化
EXEC sp_configure 'show advanced options', 1
RECONFIGURE 
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE

-- OPENROWSET 関数で、POWER という名前の SQL Server のデータを参照
SELECT * FROM
 OPENROWSET('SQLNCLI10'
           , 'Server=POWER;Trusted_Connection=yes;'
           , 'SELECT * FROM sampleDB.dbo.社員' )

-- アドホック クエリの無効化
EXEC sp_configure 'Ad Hoc Distributed Queries', 0
EXEC sp_configure 'show advanced options', 0
RECONFIGURE


OPENROWSET 関数は、Express Edition でも利用できます(Express Edition では Integration Services を利用できないので、この関数が役立ちます)。
OPENROWSET の詳細(ヘルプ)はこちらから
http://msdn.microsoft.com/ja-jp/library/ms190312.aspx


なお、何度も同じサーバーをクエリする場合には、リンク サーバーを作成しておくと便利です。