SQL Server

总结

项目 说明
发布状态 正式版
产品 Excel
Power BI(语义模型)
Power BI(数据流)
Fabric(数据流 Gen2)
Power Apps(数据流)
Dynamics 365 Customer Insights
Analysis Services
支持的身份验证类型 数据库(用户名/密码)
Windows
机构帐户(如果指定的服务器支持它)
M 函数引用 Sql.Database
Sql.Databases

注意

由于部署计划和特定于主机的功能,某些功能可能只存在于一个产品中。

支持的功能

  • 导入
  • DirectQuery(Power BI 语义模型)
  • 高级选项
    • 命令超时(分钟)
    • Native SQL 语句
    • 关系列
    • 在完整层次结构中导航
    • SQL Server 故障转移支持

从 Power Query Desktop 连接到 SQL Server 数据库

请执行以下步骤来建立连接:

  1. 在连接器选择中选择“SQL Server 数据库”选项。

  2. 在显示的 SQL Server 数据库对话框中,提供服务器和数据库的名称(可选)。

    Power Query Desktop 中的 SQL Server 数据库连接生成器。

  3. 选择导入DirectQuery 数据连接模式(仅限 Power BI Desktop)。

  4. 选择“确定”

  5. 如果这是首次连接到此数据库,请选择身份验证类型,输入凭证,然后选择应用身份验证设置的级别。 然后选择“连接” 。

    SQL Server 数据库身份验证。

    注意

    如果连接未加密,则系统会显示以下对话框来提示您。

    SQL Server 数据库加密支持。

    选择“确定”使用未加密的连接连接到数据库;或者按照上述说明设置到 SQL Server 的加密连接。 此外,在使用自签名证书为 SQL Server 启用加密时,请查看本部分,将 SQL Server 添加到 Power Query Desktop 客户端的信任列表。

  6. 导航器中,选择所需的数据库信息,然后选择加载以加载数据,或是选择转换数据以继续在 Power Query 编辑器中转换数据。

    显示员工数据的 Power Query 导航器。

从 Power Query Online 连接到 SQL Server 数据库

请执行以下步骤来建立连接:

  1. 在连接器选择中选择“SQL Server 数据库”选项。

  2. 在显示的 SQL Server 数据库对话框中,提供服务器和数据库的名称(可选)。

    Power Query Online 中的 SQL Server 数据库连接生成器。

  3. 如果 SQL Server 未在线,请选择本地数据网关。 此外,如果将端口与服务器名称一起使用,请使用值 servername* 作为连接设置中的服务器名称。

  4. 如果这是首次连接到此数据库,请选择身份验证类型并输入凭据。

  5. 如果未加密连接,并且连接对话框包含“使用加密连接”复选框,请清除该复选框。

  6. 选择“下一步”继续。

  7. 导航器中,选择所需的数据,然后选择转换数据

    显示人力资源员工数据的 Power Query Online 导航器。

使用高级选项进行连接

Power Query Desktop 和 Power Query Online 都提供一组高级选项,可以根据需要将其添加到查询中。 下表列出了可以在 Power Query Desktop 和 Power Query Online 中设置的所有高级选项。

高级选项 说明
命令超时(分钟) 如果连接持续时间超过 10 分钟(默认超时),你可以输入另一个值(以分钟为单位),使连接保持打开更长时间。 此选项仅在 Power Query Desktop 中可用。
SQL 语句 有关信息,请参阅使用本机数据库查询从数据库导入数据
包含关系列 如果选中此框,则会包含可能与其他表存在关系的列。 如果清除此框,则会无法看到这些列。
在完整层次结构中导航 如果选中此框,导航器将显示你要连接到的数据库中的表的完整层次结构。 如果清除,导航器将仅显示其列和行包含数据的表。
启用 SQL Server 故障转移支持 如果选中,当 SQL Server 故障转移组中的某个节点不可用时,Power Query 在发生故障转移时会从该节点移动到另一个节点。 如果清除,则不会发生故障转移。

选择所需的高级选项后,在 Power Query Desktop 中选择“确定”,或在 Power Query Online 中选择“下一步”,以连接到 SQL Server 数据库。

限制

客户端不信任 SQL Server 证书(Power BI Desktop 或本地数据网关)

使用本地数据网关或 Power BI Desktop 与本地 SQL Server 建立连接并且 SQL Server 利用自签名证书时,Fabric 语义模型或数据流的刷新操作可能会失败,并显示以下错误消息:

Microsoft SQL: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.)

要排查使用本地数据网关时出现的此错误,请使用以下步骤更改网关配置以更新 SqlTrustedServers 设置:

  1. 在安装本地数据网关的本地计算机上,导航到 C:\Program Files\On-premises data gateway

  2. 对名为 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 的配置文件进行备份。

  3. 打开原始的 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 配置文件并找到 SqlTrustedServers 条目。

  4. 使用要信任和连接到的 SQL Server 的名称更新 SqlTrustedServers 值。

    该值包含以逗号分隔的服务器名称列表,并支持 * 作为通配符。 例如,在下面的示例中:

    <setting name="SqlTrustedServers" serializeAs="String"> <value>contososql*,mysvr</value> </setting>

    contososql*,mysvr 匹配 contososql6contososqlazuremysvr,但不匹配 mysvr.microsoft.com

要排查使用 Power BI Desktop 时出现的此错误,请修改环境变量 PBI_SQL_TRUSTED_SERVERS 的值以包含 SQL Server。 支持的值与网关配置所概述的值相同(如上述步骤 4 中所述)。

若要从 Power BI Desktop 到 SQL Server 的连接以及从 2024 年 2 月开始或更高版本的本地数据网关版本,请遵循以下选项之一:

  • 按照前面提到的解决方案来添加环境变量 PBI_SQL_TRUSTED_SERVERS
  • 让 SQL 管理员从知名的证书颁发机构获取证书。
  • 更改网关配置文件上的设置 SqlTrustedServers

Always Encrypted 列

Power Query 不支持“Always Encrypted”列。

Microsoft Entra ID 身份验证

仅当指定的服务器还支持 Microsoft Entra ID 身份验证时,SQL Server 连接器中才支持 Microsoft Entra ID(机构帐户)身份验证。 否则,可能会遇到错误:“此数据源不支持 OAuth 身份验证方法”。

请注意,在 Power BI 服务中,Microsoft Entra ID 身份验证方法显示为 "OAuth2"。

后续步骤

扩展表列时优化 Power Query