Analysis Services クライアント ライブラリ

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

クライアント アプリケーションとツールが Analysis Services に接続するためには、クライアント ライブラリが必要です。 Power BI Desktop、Excel、SQL Server Management Studio (SSMS)、Visual Studio 向けの Analysis Services プロジェクト拡張機能などの Microsoft クライアント アプリケーションは、3 つのすべてのクライアント ライブラリをインストールし、それらを通常のアプリケーションの更新と共に更新します。 カスタム クライアント アプリケーションでも、クライアント ライブラリがインストールされている必要があります。 クライアント ライブラリは、毎月更新されます。

大事な: 最新バージョンを取得する前に、「 既知の問題」を参照してください。

最新のものをダウンロードする

Windows インストーラー

ダウンロード Version
MSOLAP (amd64) 16.0.127.28
MSOLAP (x86) 16.0.127.28
AMO 19.77.0.0
ADOMD 19.77.0.0

NuGet パッケージ

Analysis Services 管理オブジェクト (AMO/TOM) および ADOMD クライアント ライブラリは、 NuGet.org からインストール可能なパッケージとして使用できます。Windows インストーラーを使用する代わりに、NuGet 参照に移行することをお勧めします。

2021 年 2 月以降、AMO および ADOMD クライアント パッケージと同等の .NET Core パッケージのバージョンも利用できます。 ただし、.NET Core バージョンではサポートされていないシナリオがいくつかあります。 詳細については、この記事の後半の 「既知の問題 」を参照してください。

NuGet パッケージ アセンブリの AssemblyVersion は、セマンティック バージョニングであるMAJOR.MINOR.PATCH に従います。 NUGet 参照は、GAC に別のバージョンがある場合でも (MSI のインストールの結果として) 予想されるバージョンを読み込みます。 PATCH は、リリースごとにインクリメントされます。 AMO と ADOMD のバージョンは常に同期されます。

AMO と ADOMD

パッケージ バージョン
AMO 19.77.0
ADOMD 19.77.0

AMO と ADOMD .Net Core

パッケージ バージョン
AMO .Net Core 19.77.0
ADOMD .Net Core 19.77.0

AMO (AMO/TOM) と ADOMD .Net Core バージョン 19.48.0.0 以降では、Power BI や Azure Analysis Services などのクラウド サービスとの HTTP ベースの通信が大幅に改善されています。 これらのパフォーマンスの向上を利用するには、最新バージョンに更新することをお勧めします。

TMDL プレビュー

AMO リリース 19.72.0 以降、TMDL 機能が Microsoft.AnalysisServices.Tabular.dll に含まれるようになりました。 Microsoft.AnalysisServices.Tabular.Tmdl NuGet パッケージを使用している場合は、必ずプロジェクトから削除して再コンパイルしてください

TMDL API に対して、コードに影響を与える可能性がある次の変更が行われました。

  • TmdlFormatException プロパティ名が変更されます。 たとえば、[ パス] が[ドキュメント] に変更されました。

TMDL の詳細については、「 表形式モデル定義言語の概要」を参照してください。

最低限必要なバージョン

トランスポート層セキュリティ (TLS) プロトコル バージョン 1.0/1.1 は、2021 年 6 月 30 日のMicrosoft Entra IDで非推奨となりました。 TLS 1.2 以降が必要になりました。 TLS 1.2 は、以前のバージョンの Analysis Services クライアント ライブラリではサポートされていません。 新しいクライアント ライブラリ バージョンには、他の重要なセキュリティ強化に加えて、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.67.0 以降では、Microsoft.AnalysisServices.AdomdClient.AdomdConnection や Microsoft.AnalysisServices.Server などの接続オブジェクトで、XMLA 接続レイヤーで使用される外部 OAuth トークンを渡す方法を改善できる新しい AccessToken プロパティがサポートされています。 詳細については、「 接続文字列のプロパティ - ユーザー ID=...;Password=.

バージョン 19.42.0.4 以降、ADOMD.NET と AMO/TOM では、Power-BI や Azure Analysis Services などのクラウドベースのサービスへの接続を確立するときに、ADAL の代わりに MSAL (Microsoft.Identity.Client) バージョン 4.43.0 以降を使用して、Microsoft Entra IDでユーザーを認証します。 アプリケーションまたはアプリケーションが依存する別のコンポーネントが MSAL を使用している場合、コンポーネントによって読み込まれた MSAL のバージョン間で競合がある場合は、アプリケーションのバインド リダイレクト設定を更新する必要がある場合があります。

AMO と ADOMD .Net Core

サポートされているシナリオには、Azure Analysis Services、Power BI Premium、SQL Server Analysis Servicesへの接続が含まれます。 TCP ベースの接続は、Windows コンピューターでのみサポートされています。

Microsoft Entra IDを使用した対話型ログインは、Windows コンピューターでのみサポートされています。 .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 は引き続き存在します。 コードが、両方の名前空間 (Microsoft.AnalysisServices、Microsoft.AnalysisServices.Tabular) にステートメントを含むコード ファイル内の DataType として以前の列挙体を参照している場合、あいまいさのため、コンパイル時にエラーが発生する可能性があります。 エラーを解決するには、列挙への参照を完全に修飾します。

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 を複製またはコピーすると、METADATAObject の子オブジェクトの直接ツリーの外部にあるオブジェクトを相互参照するプロパティに対して、TOM は 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.43.20 以降、MSOLAP では、Power-BI や Azure Analysis Services などのクラウドベースのサービスへの接続を確立するときに、ADAL の代わりに MSAL (Microsoft.Identity.Client) バージョン 4.43.0 以降を使用して、Microsoft Entra IDを使用してユーザーを認証します。 アプリケーションまたはアプリケーションが依存する別のコンポーネントが MSAL を使用している場合、コンポーネントによって読み込まれた MSAL のバージョン間で競合がある場合は、アプリケーションのバインド リダイレクト設定を更新する必要がある場合があります

Microsoft Entra ID を使用したクラウドベースのシステムへの接続に関連する回帰が、16.0.4.17 バージョンの OLEDB (MSOLAP) で検出されました。 16.0.20.201 バージョンで修正されました。 問題の性質上、インストールされている 16.0.4.17 バージョン、および 16.0.20.201 より前の他のバージョンは、セットアップが修復モードで実行されている場合でも、プロバイダーをアップグレードして修正できません。 16.0.4.17 [またはその他の問題のある] バージョンを完全にアンインストールしてから、16.0.20.201 以降のバージョンをインストールすることをお勧めします。

以前のリリースでは、マネージド Microsoft 認証ライブラリ (MSAL) を使用してクラウドベースの Analysis Services に接続するように MSOLAP が更新されました。 バージョン 16.0.87.16 以降、MSOLAP セットアップでは、元のネイティブ Azure Active Directory 認証ライブラリ (ADAL) コンポーネントがインストールされなくなりました。

クライアント ライブラリについて

Analysis Services は、3 つのクライアント ライブラリを利用します。 ADOMD.NET と Analysis Services 管理オブジェクト (AMO) は、マネージド クライアント ライブラリです。 Analysis Services OLE DB Provider (MSOLAP DLL) はネイティブ クライアント ライブラリです。 通常は、3 つすべてが同時にインストールされます。

Power BI Desktop や Excel などの Microsoft クライアント アプリケーションでは、3 つのクライアント ライブラリがすべてインストールされ、新しいバージョンが使用可能になると更新されます。 更新プログラムのバージョンまたは頻度によっては、一部のクライアント ライブラリが、Azure Analysis Servicesおよび Power BI で必要な最新バージョンではない場合があります。 これは、カスタム アプリケーションまたは AsCmd、TOM、ADOMD.NET など他のインターフェイスでも同様です。 これらのアプリケーションでは、ライブラリを手動かプログラムでインストールする必要があります。 手動インストール用のクライアント ライブラリは、配布可能なパッケージとして SQL Server Feature Pack に含まれています。 ただし、これらのクライアント ライブラリは SQL Server のバージョンに対応しており、最新版ではない可能性があります。 この記事からダウンロードできる最新のを常にインストールしてください。

クライアント ライブラリの種類

Analysis Services OLE DB Provider (MSOLAP)

Analysis Services OLE DB Provider (MSOLAP) は、Analysis Services データベース接続用のネイティブ クライアント ライブラリです。 ADOMD.NET と AMO の両方に間接的に使用され、接続要求をデータ プロバイダーに委任します。 アプリケーション コードから OLE DB Provider を直接呼び出すこともできます。

Analysis Services OLE DB Provider は、Analysis Services データベースへのアクセスに使用されるほとんどのツールおよびクライアント アプリケーションによって、自動的にインストールされます。 Analysis Services データへのアクセスに使用されるコンピューターにインストールする必要があります。

OLE DB プロバイダーは、多くの場合、接続文字列で指定されます。 Analysis Services 接続文字列では、OLE DB Provider: 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 データの照会に使用されるマネージド データ クライアント ライブラリです。 ツールおよびクライアント アプリケーションによってインストールされ、使用されます。

データベースに接続する際、3 つのライブラリの接続文字列プロパティは、どれも似ています。 Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString を使用して ADOMD.NET 用に定義したほとんどすべての接続文字列は、AMO と Analysis Services OLE DB Provider (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 インストーラー (.msi) パッケージをダウンロードして実行します。

ダウンロードして更新するには

  1. 次の機能を利用できます。

  2. [ ダウンロード] で、Windows インストーラー パッケージをクリックしてセットアップを実行します。

  3. [セットアップ] で、[ 次へ] をクリックします。

  4. 使用許諾契約書を読みます。 同意する場合は、[ 使用許諾契約書の条項に同意します] を選択し、[ 次へ] をクリックします。

  5. [インストール] をクリック します

  6. 完了したら、[完了] をクリック します