Подтвердить что ты не робот

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

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

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

  • 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.

4b9b3361

Ответ 1

Обновление:

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

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

Ответ 3

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