我有一个SQL Azure数据库服务器,我需要在数据库之间进行查询,但无法弄清楚如何实现这一目标。
以下是我的数据库的结构:
在 Database.A 中,我有一个需要从 Database.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中的数据。
答案 0 :(得分:49)
更新:
根据Illuminati的评论和回答,情况已经发生变化,因为此答案最初被接受,现在支持跨https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/
的跨数据库查询原始答案(2013): SQL Azure不支持跨数据库查询。这意味着您需要组合数据库以首先防止需要,或者单独查询两个数据库并基本上加入应用程序中的数据。
答案 1 :(得分:21)
SQL Azure现在支持跨数据库查询
https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/
答案 2 :(得分:9)
Azure SQL DB此时正在预览弹性数据库查询功能,这将有助于您在Azure SQL数据库中进行查询,但存在一些限制。您可以获得有关功能here的详细信息。