Не удается выполнить запрос между базами данных в SQL Azure

У меня есть сервер баз данных SQL Azure, и мне нужно выполнять запросы между базами данных, но я не могу понять, как это сделать.

Вот структура моих баз данных:

  • Server.X
    • Database.A
    • Database.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.

3 ответа

Решение

Обновить:

Согласно комментарию и ответу Иллуминати, ситуация изменилась с тех пор, как этот ответ был первоначально принят, и теперь есть поддержка кросс-запросов к базе данных согласно https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/

Оригинальный ответ (2013): кросс-запросы к базе данных не поддерживаются в SQL Azure. Это означает, что вам нужно либо объединить базы данных, чтобы предотвратить необходимость, либо запросить обе базы данных независимо и в основном объединить данные в вашем приложении.

Кросс-запросы к базе данных теперь поддерживаются в SQL Azure.

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

На данный момент Azure SQL DB просматривает функцию Elastic Database Query, которая поможет вам выполнять запросы среди SQL Azure DB с некоторыми ограничениями. Вы можете получить подробную информацию об этой функции здесь.

Другие вопросы по тегам