我有一个SQL Azure数据库服务器,我需要在数据库之间进行查询,但无法弄清楚如何完成此操作。
这是我的数据库的结构:
-
服务器.X
- 数据库.A
- 数据库.B
- 数据库.C
在 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的数据。
更新:
根据光明会的评论和回答,自从最初接受这个答案以来,情况已经发生了变化,现在支持跨数据库查询,根据 https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/
原答案(2013): SQL Azure 不支持跨数据库查询。这意味着您需要组合数据库以首先防止需求,或者独立查询两个数据库并基本上联接应用程序中的数据。
DB 目前正在预览弹性数据库查询功能,该功能将帮助你在 Azure SQL 数据库之间进行查询,但有一些限制。您可以在此处获取有关该功能的详细信息。