2016/5 のドキュメントから記載されているようなのですが、Azure SQL Database エラスティック データベース クエリの概要 (プレビュー) に、新規の情報がありましたので軽く紹介を。
SQL Database で他の DB のデータを取得する場合、EXTERNAL TABLE を使用する方法がありましたが、それ以外の方法として「sp_execute_remote」というストアドプロシージャを使用することもできるようになっていたようです。
これについては スケールアウトされたクラウド データベース全体をレポートする (プレビュー) でも解説されています。
基本的な使い方については、sp_executesql に近いかと。
作成された外部データソースを使用して、以下のようなクエリを実行することが可能となっています。
sp_execute_remote N'DB2', N'SELECT * FROM RemoteTable'
軽く試してみた感じでは、char / varchar に格納されている 2 バイトコードの取得がうまくできておらず (上記の画像のように ? になってしまう)、Unicode 文字型を使用するか、Unicode 文字型にキャストすることで、正常に取得できていそうでした。
[…] SQL Database で外部データソースを使用した直接のクエリ実行 – SEの雑記 […]
Azure SQL Database の Elastic Database で クエリのリモート実行 | たんたか
25 9月 16 at 10:21