【问题标题】:Can't query between databases in SQL Azure无法在 SQL Azure 中的数据库之间进行查询
【发布时间】:2012-07-02 08:31:38
【问题描述】:

我有一个 SQL Azure 数据库服务器,我需要在数据库之间进行查询,但不知道如何完成。

这是我的数据库的结构:

  • 服务器.X
    • 数据库.A
    • 数据库.B
    • Database.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 的数据。

【问题讨论】:

  • 您找到解决方案或完成它的方法了吗?
  • 对于那些想要快速解决方案的人(在导入数据时),您可以创建一个具有您想要的结构的新表,从另一个数据库中导出数据并添加到这个新表..之后你可以使用你的逻辑来导入数据(我的情况)
  • 快速修复:删除[Database.B].[dbo].

标签: azure azure-sql-database azure-elastic-scale


【解决方案1】:

更新:

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

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

【讨论】:

【解决方案2】:

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-13
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多