连接字符串属性

适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

本文介绍连接到 Azure AS) 、SQL Server Analysis Services (SSAS) 和 Azure Analysis Services (Power BI Premium语义模型的客户端应用程序使用的连接字符串属性。 Analysis Services 客户端库、ADOMD.NET、AMO 和 OLE DB (MSOLAP) Analysis Services 提供程序使用这些属性。 大多数连接字符串属性都可以与所有三个客户端库一起使用。 例外将专门进行说明。

使用左侧目录上方的 “版本 ”选择器,仅查看适用于特定平台或版本的属性。

连接属性

数据源

指定服务器实例。 此属性对于所有连接都是必需的。

Azure Analysis Services的有效值包括<protocol>://<region>/<servername>协议为字符串asazure或使用link服务器名称别名时,region 是在其中创建服务器的 URI (例如,westus.asazure.windows.net) ,servername 是区域中唯一服务器的名称。

示例 说明
Data source=asazure://westus.asazure.windows.net/myasserver Azure Analysis Services。
Data source=link://friendlyname.salesapp.azurewebsites.net/ 使用服务器名称别名Azure Analysis Services。

Power BI Premium的有效值包括<protocol>://api.powerbi.com/v1.0/[tenant name]/[workspace name]协议为字符串powerbi、Uri 为 api.powerbi.com、租户名称是组织租户名称或 myorg,工作区名称是分配给专用容量的工作区的名称。

示例 说明
Data source=powerbi://api.powerbi.com/v1.0/contoso.com/Sales Workspace Power BI Premium工作区。

SQL Server Analysis Services的有效值包括服务器的网络名称或 IP 地址、本地连接的 local 或 localhost、服务器配置为 HTTP 或 HTTPS 访问的 URL,或者本地多维数据集 (.cub) 文件的名称。

示例 说明
Data source=AW-SRV01 SSAS 默认实例和端口 (TCP 2383) 。
Data source=AW-SRV01\Finance SSAS 命名实例。
Data source=AW-SRV01:8081 SSAS 默认实例,指定端口。
Data source=AW-SRV01.corp.Adventure-Works.com SSAS 完全限定的域名、默认实例和端口。
Data source=172.16.254.1 服务器的 SSAS IP 地址,绕过 DNS 服务器查找。 可用于排查连接问题。
提供程序

使用 OLE DB 提供程序(如 MSOLAP)时,连接字符串上需要此属性。 它允许使用版本无关的提供程序 (通常是最新的) ,例如“Provider=MSOLAP”,也可以指定版本依赖的提供程序,例如“Provider=MSOLAP.7”。 有效的版本依赖值遵循模式 MSOLAP。<版本>,其中 <版本> 为 7 或 8。 例如,MSOLAP.7 在 SQL Server 2016 年发布。 版本“.8”是最新的,被视为“evergreen”。 预期会继续更新,同时保持向后兼容性。 也可以提供早期版本号,但这些版本的 MSOLAP 现在不受标准支持。

此属性对于 ADOMD.NET 和 AMO 是可选的。 为方便起见,复制 MSOLAP 连接字符串以与 ADOMD.NET 和 AMO 一起使用。

示例 说明
Provider=MSOLAP.7 Connections需要 SQL Server 2016 版 OLE DB 提供程序 for Analysis Services。
多维数据集

多维数据集名称或透视名称。 一个数据库可以包含多个多维数据集和透视。 可以使用多个目标时,在连接字符串上包括多维数据集或透视名称。

示例 说明
Cube=Sales 名为 Sales 的多维数据集。
Cube=SalesPerspective 名为 SalesPerspective 的透视。

身份验证和安全属性

Azure Analysis Services和Power BI Premium使用 Microsoft Entra ID - 通用 MFA (建议) 、使用用户名和密码Microsoft Entra身份验证、Microsoft Entra访问令牌,或者Windows 身份验证。

SQL Server Analysis Services仅使用Windows 身份验证。 如果通过 MSMDPUMP.dll 启用 HTTP 访问,则可以使用基本身份验证和匿名身份验证,如 在 IIS 8.0 上配置对 Analysis Services 的 HTTP 访问一文中所述。 有关如何通过 HTTP 为 Analysis Services 配置支持的身份验证方法的详细信息,请参阅 步骤 3:配置 IIS 身份验证。

按字母顺序列出属性。

EffectiveUserName

当必须在服务器上模拟用户标识时使用。 对于 SSAS,请以 domain\user 格式指定。 对于 Azure AS 和 Power BI Premium,请以 UPN 格式指定。 要使用此属性,调用方在 Analysis Services 中必须具有管理权限。 在Power BI Premium中,调用方必须是语义模型所在的工作区管理员。

CustomData

要在 连接字符串 中传递给引擎的字符串值,然后使用 CustomData () MDX 函数或 CUSTOMDATA () DAX 函数检索。 最常用于将 userID 或用户名作为值传递,然后在安全表达式的定义中指定该值。

Encrypt Password

指定是否使用本地密码来加密本地多维数据集。 有效值为 TrueFalse。 默认值为 False。

Encryption Password

用于对加密的本地多维数据集进行解密的密码。 默认值为空。 此值必须由用户显式设置。

“模拟级别”

指示模拟客户端时服务器可以使用的模拟级别。 有效值包括:

  • 匿名。 客户端对服务器而言是匿名的。 服务器进程无法获取有关客户端的信息,也无法模拟客户端。
  • 标识。 服务器进程可以获取客户端标识。 服务器可以出于授权目的模拟客户端标识,但不能作为客户端访问系统对象。
  • 模拟。 这是默认值。 可以模拟客户端标识,但是仅在建立连接时,并非每次调用时都可以模拟。
  • 委托。 代表客户端操作时,服务器进程可以模拟客户端安全上下文。 代表客户端操作时,服务器进程还可以进行针对其他服务器的传出调用。
集成安全性

调用方的 Windows 标识用于连接到 Analysis Services。 有效值为 SSPIblankBasicClaimsToken*。

SSPI 是 TCP 连接的默认值,允许 NTLM、Kerberos 或匿名身份验证。 对于 Azure AS 和 Power BI Premium,SSPI 指示 AD 翻译。 使用 SSPI 时, ProtectionLevel 属性必须设置为 Connect、Pkt 完整性或 Pkt Privacy。

blank 是 HTTP 连接的默认值。

*Azure AS 和 Power BI Premium 支持 ClaimsToken。

持久性安全信息

有效值为 TrueFalse。 设置为 True 时,在建立连接后可以从连接获取安全信息(如以前在连接字符串上指定的用户标识或密码)。 默认值为 False。

保护级别

确定连接上使用的安全级别。 支持的值取决于基础传输。 有效值为:

  • 。 不进行身份验证的连接或匿名连接。 不对发送到服务器的数据进行身份验证。
  • 连接。 进行身份验证的连接。 仅当客户端与服务器建立关系时进行身份验证。
  • Pkt 完整性。 加密的连接。 验证是否从客户端接收了所有数据,并且数据在传输过程中是否未更改。
  • Pkt 隐私。 已签名加密,仅 TCP 支持。 验证是否从客户端接收所有数据,是否在传输过程中未更改数据,并通过加密来保护数据的隐私。

若要了解详细信息,请参阅在 ADOMD.NET 中建立安全Connections

角色

指定逗号分隔的预定义的角色列表,以使用该角色具有的权限连接到服务器或数据库。 如果忽略此属性,则使用所有角色且有效权限为所有角色的组合权限。 例如 Roles=' ' ,将 属性设置为空值意味着客户端连接没有角色成员身份。

管理员使用此属性通过角色具有的权限进行连接。 如果角色未提供足够的权限,某些命令可能会失败。

如果在连接到Power BI Premium工作区时指定角色,请使用 Power BI 安全模型中的工作区角色

SSPI

显式指定将 Integrated Security 设置为 SSPI时要将哪个安全包用于客户端身份验证。 SSPI 支持多个包,但是您可以使用此属性指定特定的包。 有效值为:

  • Negotiate
  • Kerberos
  • NTLM
  • 匿名用户

如果未设置此属性,则所有包都可用于连接。

Use Encryption for Data

加密数据传输。 有效值为 TrueFalse

用户 ID=...;Password=

当客户端应用程序中的当前活动用户无法自动传播到服务器时,用户 ID 和密码属性会向服务器提供相应的凭据。 该行为取决于传输协议和连接到的服务器:

  • 通过 TCP 连接到 SSAS 时,客户端库将使用指定的用户名和密码模拟 Windows 用户,然后像往常一样连接到服务器。

  • 通过 HTTP (S) 连接到 SSAS 时,凭据会根据 Web 服务器上配置的身份验证模式(例如基本身份验证或 Windows 身份验证)提供给 Web 服务器。Web 服务器将在连接到 SSAS 服务器之前执行相应的 Windows 模拟,因此向服务器提供正确的凭据流。

  • 连接到 Azure AS 或Power BI Premium时,用户 ID 和密码用于获取Microsoft Entra令牌,该令牌在身份验证期间呈现给服务。 Microsoft Entra ID还可能需要多重身份验证 (MFA) ,这可能需要额外的用户交互才能生成令牌。

  • 如果已从自己的应用程序获取有效的Microsoft Entra ID持有者访问令牌,则可以在建立连接之前设置 AdomdConnection 对象的 AccessToken 属性。 在相关连接对象的 AccessToken 属性 (AdomdConnection、Server 等 ) ,请确保设置访问令牌并指定其过期时间。 身份验证支持以交互方式为用户获取的持有者令牌,以及通过使用 OAuth 2.0 代理流 ((例如,代表用户) 连接到 Analysis Services 的中间层 Web 应用程序)。 在 AccessToken 属性中传递访问令牌时,请省略令牌类型。 Analysis Services 客户端库自动将身份验证方案值 “Bearer” 添加到访问令牌。 请务必记住以下几点:

    • Microsoft Entra持有者访问令牌的生存期有限。 默认情况下,介于 60-90 分钟之间。 如果应用程序执行超过访问令牌生存期的长时间运行操作,可以通过 AdomdConnection 对象的 OnAccessTokenExpired 属性提供回调函数,以在当前访问令牌即将过期时刷新访问令牌。 或者,可以直接更新 AccessToken 属性,而无需回调函数的帮助。 建议使用回调函数,以确保在当前访问令牌的生存期内刷新访问令牌。
    • 不建议使用 Password 连接字符串 属性传递访问令牌。 你仍然可以省略连接字符串中的“用户 ID”属性,并在“密码”属性中仅指定访问令牌,但在这种情况下,访问令牌无法刷新。 请改用 AccessToken 属性,以便在需要时为现有连接提供新的访问令牌。 不支持同时设置 Password 属性和 AccessToken 属性。

注意: “用户 ID”具有嵌入的空间。 用户 ID 的备用别名为 UID ,密码的备用别名为 PWD

特殊用途属性

这些属性用于确保应用程序所需的特定连接行为。 按字母顺序列出属性。

应用程序名称

设置与连接关联的应用程序的名称。 当监视跟踪事件,特别是您具有访问同一数据库的几个应用程序时,此值很有用。 例如,将应用程序名称=“test”添加到连接字符串会导致“test”出现在SQL Server Profiler跟踪中。 此属性的别名包括 SspropInitAppNameAppName。 若要了解详细信息,请参阅SQL Server Connections的应用程序名称

自动同步周期

设置客户端和服务器缓存同步的频率(毫秒)。 ADOMD.NET 为具有最小内存开销的常用对象提供客户端缓存。 这有助于减少到服务器的往返次数。 默认值为 10,000 毫秒 (或 10 秒) 。 设置为 null 或 0 时,关闭自动同步功能。

出于性能原因,客户端库会缓存来自服务器的某些信息,例如某些架构行集。 “自动同步期”允许用户更改客户端库向服务器检查是否需要清空缓存的时间段。 一般情况下,不需要更改默认值。

字符编码

定义如何在请求中对字符编码。 有效值为 DefaultUTF-8 , (它们等效) 和 UTF-16

CommitTimeout

XMLA 属性。 确定在进行回滚前,当前正在运行的命令的提交阶段需等待的时间(毫秒)。 如果大于 0,则覆盖服务器配置中对应 CommitTimeout 属性的值。

CompareCaseSensitiveStringFlags

为指定的区域设置调整区分大小写的字符串比较。

Compression Level

如果 已压缩 TransportCompression ,则可以设置压缩级别以控制使用的压缩量。 有效值为 09,其中 0 的压缩率最低,9 的压缩率最高。 增大压缩程度将降低性能。 默认值为 0。

连接超时值

确定客户端在超时之前尝试连接) (的最大时间(以秒为单位)。如果连接在此时间段内未成功,客户端将退出尝试连接并生成错误。

DbpropMsmdRequestMemoryLimit

替代连接的 Memory\QueryMemoryLimit 服务器属性值。

此属性以 KB 为单位指定 ,可以减少查询 期间使用的最大内存量, (在 QueryMemoryLimit 中以百分比) 指定。 它不能增加使用的内存量超过 QueryMemoryLimit 中指定的最大允许内存量。

默认 MDX 视觉模式

设置此属性以控制在应用维度安全性时如何聚合成员。

对于允许每个人查看的多维数据集数据,聚合所有成员有意义,因为组成总计的所有值是可见的。 但是,如果您基于用户标识筛选或限制了维度,基于所有成员显示总计(将受限制的值和允许的值合并为一个总计)可能令人困惑,或导致显示的信息比应揭示的信息多。

要在应用维度安全性时指定如何聚合成员,您可以将此属性设置为 True 以仅在聚合中使用允许的值,或将其设置为 False 以将受限制的值从总计中排除。

在连接字符串上设置时,此值适用于多维数据集或透视级别。 在模型内,您可以在更精细的级别上控制可视总计。

有效值为

  • 默认值为 0 。 当前,默认行为与 2 等效,其中聚合包含未显示给用户的值。
  • 1 从总计中排除隐藏值。 这对 Excel 为默认值。
  • 2 包括总计中的隐藏值。 这是服务器上的默认值。

此属性的别名为 VisualMode

MDX Compatibility

此属性的目的是确保发出 MDX 查询的应用程序具有一致的 MDX 行为集。 Excel 使用 MDX 查询填充和计算连接到 Analysis Services 的数据透视表,它将此属性设置为 1 以确保在数据透视表中显示不规则层次结构中的占位符成员。 有效值包括 0、1、2。

0 和 1 表示公开占位符成员;2 表示不公开这些成员。 如果它为空,则假定为 0。

MDX 缺少成员模式

指示是否在 MDX 语句中忽略缺少的成员。 有效值为 DefaultErrorIgnore。 Default 使用服务器定义的值。 当成员不存在时,错误会生成错误。 Ignore 指定应忽略缺失值。

Optimize Response

位掩码指示启用以下哪个查询响应优化。

  • 0x01 使用 NormalTupleSet (默认) 。
  • 0x02切片器为空时使用 。
Packet Size

仅适用于 TCP 连接。 网络数据包大小(字节)为 512-32,767。 默认网络数据包大小为 4096。

Protocol Format

设置 XMLA 通信协议使用的 XML 的格式。 有效值为 DefaultXMLBinary。 可以指定以二进制格式或文本 XML 发送的 XML。 二进制格式对 XML 元素和属性编码,使得它们更小。 此外,还可以使用“传输压缩”选项为消息启用压缩,以减小请求和响应的大小。 请求和响应可以使用不同的协议格式,具体取决于客户端和服务器支持的内容。 例如,客户端库可能仅支持二进制文件作为响应,而不支持用于请求,或者服务器可能已禁用传入请求的二进制文件。

OLE DB 访问接口可以将请求和响应格式设置为二进制或压缩格式。 AMO 和 ADOMD.NET 将请求格式设置为文本,但是接受二进制或压缩格式的响应。

此连接字符串属性与 EnableBinaryXMLEnableCompression 服务器配置设置等效。

Real Time Olap

将此属性设置为绕过缓存,导致所有存储查询从源系统提取数据。 默认情况下,未设置此属性。

Safety Options

设置用户定义的函数和操作的安全级别。 有效值为 012。 在 Excel 连接中,此属性为“安全选项=2”。 有关此选项的详细信息可以在 ConnectionString

SQLQueryMode

指定 SQL 查询是否包含计算。 有效值为 Data、Calculated、 IncludeEmpty。 Data 表示不允许计算。 Calculated 表示允许计算。 IncludeEmpty 表示允许计算并在查询结果中返回空行。

超时

指定在生成错误前客户端库等待命令完成的最长时间(秒)。

Transport Compression

定义如何压缩客户端和服务器通信。 有效值为 DefaultNoneCompressed。 “无”表示不使用压缩。 压缩使用 XPRESS 压缩。

UseExistingFile

连接到本地多维数据集时使用。 此属性指定是否覆盖本地多维数据集。 有效值为 TrueFalse。 如果设置为 True,则多维数据集文件必须存在。 现有文件将是连接目标。 如果设置为 False,则覆盖多维数据集文件。

另请参阅

AMO 基本类 - 服务器对象
AdomdConnection 类 - 属性