Azure Data Explorer как связанный сервер из SQL Server

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

Примечание.

Чтобы выполнить проверку подлинности в Azure Data Explorer, SQL Server должен использовать учетную запись Microsoft Entra.

Установка подключения

Ниже описано, как настроить подключение к связанному серверу.

  1. Установите последний драйвер ODBC.

  2. Создайте драйвер ODBC для подключения к Azure Data Explorer.

  3. Подготовьте строка подключения для драйвера ODBC. См. следующий пример. Замените <cluster_uri> и <database> соответствующими значениями.

    `Driver={ODBC Driver 17 for SQL Server};Server=<cluster_uri>;Database=<database>;Authentication=ActiveDirectoryIntegrated;Language=any@MaxStringSize:4000`. 
    

    Примечание.

    Параметр языка сообщает Azure Data Explorer кодировать строки как NVARCHAR(4000). Дополнительные сведения об этом обходной путь см. в статье ODBC.

  4. Откройте диалоговое окно "Новый связанный сервер".

  5. В параметрах "Общие" выберите поставщик MICROSOFT OLE DB для драйверов ODBC для поставщика и введите строка подключения из предыдущего шага в строке поставщика.

  6. В параметрах безопасности выберите "Быть сделано" с помощью текущего контекста безопасности для входа.

  7. Нажмите кнопку "ОК ", чтобы сохранить связанный сервер.

Запрос данных

Запрос данных из Azure Data Explorer с помощью следующего синтаксиса.

SELECT * FROM OpenQuery(LINKEDSERVER, 'SELECT * from MyFunction(10)')

Используйте хранимые функции Kusto для извлечения данных из Azure Data Explorer. Дополнительные сведения см. в KQL по TDS.

SQL Server имеет ограничение, в котором он не может использовать удаленные табличные функции с связанных серверов непосредственно в своих собственных запросах. Чтобы преодолеть это ограничение, используйте OpenQuery функцию для выполнения запроса на связанном сервере. Затем можно использовать внешний запрос T-SQL для объединения данных с СЕРВЕРА SQL с данными, возвращаемыми из хранимой функции Azure Data Explorer.