Запрос нескольких баз данных Azure SQL - Базу данных Azure SQL нельзя использовать в качестве центрального сервера управления - PullRequest
0 голосов
/ 26 сентября 2019

Мне нужно выполнить запрос ко всем базам данных (которые имеют одинаковую схему), проблема в том, что это базы данных Azure в Elastic Pool.Я прочитал, что это можно сделать с помощью функции «Центральные серверы управления» в SQL Management Studio, но я установил последнюю версию 18.3, но при попытке развернуть SQL-сервер Azure в разделе «Центральные серверы управления» я получаю следующую ошибку:

База данных SQL Azure не может использоваться в качестве центрального сервера управления

Тип запроса, который я пытаюсь выполнить для всех баз данных, выглядит следующим образом, он отлично работает налокальный экземпляр SQL Server, но не работает на Azure SQL Server.

SET NOCOUNT ON;

IF OBJECT_ID (N'tempdb.dbo.#temp') IS NOT NULL
   DROP TABLE #temp

CREATE TABLE #temp
(
      [COUNT] INT
    , DB VARCHAR(50)
)

DECLARE @TableName NVARCHAR(50) 
SELECT @TableName = '[dbo].[CustomAttributes]'

DECLARE @SQL NVARCHAR(MAX)
SELECT @SQL = STUFF((
    SELECT CHAR(13) + 'SELECT ''' + name + ''', COUNT(1) FROM [' + name + '].' + @TableName + 'WHERE dataType = 2'
    FROM sys.databases 
    WHERE OBJECT_ID('[' + name + ']' + '.' + @TableName) IS NOT NULL
    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')

INSERT INTO #temp (DB, [COUNT])              
EXEC sys.sp_executesql @SQL

SELECT * 
FROM #temp t

1 Ответ

1 голос
/ 26 сентября 2019

База данных SQL Azure не поддерживает Администрирование нескольких серверов с использованием центральных серверов управления .

enter image description here

Поскольку ваши базы данных находятся втот же пул Elastic, вы можете использовать Elastic Query для выполнения запроса ко всем базам данных.

Функция эластичного запроса (в предварительном просмотре) позволяет запускать запрос Transact-SQL, который охватываетнесколько баз данных в базе данных SQL Azure.Он позволяет выполнять запросы между базами данных для доступа к удаленным таблицам и подключать инструменты Microsoft и сторонних производителей (Excel, Power BI, Tableau и т. Д.) Для запросов по уровням данных с несколькими базами данных.Используя эту функцию, вы можете масштабировать запросы до больших уровней данных в базе данных SQL и визуализировать результаты в отчетах Business Intelligence (BI).

Для получения дополнительной информации см. Запросы T-SQL :

  1. Отчетность по масштабированным облачным базам данных (предварительный просмотр)
  2. Запрос к облачным базам данных с разными схемами (предварительный просмотр)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...