共用方式為


連接字串屬性

適用於: 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) 提供者會使用這些屬性。 大部分的連接字串屬性都可以與這三個用戶端連結庫搭配使用。 描述中會指出例外狀況。

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

線上屬性

數據源

指定伺服器實例。 所有連接都需要這個屬性。

Azure Analysis Services 的有效值包括 <protocol>://<region>/<servername>,其中通訊協定是字串 asazurelink 使用 伺服器名稱別名,區域是建立伺服器的 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 的本機或 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 模式。<版本>,其中 <版本> 為 7 或 8。 例如,MSOLAP.7 在 SQL Server 2016 中發行。 版本 「.8」 是最新的,並被視為 「evergreen」。 其預期會持續以回溯相容性進行更新。 舊版號碼也是可行的,但這些 MSOLAP 版本現在已脫離標準支援。

此屬性對於 ADOMD.NET 和 AMO 而言是選擇性的。 複製 MSOLAP 連接字串以搭配 ADOMD.NET 和 AMO 使用時,可以方便使用。

描述
Provider=MSOLAP.7 需要 SQL Server 2016 版本的 OLE DB Provider for Analysis Services 的連線。
立方體

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

描述
Cube=Sales 名為 Sales 的 Cube。
Cube=SalesPerspective 名為 SalesPerspective 的檢視方塊。

驗證和安全性屬性

Azure Analysis Services 和 Power BI Premium 使用 Microsoft Entra ID - Universal with MFA (建議),Microsoft以使用者名稱和密碼進行 Entra 驗證、Microsoft Entra 存取令牌或 Windows 驗證。

SQL Server Analysis Services 只會使用 Windows 驗證。 透過 MSMDPUMP.dll啟用 HTTP 存取時,可以使用基本身份驗證和匿名驗證,如在 IIS 8.0 上 設定 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 做為值,然後在安全性表達式的定義中指定該值。

加密密碼

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

加密密碼

用來解密加密本機 Cube 的密碼。 預設值是空的。 用戶必須明確設定此值。

模擬層級

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

  • 匿名。 用戶端對伺服器是匿名的。 伺服器進程無法取得客戶端的相關信息,也無法模擬用戶端。
  • 識別。 伺服器進程可以取得用戶端身分識別。 伺服器可以根據授權目的模擬用戶端身分識別,但無法以用戶端身分存取系統物件。
  • 模擬。 這是預設值。 用戶端身分識別可以模擬,但只有在建立連線時,而不是在每個呼叫上。
  • 委派。 伺服器進程可以模擬用戶端安全性內容,同時代表用戶端採取行動。 伺服器進程也可以代表用戶端對其他伺服器進行傳出呼叫。
整合式安全性

呼叫者的 Windows 身分識別是用來連線到 Analysis Services。 有效值為 SSPI空白BasicClaimsToken*。

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

空白是 HTTP 連線的預設值。

*Azure AS 和 Power BI Premium 支援 ClaimsToken。

保存安全性資訊

有效值為 true False。 當設定為 True 時,可以在建立連線之後,從連接取得安全性資訊,例如先前在連接字串上指定的使用者身分識別或密碼。 預設值為 False。

保護層級

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

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

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

角色

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

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

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

SSPI

明確指定當整合式安全性 設定為 SSPI時,要用於客戶端驗證的安全性套件。 SSPI 支援多個套件,但您可以使用這個屬性來指定特定套件。 有效值為:

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

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

使用數據加密

加密數據傳輸。 有效值為 true False

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

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

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

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

  • 連線到 Azure AS 或 Power BI Premium 時,會使用使用者標識碼和密碼來取得Microsoft Entra 令牌,然後在驗證期間提供給服務。 Microsoft Entra ID 可能也需要多重要素驗證 (MFA),這可能需要額外的用戶互動,才能產生令牌。

  • 如果您已經從自己的應用程式取得有效的Microsoft Entra ID 持有人 存取令牌,您可以在建立連線之前,先設定 AdomdConnection 物件的 AccessToken 屬性。 在相關連線物件的 AccessToken 屬性中(AdomdConnection、Server 等),請確定您已設定存取令牌並指定其到期時間。 支援使用者以互動方式取得持有人令牌的驗證,並使用 OAuth 2.0 On-Behalf-Of 流程 (例如,代表用戶連線到 Analysis Services 的仲介層 Web 應用程式)。 在 AccessToken 屬性中傳遞存取令牌時,請省略令牌類型。 Analysis Services 用戶端連結庫會自動將驗證配置值 “Bearer” 新增至存取令牌。 請務必記住下列事項:

    • Microsoft Entra 持有人存取令牌的存留期有限。 根據預設,介於 60-90 分鐘之間。 如果您的應用程式執行超過存取令牌存留期的長時間執行作業,您可以透過 AdomdConnection 物件的 OnAccessTokenExpired 屬性提供回呼函式,以在目前存取令牌即將到期時重新整理存取令牌。 或者,您可以直接在沒有回呼函式協助的情況下,直接更新 AccessToken 屬性。 建議使用回呼函式,以確保存取令牌會在目前存取令牌的存留期內重新整理。
    • 不建議使用 Password 連接字串屬性來傳遞存取令牌。 您仍然可以在連接字串中省略 用戶識別子 屬性,並只在 Password 屬性中指定存取令牌,但在這種情況下,無法重新整理存取令牌。 請改用 AccessToken 屬性,以便在需要時為現有連線提供新的存取令牌。 不支援設定 Password 屬性和 AccessToken 屬性。

注意:「用戶標識碼」具有內嵌的空間。 使用者識別碼的替代別名是 UID,而密碼的替代別名 PWD

特殊用途屬性

這些屬性是用來確保應用程式所需的特定連線行為。 屬性會依字母順序列出。

應用程式名稱

設定與連接相關聯的應用程式名稱。 監視追蹤事件時,這個值很有用,特別是當您有數個應用程式存取相同的資料庫時。 例如,將應用程式名稱='test' 新增至連接字串會導致 'test' 出現在 SQL Server Profiler 追蹤中。 此屬性的別名包括 SspropInitAppNameAppName。 若要深入瞭解,請參閱SQL Server 連線的應用程式名稱。

自動同步期間

設定客戶端和伺服器快取同步處理的頻率(以毫秒為單位)。 ADOMD.NET 為具有最小記憶體額外負荷的常用物件提供用戶端快取。 這有助於減少伺服器往返次數。 默認值為 10,000 毫秒(或 10 秒)。 當設定為 null 或 0 時,會自動關閉同步處理。

基於效能考慮,客戶端連結庫會從伺服器快取某些資訊,例如特定架構數據列集。 自動同步期間可讓使用者變更用戶端連結庫檢查伺服器是否需要清空快取的時間週期。 一般而言,您不需要從預設值變更值。

字元編碼

定義如何在要求上編碼字元。 有效值為 DefaultUTF-8 (這些相等),UTF-16

CommitTimeout

XMLA 屬性。 判斷目前執行中命令的認可階段在回復之前會等候多久,以毫秒為單位。 大於 0 時,覆寫伺服器組態中對應 CommitTimeout 屬性的值。

CompareCaseSensitiveStringFlags

調整指定地區設定的區分大小寫字串比較。

壓縮層級

如果壓縮 TransportCompression,您可以設定壓縮層級來控制使用多少壓縮。 有效值為 09,0 具有最小壓縮,9 個具有最多壓縮。 壓縮增加會降低效能。 預設值為 0。

線上逾時

決定用戶端在逾時之前嘗試連線的時間上限(以秒為單位)。如果連線在此期間內未成功,客戶端會結束嘗試連線併產生錯誤。

DbpropMsmdRequestMemoryLimit

覆寫連線 Memory\QueryMemoryLimit 伺服器屬性值。

以 KB 為單位指定,此屬性 減少查詢期間所使用的記憶體數量,從 QueryMemoryLimit 中允許的記憶體上限(以百分比指定為百分比)。 它無法增加使用超過 QueryMemoryLimit 中所指定記憶體上限的記憶體數量。

預設 MDX 視覺化模式

設定此屬性以控制套用維度安全性時如何匯總成員。

對於每個人都可以看見的 Cube 數據,匯總所有成員是合理的,因為所有參與總計的值都是可見的。 不過,如果您根據使用者身分識別篩選或限制維度,則根據所有成員顯示總計的總計(將受限制和允許的值合併成單一總計)可能會混淆或顯示比應該顯示的更多資訊。

若要指定在套用維度安全性時如何匯總成員,您可以將此屬性設定為 True,只使用匯總中的允許值,或 False 將限制值從總計中排除。

在連接字串上設定時,這個值會套用至 Cube 或檢視方塊層級。 在模型中,您可以在更細微的層級控制視覺效果總計。

有效值為、

  • 0 是預設值。 目前,預設行為相當於 2,其中匯總包含用戶隱藏的值。
  • 1 排除總計中的隱藏值。 這是 Excel 的預設值。
  • 2 包含總計中的隱藏值。 這是伺服器上的預設值。

此屬性的別名 VisualMode

MDX 相容性

這個屬性的目的是要確保發行 MDX 查詢之應用程式的一組一致的 MDX 行為。 Excel 會使用 MDX 查詢來填入和計算連接到 Analysis Services 的數據透視表,並將此屬性設定為 1,以確保數據透視表中可以看到不完全階層中的佔位符成員。 有效值包括 0、1、2。

0 和 1 公開佔位符成員;2 不。 如果這是空的,則會假設為0。

MDX 遺漏成員模式

指出 MDX 語句中是否忽略遺漏的成員。 有效值為 DefaultErrorIgnore。 預設值會使用伺服器定義的值。 錯誤會在成員不存在時產生錯誤。 Ignore 指定應該忽略遺漏的值。

優化回應

位掩碼,指出已啟用下列哪一個查詢響應優化。

  • 0x01使用 NormalTupleSet (預設值)。
  • 0x02交叉分析篩選器是空的時使用。
封包大小

僅適用於 TCP 連線。 介於 512 到 32,767 之間的網路封包大小(以位元組為單位)。 默認的網路封包大小為 4096。

通訊協定格式

設定 XMLA 通訊協定所使用的 XML 格式。 有效值為 DefaultXMLBinary。 您可以指定以二進位格式或文字 XML 傳送 XML。 二進位格式會編碼 XML 元素和屬性,使其較小。 此外,您也可以為訊息啟用壓縮,以使用 [傳輸壓縮] 選項來減少要求和回應的大小。 根據客戶端和伺服器支援的內容,要求和回應可以使用不同的通訊協定格式。 例如,客戶端連結庫可能只支持回應的二進位檔,但不適用於要求,或伺服器可能已停用連入要求的二進制檔。

OLE DB 提供者可以使用二進位或壓縮格式來格式化要求和回應。 AMO 和 ADOMD.NET 將要求格式化為 Text,但接受二進位或壓縮格式的回應。

這個連接字串屬性相當於 EnableBinaryXMLEnableCompression 伺服器組態設定。

即時 Olap

將此屬性設定為略過快取,導致所有記憶體查詢從來源系統擷取數據。 根據預設,不會設定此屬性。

安全選項

設定使用者定義函式和動作的安全性層級。 有效值為 012。 在 Excel 連線中,此屬性為 Safety Options=2。 如您您需要此選項的詳細資訊,請參閱 ConnectionString

SQLQueryMode

指定 SQL 查詢是否包含計算。 有效值為 Data、Calculated、IncludeEmpty。 數據表示不允許任何計算。 計算允許計算。 IncludeEmpty 允許在查詢結果中傳回計算和空白數據列。

超時

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

傳輸壓縮

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

UseExistingFile

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

另請參閱

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