web-dev-qa-db-ja.com

SQL Azureのデータベース間でクエリを実行できません

SQL Azureデータベースサーバーがあり、データベース間でクエリを実行する必要がありますが、これを実現する方法がわかりません。

データベースの構造は次のとおりです。

  • Server.X
    • Database.A
    • Database.B
    • Database.C

Database.ADatabase.Bからデータを取得する必要があるストアドプロシージャがあります。通常、SELECT * FROM [Database.B].[dbo].[MyTable]のようなデータベースを参照しますが、これはSQL Azureで許可されていないようです。

Msg 40515, Level 15, State 1, Line 16 Reference to database and/or server name in 'Database.B.dbo.MyTable' is not supported in this version of SQL Server.

データベース側でこれを行う方法はありますか?

最終バージョンでは、データベースAとCの両方にデータベースBのデータが必要です。

52
JoeGeeky

更新:

イルミナティのコメントと回答によると、この回答が最初に受け入れられてから状況が変わり、現在では https://Azure.Microsoft.com/en-us/blog/querying-リモートデータベース-in-Azure-sql-db /

Original Answer(2013):クロスデータベースクエリはサポートされていませんSQL Azureで。つまり、データベースを結合して最初の必要性を防ぐか、両方のデータベースを個別にクエリして、基本的にアプリケーションのデータを結合する必要があります。

51
AdaTheDev

クロスデータベースクエリがSQL Azureでサポートされるようになりました

https://Azure.Microsoft.com/en-us/blog/querying-remote-databases-in-Azure-sql-db/

22
Illuminati

Azure SQL DBは、現時点でいくつかの制限付きでAzure SQL DB間のクエリに役立つElastic Database Query機能をプレビューしています。機能に関する詳細情報を取得できます こちら

9
Silvia Doomra