73

我有一个 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 的数据。

4

3 回答 3

63

更新:

根据 Illuminati 的评论和回答,自从这个答案最初被接受以来,情况已经发生了变化,现在根据https://azure.microsoft.com/en-us/blog/querying-remote-databases-支持跨数据库查询在-azure-sql-db/

原始答案 (2013): SQL Azure 不支持跨数据库查询。这意味着您需要首先组合数据库以防止需要,或者独立查询两个数据库并基本上将数据连接到您的应用程序中。

于 2012-07-01T19:38:27.517 回答
29

SQL Azure 现在支持跨数据库查询

https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/

于 2015-12-22T23:17:39.283 回答
10

Azure SQL DB 目前正在预览弹性数据库查询功能,这将帮助你在 Azure SQL DB 之间进行查询,但有一些限制。您可以在此处获取有关该功能的详细信息。

于 2015-07-08T05:39:11.907 回答