用作 SQL Server 中的链接服务器的 Azure 数据资源管理器

SQL Server 允许创建链接服务器以连接到其他数据源。 使用链接服务器,可以运行将 SQL Server 中的数据与链接服务器中的数据组合在一起的查询。 这样,你就可以在一个位置访问和处理来自多个源的数据。 本文介绍如何在 SQL Server 中创建用于连接到 Azure 数据资源管理器的链接服务器。

注意

若要向 Azure 数据资源管理器进行身份验证,SQL Server 必须使用 Microsoft Entra 帐户。

建立连接

以下步骤说明如何设置链接服务器连接。

  1. 安装最新的 ODBC 驱动程序

  2. 创建 ODBC 驱动程序以连接到 Azure 数据资源管理器。

  3. 准备 ODBC 驱动程序的连接字符串。 请参阅以下示例。 将 <cluster_uri><database> 替换为相关值。

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

    注意

    语言参数告知 Azure 数据资源管理器要将字符串编码为 NVARCHAR(4000)。 有关此解决方法的详细信息,请参阅 ODBC

  4. 打开“新建链接服务器”对话框。

  5. 在“常规”设置中,为“提供程序”选择“ODBC 驱动程序的 Microsoft OLE DB 提供程序”,然后在“提供程序字符串”框中输入在上一步骤准备的连接字符串。

  6. 在“安全性”设置中,选择“使用登录当前的安全上下文建立连接”。

  7. 选择“确定”保存链接服务器。

查询数据

使用以下语法从 Azure 数据资源管理器查询数据。

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

使用 Kusto 存储函数从 Azure 数据资源管理器中提取数据。 在基于 TDS 的 KQL 中了解详细信息。

SQL Server 有一个限制:它不能直接在其自己的查询中使用来自链接服务器的远程表格函数。 若要克服此限制,请使用 OpenQuery 函数在链接服务器上运行查询。 然后可以使用外部 T-SQL 查询将 SQL 服务器的数据与从 Azure 数据资源管理器存储函数返回的数据组合起来。