仓库连接

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

在 Microsoft Fabric 中,用户通过表格数据流(TDS)终结点访问 SQL 分析终结点或仓库。 现代 Web 应用程序与 SQL Server TDS 端点交互。 在 Microsoft Fabric 设置中,此终结点标记为 SQL 连接字符串

小窍门

有关使用常用工具进行连接的教程,请参阅 “连接到 Fabric 数据仓库”。

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

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

  • Microsoft Entra ID 用户主体或用户标识
  • Microsoft Entra ID 服务主体

有关详细信息,请参阅 Microsoft Entra 身份验证作为 Microsoft Fabric 中 SQL 身份验证的替代方法

SQL 连接字符串要求打开 TCP 端口 1433。 TCP 1433 是标准的 SQL Server 端口号。 Warehouse 使用 Microsoft SQL Server 表格数据流(TDS)协议,通过 TCP 端口 1433。 在使用协议响应防火墙或应用层检测的环境中,将SQL流量配置并检测为Microsoft SQL Server(MSSQL/TDS)流量,而非HTTPS流量。

一些防火墙区分TCP端口访问和应用协议检查。 在这些环境中,如果防火墙被配置为将该端口上的流量视为 HTTPS 流量,那么仅允许 TCP 1433 端口可能还不够。

SQL 连接字符串还遵循用于数据访问的仓库或 Lakehouse SQL 分析终结点安全模型。 用户可以访问他们有权访问的所有对象的数据。

有关 SQL 分析终结点中安全性的详细信息,请参阅 适用于 SQL 分析终结点的 OneLake 安全性

最佳做法

向应用程序和 ETL 作业添加重试,使其更具弹性。 有关详细信息,请参阅以下文档:

允许通过防火墙使用 Azure 服务标记

若要通过防火墙启用连接,需要允许 Power BI 服务标记和 SQL 服务标记。 有关详细信息,请参阅 Power BI 服务标记和服务标记

不能单独使用 TDS 终结点的完全限定域名(FQDN)。

重要

如果您的组织使用 Azure 防火墙 应用规则或类似的协议响应型防火墙,将仓库流量配置为 MSSQL/TDS 流量。 在端口1433上将SQL流量配置为HTTPS流量,即使允许网络访问该端口,也可能阻碍成功连接。

防火墙与应用层检查的考虑

一些企业防火墙解决方案除了传统的IP和端口过滤外,还执行应用层检测。

配置仓库防火墙策略时:

  • 允许端口1433进行TCP外站连接。
  • 确保SQL流量被视为Microsoft SQL Server(MSSQL/TDS)流量。
  • 不要把连接到仓库的SQL连接配置为1433端口的HTTPS流量。
  • 在防火墙策略更改部署后验证连接性。

注意

使用 Azure 防火墙应用程序规则的客户应为 SQL 流量配置 SQL 感知筛选。 Azure 防火墙 支持 MSSQL 协议处理和 SQL FQDN 过滤以处理 SQL 工作负载。

基于FQDN的防火墙过滤

限制使用完全限定域名(FQDN)的出站访问的组织可以使用防火墙规则,只允许经过批准的SQL目的地。

对于使用 Azure 防火墙 的环境:

  • 支持通过 MSSQL 应用程序规则实现 SQL 感知的 FQDN 过滤。
  • FQDN 过滤可配合端口 1433 限制使用,以限制出站 SQL 连接。
  • 确保本文中记录的所有 Warehouse 端点都已添加到防火墙允许列表中。

实现细节请参见“用SQL FQDNS配置Azure 防火墙应用规则

注意事项和限制

  • 不支持 SQL 身份验证。
  • Microsoft Fabric Warehouse 不支持多重活动结果集(MARS)。 MARS 默认处于禁用状态。 如果 MultipleActiveResultSets 包含在连接字符串中,请将其删除或设置为 false。
  • 如果收到错误代码 24804,并显示消息“由于系统更新而无法完成操作。 关闭此连接,再次登录,然后重试该操作,或出现错误代码 6005,并显示消息“正在关闭”。 在 SQL Server 上执行失败。 如果需要进一步支持,请联系 SQL Server 团队。”,这是由于临时连接丢失,可能是由于系统部署或重新配置。 若要解决此问题,请重新登录,然后重试。 若要了解如何在应用程序中构建复原能力和重试,请参阅最佳做法
  • 如果收到错误代码 6008,并显示消息“工作区暂时不可用。 这可能是由于系统维护或内部操作造成的。 请重新建立连接。“此错误表示临时连接中断。 若要解决此问题,请重新建立连接,再次登录,然后重试该操作。 此条件是暂时性的,并不指示查询或应用程序中的故障。
  • 不支持来自 SQL Server 的链接服务器连接。

InitialCatalog 的连接行为

2026 年 5 月,Microsoft 更新了 Fabric Data Warehouse 和 SQL 分析终结点的连接行为,使 InitialCatalog连接字符串属性成为可选项。 目前,如果未提供 master 属性,用户将连接到 InitialCatalog 系统数据库。 在Fabric Data Warehouse中,只能连接到 master 数据库,不能修改 master 数据库,也不能在 master 数据库中创建、更改或删除用户对象。

可以使用 USE Transact-SQL 语法在连接到 master 后更改连接仓库上下文,使用 DB_NAME() 函数来确定当前仓库。 例如:

SELECT DB_NAME(); --returns name of current warehouse context
GO
USE [ContosoWarehouse];
GO
SELECT DB_NAME(); --returns name of current warehouse context
GO

下表概述了在连接字符串中指定或省略 InitialCatalog 属性时Fabric Data Warehouse和 SQL 分析终结点的更新连接行为。

输入场景 2026 年 5 月之前 当前行为
提供的现有仓库名称 连接到指定的仓库 无更改 - 连接到指定的仓库
提供的现有仓库 ID 连接到指定的仓库 无更改 - 连接到指定的仓库
InitialCatalog 未提供属性 连接到工作区中的非确定性仓库 连接至 master
InitialCatalog = master 连接到工作区中的非确定性仓库 连接至 master
InitialCatalog 属性中的仓库不存在 连接到工作区中的非确定性仓库 引发一个错误,指示不存在仓库

错误处理

如果工作区中不存在任何仓库,并且在未指定有效仓库的情况下尝试连接,用户将看到以下错误:“用户“<令牌标识的主体>”登录失败”。 原因:身份验证成功,但找不到数据库,或者你没有足够的权限连接到它。

以下屏幕截图显示了在将无效仓库名称提供为 InitialCatalog 时,SSMS 中出现的错误:

未提供有效的初始目录时 SSMS 错误消息的屏幕截图。

后续步骤