连接到 Microsoft Fabric 中的数据仓库

适用于:SQL 分析终结点和 Microsoft Fabric 中的仓库

在 Microsoft Fabric 中,可以通过表格数据流或 TDS 终结点访问湖屋 SQL 分析终结点或仓库,这是所有与 SQL Server 终结点交互的新式 Web 应用程序所熟悉的。 这称为 Microsoft Fabric 用户界面中的 SQL 连接字符串。

本文介绍了如何连接到 SQL 分析终结点或仓库。

如果要开始,必须满足以下先决条件:

向 Fabric 中的仓库进行身份验证

在 Microsoft Fabric 中,通过 SQL 连接字符串支持两种类型的经过身份验证的用户:

  • Microsoft Entra ID(以前为 Azure Active Directory)用户主体或用户标识
  • Microsoft Entra ID(以前为 Azure Active Directory)服务主体

SQL 连接字符串要求打开 TCP 端口 1433。 TCP 1433 是标准的 SQL Server 端口号。 SQL 连接字符串还遵循仓库或湖屋 SQL 分析终结点安全模型进行数据访问。 可以获取用户有权访问的所有对象的数据。

检索 MySQL 连接字符串

若要检索连接字符串,请执行以下步骤:

  1. 导航到工作区,选择“仓库”,然后选择“更多选项”。

    仓库工作区项的屏幕截图。“更多选项”按钮在框中显示。

  2. 选择“复制 SQL 连接字符串”,将连接字符串复制到剪贴板。

    上下文菜单打开的工作区屏幕的屏幕截图。

SQL Server Management Studio (SSMS) 入门

以下步骤详细介绍了如何从 Microsoft Fabric 工作区开始并将仓库连接到 SQL Server Management Studio (SSMS)

  1. 打开 SSMS 时,会出现“连接到服务器”窗口。 如该窗口已打开,可以选择“对象资源管理器”>“连接”>“数据库引擎”进行手动连接。

    显示在“连接”菜单上选择“数据库引擎”的位置的屏幕截图。

  2. “连接到服务器”窗口打开后,将从本文上一部分复制的连接字符串粘贴到“服务器名称”框中。 选择“连接”,然后继续使用适当的凭据进行身份验证。 请记住,仅支持 Microsoft Entra 多重身份验证(MFA)。

    显示“连接到服务器”窗口的屏幕截图。

  3. 建立连接后,对象资源管理器会显示工作区中连接的仓库及其各自的表和视图,所有这些都可供查询。

    显示连接的服务器名称在“对象资源管理器”窗格中显示位置的屏幕截图。

通过 SSMS(或 ADS)连接时,会看到 SQL 分析终结点和仓库都列为仓库,并且很难区分这两种项目类型及其功能。 因此,我们强烈建议你采用命名约定,以便在使用 Microsoft Fabric 门户体验之外的工具时能够轻松区分这两种项目类型。

使用 Power BI 进行连接

仓库或湖屋 SQL 分析终结点是 Power BI 中完全受支持的原生数据源,无需使用 SQL 连接字符串。 “数据”窗格将公开你有权直接访问的所有仓库。 这使你可以按工作区轻松找到仓库,并:

  1. 选择仓库。
  2. 选择实体。
  3. 加载数据 - 选择数据连接模式:导入或 DirectQuery

有关详细信息,请参阅在 Microsoft Fabric 中创建报表

使用 OLE DB 进行连接

我们支持使用 OLE DB 连接到仓库或 SQL 分析终结点。 请确保运行最新的 Microsoft OLE DB Driver for SQL Server

使用 ODBC 进行连接

Microsoft Fabric 支持使用 ODBC 连接到仓库或 SQL 分析终结点。 请确保运行最新的 ODBC Driver for SQL Server。 使用 Microsoft Entra ID(以前称为 Azure Active Directory)身份验证。

使用 JDBC 进行连接

Microsoft Fabric 还支持使用 Java 数据库连接 (JDBC) 驱动程序连接到仓库或 SQL 分析终结点。

通过 JDBC 建立连接时,检查以下依赖项:

  1. 添加项目,选择“添加项目”并在如下所示的窗口中添加以下四个依赖项,然后选择“下载/更新”以加载所有依赖项。

    显示选择“下载”/“更新”的位置的屏幕截图。

  2. 选择“测试连接”,然后选择“完成”。

    “依赖项声明”选项卡的屏幕截图。

    <dependency>
       <groupId>com.microsoft.azure</groupId>
       <artifactId>msal4j</artifactId>
       <version>1.13.3</version>
    
    </dependency>
    
    <dependency>
       <groupId>com.microsoft.sqlserver</groupId>
       <artifactId>mssql-jdbc_auth</artifactId>
       <version>11.2.1.x86</version>
    </dependency>
    
     <dependency>
       <groupId>com.microsoft.sqlserver</groupId>
       <artifactId>mssql-jdbc</artifactId>
       <version>12.1.0.jre11-preview</version>
    </dependency>
    
     <dependency>
       <groupId>com.microsoft.aad</groupId>
       <artifactId>adal</artifactId>
       <version>4.2.2</version>
    </dependency>
    

使用 dbt 进行连接

dbt 适配器是一个数据转换框架,它使用软件工程最佳做法(如测试和版本控制)来减少代码、自动执行依赖项管理并交付更可靠的数据,所有这些都通过 SQL 实现。

特定于 dbt 数据平台的适配器插件允许用户连接到所选的数据存储。 若要从 dbt 连接到 Microsoft Fabric 中的 Synapse 数据仓库,请使用 dbt-fabric 适配器。 同样,Azure Synapse Analytics 专用 SQL 池数据源也有自己的适配器,即 dbt-synapse

这两个适配器都支持 Microsoft Entra ID(以前为 Azure Active Directory)身份验证,并允许开发人员使用 az cli authentication。 但是,dbt-fabric 不支持 SQL 身份验证

DBT Fabric DW 适配器使用 pyodbc 库与仓库建立连接。 pyodbc 库是使用 Python 语言(采用 Python 数据库 API 规范 v2.0)的 ODBC 实施。  pyodbc 库使用 TDS(表数据流式处理)代理服务,通过 msodbc 连接结构中的 SQLDriverConnect 将连接字符串直接传递到数据库驱动程序。

有关详细信息,请参阅 Microsoft Fabric Synapse 数据仓库 dbt 适配器设置Microsoft Fabric Synapse 数据仓库 dbt 适配器配置

通过其他方式进行连接

任何第三方工具都可以通过 ODBC 或 OLE DB 驱动程序使用 SQL 连接字符串,以通过 Microsoft Entra ID(以前为 Azure Active Directory)身份验证连接到 Microsoft Fabric 仓库或 SQL 分析终结点。

自定义应用程序

在 Microsoft Fabric 中,仓库和湖屋 SQL 分析终结点提供 SQL 连接字符串。 可以从庞大的 SQL 工具生态系统访问数据,前提是它们可以使用 Microsoft Entra ID(以前为 Azure Active Directory)进行身份验证。 有关详细信息,请参阅 Microsoft SQL 数据库的连接库

注意事项和限制

  • 不支持 SQL 身份验证。
  • Microsoft Fabric 仓库不支持多重活动结果集 (MARS)。 MARS 默认处于禁用状态,但如果连接字符串中包含 MultipleActiveResultSets,则应将其删除或设置为 false。
  • 连接到仓库时,可能会收到错误“令牌大小超出了允许的最大有效负载大小”。 这是由于工作区中有大量仓库,或者该仓库是大量 Microsoft Entra组的成员。 如果出现此错误,请与工作区管理员协作以清理未使用的仓库并重试连接,或者如果问题仍然存在,请联系支持人员。
  • 不支持来自 SQL Server 的链接服务器连接。