連接字串屬性

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

本文說明連線至 Azure Analysis Services (Azure AS) 、SQL Server Analysis Services (SSAS) ,以及 Power BI Premium 語意模型的用戶端應用程式所使用的 連接字串 屬性。 Analysis Services 用戶端連結庫、ADOMD.NET、AMO 和 OLE DB (MSOLAP) Provider for Analysis Services 會使用這些屬性。 大部分 連接字串 屬性都可以與這三個用戶端連結庫搭配使用。 例外狀況將於描述中提出。

使用左側目錄上方 的版本選取器 ,只查看套用至特定平臺或版本的屬性。

連線內容

資料來源

指定伺服器執行個體。 此屬性是所有連接的必要項。

Azure Analysis Services 的有效值包括<protocol>://<region>/<servername>通訊協定為字串asazure的位置,或使用link伺服器名稱別名時,區域是建立 (伺服器的 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位址、本機連線的本機或localhost、針對 HTTP 或 HTTPS 存取設定伺服器的 URL,或是本機 Cube (.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 伺服器查閱。 適用於針對連線問題進行疑難解答。
提供者

使用 MSOLAP 之類的 OLE DB 提供者時,連接字串 上需要這個屬性。 它可讓您使用版本獨立提供者 (通常是最新的) ,例如 “Provider=MSOLAP”,或者您也可以指定版本相依提供者,例如 “Provider=MSOLAP.7”。 有效的版本相依值遵循 MSOLAP 模式。<version,其中 <version>> 是 7 或 8。 例如,MSOLAP.7 在 2016 年 SQL Server 發行。 版本 「.8」 是最新的,並被視為 「evergreen」。 預期會保留回溯相容性的更新。 您也可以使用舊版號碼,但這些 MSOLAP 版本現在已不在標準支援中。

此屬性是 ADOMD.NET 和 AMO 的選擇性屬性。 複製 MSOLAP 連接字串 以搭配 ADOMD.NET 和 AMO 使用時,允許它方便使用。

範例 描述
Provider=MSOLAP.7 Connections 需要 SQL Server 2016 版的 OLE DB Provider for Analysis Services。
Cube

Cube 名稱或檢視方塊名稱。 資料庫可能包含多個 Cube 和檢視方塊。 如果可能會有多重目標,請在連接字串中加入 Cube 或檢視方塊的名稱。

範例 描述
Cube=Sales 名為 Sales 的 Cube。
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 或 username 做為值,然後在安全性表達式的定義中指定該值。

Encrypt Password

指定是否使用本機密碼加密本機 Cube。 有效值為 TrueFalse。 預設值是 False。

Encryption Password

用於將已加密的本機 Cube 解密的密碼。 預設值為空白。 使用者必須明確設定此值。

模擬等級

指出伺服器模擬用戶端時,允許伺服器使用的模擬層級。 有效值包括:

  • 匿名。 用戶端對伺服器而言是匿名。 伺服器進程無法取得客戶端的相關信息,也無法模擬用戶端。
  • 識別。 伺服器處理序可以取得用戶端識別。 伺服器可以根據授權目的模擬用戶端身分識別,但無法以用戶端身分存取系統物件。
  • 模擬。 這是預設值。 只有在建立連接時才可以模擬用戶端識別,而非每一次呼叫都能模擬。
  • 委派。 伺服器處理序可在代表用戶端時模擬用戶端安全性內容。 伺服器處理序也可以在代表用戶端期間對其他伺服器發出連出呼叫。
整合式安全性

使用呼叫端的 Windows 識別連接到 Analysis Services。 有效值為 SSPI空白基本ClaimsToken*。

SSPI 是 TCP 連線的預設值,允許 NTLM、Kerberos 或匿名驗證。 針對 Azure AS 和 Power BI Premium,SSPI 表示 AD 翻譯。 使用 SSPI 時, ProtectionLevel 屬性必須設定為 Connect、Pkt Integrity 或 Pkt Privacy。

空白是 HTTP 連線的預設值。

*Azure AS 和 Power BI Premium 支援 ClaimsToken。

保存安全性資訊

有效值為 TrueFalse。 設定為 True 時,一旦建立連接之後,即可從連接取得先前在連接字串中指定的使用者識別或密碼等安全性資訊。 預設值是 False。

保護層級

決定連接所使用的安全性層級。 支援的值取決於基礎傳輸。 有效值為:

  • None: 未驗證或匿名連接。 對傳送到伺服器的資料不執行驗證。
  • 線上。 驗證的連接。 只有在用戶端與伺服器建立關聯性時才會驗證。
  • Pkt Integrity。 加密的連接。 確認從用戶端接收所有數據,且傳輸中尚未變更。
  • Pkt Privacy。 已簽署的加密,僅支援 TCP。 確認從用戶端接收所有數據、傳輸中尚未變更,並透過加密來保護數據的隱私權。

若要深入瞭解,請參閱在 ADOMD.NET 中建立安全 Connections

角色

指定預先定義的角色以逗號分隔的清單,以便使用該角色所傳達的權限連接到伺服器或資料庫。 如果省略此屬性,則會使用所有角色,而且有效權限將是所有角色權限的組合。 例如,將 屬性設定為空值, Roles=' ' 表示用戶端連線沒有角色成員資格。

系統管理員使用此屬性連接時將使用其角色所傳達的權限。 如果角色未提供足夠的許可權,某些命令可能會失敗。

如果在連線到 Power BI Premium 工作區時指定角色,請使用Power BI安全性模型中的工作區角色

SSPI

Integrated Security 設定為 SSPI時,明確指定哪一種安全性封裝用於用戶端驗證。 SSPI 支援多種封裝,但是您可以使用這個屬性來指定特定封裝。 有效值為:

  • 交涉
  • Kerberos
  • NTLM
  • 匿名使用者

如果未設定此屬性,則所有套件都將可供連線使用。

Use Encryption for Data

將資料傳輸加密。 有效值為 TrueFalse

用戶標識碼=...;Password=

當用戶端應用程式中的目前使用中使用者無法自動傳播至伺服器時,使用者標識碼和密碼屬性會提供適當的認證給伺服器。 此行為取決於傳輸通訊協定和所連線的伺服器:

  • 透過 TCP 連線到 SSAS 時,用戶端連結庫會使用指定的使用者名稱和密碼模擬 Windows 使用者,然後像往常一樣連線到伺服器。

  • 透過 HTTP (S) 連線到 SSAS 時,會根據 Web 伺服器上設定的驗證模式,例如基本身份驗證或 Windows 驗證,將認證提供給網頁伺服器。網頁伺服器會在連線到 SSAS 伺服器之前執行適當的 Windows 模擬,因此提供正確的認證流程給伺服器。

  • 連線到 Azure AS 或 Power BI Premium 時,會使用使用者識別碼和密碼來取得 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 連接字串 屬性來傳遞存取令牌。 您仍然可以省略 連接字串 中的 [用戶標識符] 屬性,並只指定 Password 屬性中的存取令牌,但在這些情況下,無法重新整理存取令牌。 請改用 AccessToken 屬性,以便在需要時提供現有連線的全新存取令牌。 不支援設定 Password 屬性和 AccessToken 屬性。

注意: 「使用者標識碼」具有內嵌空間。 用戶標識碼的替代別名是 UID ,而 Password 的替代別名是 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 視覺化模式

設定此屬性可控制在套用維度安全性的情況下彙總成員的方式。

如果是允許每個人查看的 Cube 資料,彙總所有成員就有意義,因為分攤總計的所有值全都可見。 不過,若您根據使用者識別對維度進行篩選或限制,則顯示以所有成員為準的總計 (將限制和允許的值併入單一總計) 可能會造成混淆或顯示本不應揭露的資訊。

若要指定在套用維度安全性的情況下彙總成員的方式,您可以將此屬性設定為 True 讓彙總只使用允許的值,或設定為 False 讓總計排除限制的值。

透過連接字串設定時,此值將套用至 Cube 或檢視方塊層級。 而在模型內,您可以控制更細微層級的視覺化總計。

有效值為:

  • 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 連線中,此屬性為 Safety Options=2。 這個選項的詳細資訊可在 ConnectionString

SQLQueryMode

指定 SQL 查詢是否包含計算。 有效值為 Data、Calculated、 IncludeEmpty。 Data 表示不允許計算。 Calculated 則允許計算。 IncludeEmpty 允許查詢結果傳回計算和空的資料列。

逾時

指定用戶端程式庫在產生錯誤之前等候命令完成的時間 (以秒為單位)。

Transport Compression

定義如何壓縮客戶端和伺服器通訊。 有效值為 DefaultNoneCompressed。 None 表示未使用任何壓縮。 壓縮使用 XPRESS 壓縮。

UseExistingFile

連接到本機 Cube 時使用。 此屬性指定是否要覆寫本機 Cube。 有效值為 TrueFalse。 如果設定為 True,則 Cube 檔案必須已存在。 現有的檔案將是連接的目標。 如果設定為 False,便會覆寫 Cube 檔案。

另請參閱

AMO 基本類別 - 伺服器物件
AdomdConnection 類別 - 屬性