仓库连接

适用于:✅ 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 端口号。 SQL 连接字符串还遵循用于数据访问的仓库或 Lakehouse SQL 分析终结点安全模型。 用户可以访问他们有权访问的所有对象的数据。

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

最佳做法

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

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

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

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

注意事项和限制

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

InitialCatalog 的连接行为

2026 年 5 月,Microsoft 更新了 Fabric Data Warehouse 和 SQL 分析终结点的连接行为,使 InitialCatalog连接字符串属性成为可选项。 目前,如果未提供 InitialCatalog 属性,用户将连接到 master 系统数据库。 在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 错误消息的屏幕截图。

后续步骤