共用方式為


Analysis Services 用戶端連結庫

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

用戶端應用程式和工具需要客戶端連結庫才能連線到 Analysis Services。 Microsoft適用於 Visual Studio 的 Power BI Desktop、Excel、SQL Server Management Studio (SSMS) 和 Analysis Services 專案延伸模組等用戶端應用程式會安裝這三個用戶端連結庫,並更新它們以及一般應用程式更新。 Analysis Services 的自訂用戶端應用程式可能也需要安裝一或多個這些客戶端連結庫。 新版本的用戶端連結庫大約會每月更新。

重要事項: 取得最新版本之前,請務必 考慮和限制

下載最新的

Windows Installer

下載 版本
MSOLAP (amd64) 16.0.142.20
MSOLAP (x86) 16.0.142.20
AMO 19.84.1.0
ADOMD 19.84.1.0

注意: Analysis Services 管理物件 (AMO/TOM) 和 ADOMD 的 Windows Installer 下載專案已不再更新,且無法在 2024 年 12 月 31 日之後使用。 依賴這些 Windows Installer 下載的應用程式應該移轉至 NuGet 套件。

NuGet 套件

Analysis Services 管理物件 (AMO/TOM) 和 ADOMD 用戶端連結庫可從 NuGet.org取得可安裝的套件。強烈建議您移轉至 NuGet 參考,而不是使用 Windows Installer。

NuGet 套件元件 AssemblyVersion 遵循語意版本設定:MAJOR。次要。補丁。 NuGet 參考會載入預期的版本,即使 GAC 中有不同的版本(由 MSI 安裝所產生)。 PATCH 會針對每個版本遞增。 AMO 和 ADOMD 版本會保持同步。

從 2024 年 7 月開始,AMO 和 ADOMD 套件包含所有支援的目標運行時間的多運行時間版本,包括 .NET FX 和 .NET Core;只有以 .NET FX 或 .NET Core 為目標之單一運行時間的舊版套件,都可供回溯相容性使用,但不再更新。

從 2022 年 9 月開始,AMO (AMO/TOM) 和 ADOMD .Net Core(19.48.0.0 版)的 HTTP 型與 Power BI 和 Azure Analysis Services 等雲端服務的通訊會大幅改善。 建議您更新為最新版本,以利用效能改善。

從 2021 年 2 月開始,.NET Core 運行時間支援適用於 AMO 和 ADOMD 用戶端套件。 不過,.NET Core 版本不支援幾個案例。 若要深入瞭解,請參閱本文稍後的 考慮和限制

AMO 和 ADOMD

版本
AMO 19.84.1
ADOMD 19.84.1

附注:

新的多運行時間套件不再具有套件身分識別中的 「.retail.amd64」 後綴,現在稱為 Microsoft.AnalysisServices 和 Microsoft.AnalysisServices.AdomdClient。

舊版 .NET Framework 和 .NET Core 套件仍可在 nuget.org 中使用 .NET Framework 的 “.retail.amd64” 後綴和 “..NET Core 的 NetCore.retail.amd64“ 後綴。

最低必要版本

傳輸層安全性 (TLS) 通訊協定 1.0/1.1 版在 2021 年 6 月 30 日Microsoft Entra 標識符中 已被 取代。 現在需要 TLS 1.2 或更高版本。 舊版 Analysis Services 用戶端連結庫不支援 TLS 1.2。 除了其他重要的安全性增強功能之外,較新的用戶端連結庫版本也包含TLS 1.2和更新版本的支援。

若要將風險和潛在安全性弱點降到最低,從 2021 年 6 月 30 日起,Azure Analysis Services 和 Power BI 中的增強安全性需要下列或更高版本:

用戶端連結庫 檔案版本 版本
MSOLAP 2018.151.61.21 15.1.61.21
AMO 15.1.61.21 19.12.3.0
ADOMD 15.1.61.21 19.12.3.0

考慮和限制

AMO 和 ADOMD

從 19.82.0.0 版開始,AMO 和 ADOMD 支援服務主體配置檔進行驗證,如下列連接字串範例所示。 若要深入瞭解,請參閱 使用服務主體配置檔來管理多租使用者應用程式中的客戶數據

Data Source=powerbi://api.powerbi.com/v1.0/myorg/<WorkspaceName>;User ID=app:<service principal id>@<tenant id>;SPN Profile=<service-principal profile id>;Password=<service-principal's secret>

從 19.67.0 版開始,Microsoft.AnalysisServices.AdomdClient.AdomdConnection 和 Microsoft.AnalysisServices.Server 等連線對象支援新的 AccessToken 屬性,讓 XMLA 連線層能夠傳遞外部 OAuth 令牌的改良方式。 若要深入瞭解,請參閱 連接字串屬性 - 使用者標識元=...;Password=

從 19.42.0.4 版開始,ADOMD.NET 和 AMO/TOM 會使用 MSAL(Microsoft.Identity.Client) 4.43.0 版或更新版本,而不是 ADAL,在建立與 Power-BI 和 Azure Analysis Services 等雲端式服務的聯機時,使用 Microsoft Entra ID 來驗證使用者。 如果您的應用程式或其他應用程式所依賴的元件是使用 MSAL,則如果元件載入的 MSAL 版本之間發生衝突,可能需要更新應用程式的系結重新導向設定。

AMO 和 ADOMD .Net Core

支援的案例包括 Azure Analysis Services、Power BI Premium 和 SQL Server Analysis Services 的連線。 僅限 Windows 計算機支援 TCP 型連線。

只有 Windows 計算機支援具有 Microsoft Entra ID 的互動式登入。 需要 .NET Core Desktop 運行時間。

MSAL 中的相依性需要 4.43.0 版或更高版本。

.Net Core 用戶端連結庫 19.14.0 版除了支援 .NET 5.0 專案取用之外,也引進了 Self-Contained 發行的預覽支持(無論是在已發佈的目錄中,還是單一檔案模式)。 已修正與先前版本所識別之 SQL Server Analysis Services 連線相關的幾個問題。

.Net Core 用戶端連結庫 19.12.7.2 版引進了 SQL Server Analysis Services 的支援。 較低預覽版本僅支援 Azure Analysis Services 和 Power BI 語意模型。

AMO

AMO 用戶端連結庫 19.12.3.0 版引進了新的列舉,Microsoft.AnalysisServices.DataType。 不過,先前的列舉 Microsoft.AnalysisServices.Tabular.DataType 仍然存在。 如果您的程式代碼在程式代碼檔案中將先前的列舉參考為 DataType,並將 語句同時參考至命名空間 (Microsoft.AnalysisServicesMicrosoft.AnalysisServices.Tabular),則編譯時可能會收到錯誤。 若要解決錯誤,請完整限定列舉的參考。

AMO 用戶端連結庫 19.61.1.4 版引進了 Microsoft.AnalysisServices.Server的交易回復行為變更。 在舊版中,呼叫 Server.RollbackTransaction() 傳送要求給引擎以回復交易,然後嘗試回復本機變更。 與舊版不同,在 19.61.1.4 和更新版本中,如果無法安全地復原本機變更,則交易區塊中包含的表格式資料庫會封鎖任何其他變更,直到可以完全同步,並移除已回復之交易的過時變更。 對相關的表格式資料庫進行變更時,會引發 InvalidOperationException。 如果您的程式代碼呼叫 Server.RollbackTransaction(),建議您針對任何修改為交易一部分的表格式資料庫,遵循該呼叫,並搭配完整同步處理 [Database.Refresh(true)]

從 19.77.0 版開始,當使用表格式物件模型 (TOM) 將 MetadataObject 複製到 MetadataObject 的另一個實例時,TOM 會針對在 MetadataObject 之子物件直接樹狀結構之外交叉參考對象的屬性傳回 Null。 您必須將複製的 MetadataObject 實例新增至語意模型,才能解析 MetadataObject 樹狀結構外部物件的交叉參考。

例如,當複製具有參考 EntityPartitionSource 中具名表達式之數據分割的數據表時,EntityPartitionSource 的 ExpressionSource 屬性會傳回 null,直到複製的數據表新增至語意模型,如下列代碼段所示,以便解析複製的 ExpressionSource 參考。 複製品必須新增至模型,因為交叉參考的具名表達式是模型的Expressions集合的成員,而不是子物件之數據表樹狀結構的成員。

Table tableClone = model.Tables[0].Clone();
anotherModel.Tables.Add(tableClone);

ADOMD

從 ADOMD(.NET Framework 和 .NET Core)19.61.1.4 版開始,XMLA 傳輸層中完全可使用壓縮。 19.55.3.1 版之後的舊版實作部分壓縮支援。 收到有關這些版本問題的報告。 這些問題已修正為 16.61.1.4 版的一部分。 如果您遇到與壓縮相關的問題,請務必升級至 19.61.1.4 或更新版本。

MSOLAP

從 16.0.139.27 版開始,MSOLAP 支援服務主體配置檔進行驗證,如下列連接字串範例所示。 若要深入瞭解,請參閱 使用服務主體配置檔來管理多租使用者應用程式中的客戶數據

Data Source=powerbi://api.powerbi.com/v1.0/myorg/<WorkspaceName>;User ID=app:<service principal id>@<tenant id>;SPN Profile=<service-principal profile id>;Password=<service-principal's secret>

從 16.0.134.22 版開始,MSOLAP 支援使用 Windows 10 和更新版本以及 Windows Server 2019 和更新版本的 Web 帳戶管理員 #16.0.134.22 無訊息單一 Sign-On (SSO),以及 Windows Server 2019 和更新版本。 開啟新的 HTTP 連線時,MSOLAP 會取得存取令牌,如下所示:

  1. 如果已啟用令牌快取,且快取中有適當的令牌可供使用,MSOLAP 會使用快取的令牌。
  2. 如果無法使用適當的快取令牌,MSOLAP 會嘗試透過WAM以無訊息方式取得存取令牌。
  3. 如果使用 WAM 的 SSO 失敗,MSOLAP 會回復為互動式驗證,並快顯登入視窗。

使用者可以略過無訊息 SSO 流程,並在連接字串中提供「空白」用戶識別碼,立即啟動互動式驗證體驗。

從 16.0.43.20 版開始,MSOLAP 會使用 MSAL(Microsoft.Identity.Client) 4.43.0 版或更新版本,而不是 ADAL,在建立與 Power-BI 和 Azure Analysis Services 等雲端式服務的聯機時,使用 Microsoft Entra ID 來驗證使用者。 如果您的應用程式或其他應用程式相依元件正在使用 MSAL,則如果元件載入的 MSAL 版本之間發生衝突,可能需要更新應用程式的系結重新導向設定

在 16.0.4.17 版 OLEDB (MSOLAP) 中發現了與使用 Microsoft Entra 識別符之雲端式系統連線相關的回歸。 它已在 16.0.20.201 版本中修正。 由於問題的性質,安裝 16.0.4.17 版本,以及 16.0.20.201 之前的任何其他版本,即使安裝程式是在修復模式中執行,仍無法更正提供者。 建議您完全卸載 16.0.4.17 [或其他有問題] 版本,然後安裝 16.0.20.201 或更新版本。

在舊版中,MSOLAP 已更新為使用受控Microsoft驗證連結庫聯機到雲端式 Analysis Services(MSAL)。 從 16.0.87.16 版開始,MSOLAP 安裝程式不再安裝原始原生 Azure Active Directory 驗證連結庫 (ADAL) 元件。

瞭解客戶端連結庫

Analysis Services 會利用三個客戶端連結庫。 ADOMD.NET 和 Analysis Services 管理物件 (AMO) 都是受控用戶端連結庫。 Analysis Services OLE DB 提供者 (MSOLAP DLL) 是原生用戶端連結庫。 一般而言,這三者都會同時安裝。

Microsoft Power BI Desktop 和 Excel 等用戶端應用程式會安裝這三個用戶端連結庫,並在有新版本可用時加以更新。 根據更新的版本或頻率,某些客戶端連結庫可能不是 Azure Analysis Services 和 Power BI 所需的最新版本。 這同樣適用於自定義應用程式或其他介面,例如 AsCmd、TOM、ADOMD.NET。 這些應用程式需要手動或以程序設計方式安裝連結庫。 手動安裝的用戶端連結庫包含在 SQL Server 功能套件中,作為可散發套件。 不過,這些客戶端連結庫會系結至 SQL Server 版本,而且可能不是最新的。 請務必一律從本文安裝最新且可下載的 。

用戶端連結庫類型

Analysis Services OLE DB 提供者 (MSOLAP)

Analysis Services OLE DB 提供者 (MSOLAP) 是 Analysis Services 資料庫連線的原生客戶端連結庫。 ADOMD.NET 和 AMO 都會間接使用,並將連線要求委派給數據提供者。 您也可以直接從應用程式程式代碼呼叫 OLE DB 提供者。

Analysis Services OLE DB 提供者是由用來存取 Analysis Services 資料庫的大部分工具和用戶端應用程式自動安裝。 它必須安裝在用來存取 Analysis Services 數據的電腦上。

連接字串中通常會指定 OLE DB 提供者。 Analysis Services 連接字串使用不同的命名法來參考 OLE DB 提供者:MSOLAP。<版本>.dll。

AMO

AMO 是用於伺服器管理和數據定義的受控客戶端連結庫。 它是由工具和用戶端應用程式所安裝及使用。 例如,SQL Server Management Studio (SSMS) 會使用 AMO 連線到 Analysis Services。 使用 AMO 的連線通常是最少的,由 "data source=\<servername>"組成。 建立連線之後,您可以使用 API 來處理資料庫集合和主要物件。 Visual Studio 和 SSMS 都會使用 AMO 連線到 Analysis Services 實例。

ADOMD

ADOMD.NET 是用來查詢 Analysis Services 數據的 Managed 數據用戶端連結庫。 它是由工具和用戶端應用程式所安裝及使用。

連接到資料庫時,這三個連結庫的連接字串屬性都類似。 使用 Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString,幾乎您為 ADOMD.NET 定義的連接字符串也適用於 AMO 和 Analysis Services OLE DB 提供者 (MSOLAP)。 若要深入瞭解,請參閱 連接字串屬性

檢查已安裝的版本

OLEDDB (MSOLAP)

  1. 移至 C:\Program Files\Microsoft Analysis Services\AS OLEDB\。 如果您有一個以上的資料夾,請選擇較高的數位。

  2. 以滑鼠右鍵按鍵按鍵按鍵按下 msolap.dll>[屬性]>[詳細資料]。 檢查產品版本 屬性。 注意:如果檔名 msolap140.dll,則比最新版本還舊,而且應該升級。

    MSOLAP 用戶端連結庫詳細數據對話框

AMO

  1. 移至 C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\。 如果您有一個以上的資料夾,請選擇較高的數位。

  2. 以滑鼠右鍵按兩下 Microsoft.AnalysisServices>[屬性]>[詳細資料]

    AMO 用戶端連結庫詳細數據對話框

ADOMD

  1. 移至 C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\。 如果您有一個以上的資料夾,請選擇較高的數位。

  2. 以滑鼠右鍵按兩下 Microsoft.AnalysisServices.AdomdClient>[屬性]>[詳細數據]

    ADOMD 用戶端連結庫詳細數據對話框

手動更新

用戶端連結庫通常會隨使用這些連結庫的工具和用戶端應用程式一起自動安裝及更新。 不過,在某些情況下,客戶端連結庫可能不會自動更新,而且每個連結庫都必須手動更新。 若要手動更新,請下載並執行每個用戶端連結庫的 Windows Installer (.msi) 套件。

下載並更新

  1. 點擊:

  2. 在 [下載中,按兩下 [Windows Installer 套件] 以執行安裝程式。

  3. 在 [安裝] 中,按兩下一步】

  4. 閱讀許可協定。 如果您同意,請選取 [我接受許可協定中的條款,然後按兩下 [下一步]

  5. 點選取 ,安裝

  6. 完成時,按兩下 [完成]