Analysis Services クライアント ライブラリ
適用対象: Azure Analysis Services Fabric/Power BI Premium
SQL Server Analysis Services
クライアント ライブラリは、クライアント アプリケーションとツールが Analysis Services に接続するために必要です。 Visual Studio 用の Power BI Desktop、Excel、SQL Server Management Studio (SSMS)、Analysis Services プロジェクト拡張機能などの Microsoft クライアント アプリケーションは、3 つのクライアント ライブラリをすべてインストールし、通常のアプリケーション更新プログラムと共に更新します。 Analysis Services 用のカスタム クライアント アプリケーションでは、これらのクライアント ライブラリの 1 つ以上をインストールする必要がある場合もあります。 クライアント ライブラリの新しいバージョンは、約毎月更新されます。
重要: 最新バージョンを入手する前に、の考慮事項と制限事項に関するを参照してください。
最新のダウンロード
Windows インストーラー
ダウンロード | バージョン |
---|---|
MSOLAP (amd64) | 16.0.147.21 |
MSOLAP (x86) | 16.0.147.21 |
AMO を |
19.84.1.0 |
ADOMD の |
19.84.1.0 |
注: Analysis Services 管理オブジェクト (AMO/TOM) と ADOMD の Windows インストーラーのダウンロードは更新されなくなり、2024 年 12 月 31 日以降は使用できなくなります。 これらの Windows インストーラーのダウンロードに依存するアプリケーションは、NuGet パッケージに移行する必要があります。
NuGet パッケージ
Analysis Services 管理オブジェクト (AMO/TOM) および ADOMD クライアント ライブラリは、NuGet.orgからインストール可能なパッケージとして使用できます。Windows インストーラーを使用する代わりに、NuGet 参照に移行することを強くお勧めします。
NuGet パッケージ アセンブリ AssemblyVersion は、セマンティック バージョン管理 (MAJOR) に従います。マイナー。パッチ。 NUGet 参照は、GAC に別のバージョンがある場合でも (MSI のインストールの結果として) 予想されるバージョンを読み込みます。 PATCH はリリースごとにインクリメントされます。 AMO と ADOMD のバージョンは同期状態に保たれます。
2024 年 7 月以降、AMO パッケージと ADOMD パッケージには、サポートされているすべてのターゲット ランタイム (.NET FX と .NET Core の両方) のマルチランタイム リリースが含まれています。1 つのランタイム (.NET FX または .NET Core) のみを対象としたパッケージの以前のリリースは、下位互換性のために使用できますが、更新されなくなりました。
2022 年 9 月以降、AMO (AMO/TOM) と ADOMD .Net Core (バージョン 19.48.0.0) では、Power BI や Azure Analysis Services などのクラウド サービスとの HTTP ベースの通信が大幅に改善されました。 パフォーマンスの向上を利用するには、最新バージョンに更新することをお勧めします。
2021 年 2 月以降、.NET Core ランタイム のサポートは、AMO および ADOMD クライアント パッケージで利用できます。 ただし、.NET Core バージョンではサポートされていないシナリオがいくつかあります。 詳細については、この記事の後半で
AMO と ADOMD
パッケージ | バージョン |
---|---|
AMO を |
19.84.6 |
ADOMD の |
19.84.6 |
注:
新しいマルチランタイム パッケージは、パッケージ ID に ".retail.amd64" サフィックスを持たなくなり、単に Microsoft.AnalysisServices および Microsoft.AnalysisServices.AdomdClient と呼ばれるようになりました。
以前の .NET Framework パッケージと .NET Core パッケージは、.NET Framework 用の ".retail.amd64" サフィックスを持つ古い ID の下位互換性のために、nuget.org で引き続き使用できます。.NET Core の NetCore.retail.amd64" サフィックス。
最低限必要なバージョン
トランスポート層セキュリティ (TLS) プロトコル バージョン 1.0/1.1 は、2021 年 6 月 30 日に Microsoft Entra ID の
リスクと潜在的なセキュリティの脆弱性を最小限に抑えるために、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.84.6 以降では、マネージド アセンブリでの .NET FX 4.5 および .NET Core 3.0 のサポートは使用できなくなりました。 AS クライアント側アセンブリは、.NET FX 4.7.2 および .NET 6.0 および .NET 8.0 のみをサポートしてリリースされました。
バージョン 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 トークンを渡す方法が改善されました。 詳細については、「接続文字列のプロパティ - User ID=...; 」を参照してください。Password=.
バージョン 19.42.0.4 以降では、ADOMD.NET 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
バージョン 19.84.6 以降では、AMO\TOM での TMDL のサポートは General-Availability 状態と見なされ、API サーフェイスに重大な変更はありません。
AMO クライアント ライブラリのバージョン 19.12.3.0 では、Microsoft.AnalysisServices.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.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 以降および Window Server 2019 以降で利用できる Web アカウント マネージャー (WAM) を使用したサイレント シングル Sign-On (SSO) がサポートされています。 新しい HTTP 接続が開かれると、MSOLAP は次のようにアクセス トークンを取得します。
- トークン キャッシュが有効になっていて、キャッシュ内で適切なトークンが使用可能な場合、MSOLAP はキャッシュされたトークンを使用します。
- 適切なキャッシュされたトークンが使用できない場合、MSOLAP は WAM を介してサイレントモードでアクセス トークンの取得を試みます。
- WAM を使用した SSO に失敗した場合、MSOLAP は対話型認証にフォールバックし、ログイン ウィンドウをポップアップ表示します。
ユーザーは、サイレント SSO フローをバイパスし、接続文字列に "空" のユーザー ID (User ID=') を指定することで、対話型認証エクスペリエンスをすぐに起動できます。
バージョン 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 以降のバージョンをインストールすることをお勧めします。
以前のリリースでは、MSOLAP は、マネージド Microsoft 認証ライブラリ (MSAL) を使用してクラウドベースの Analysis Services に接続するように更新されました。 バージョン 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 機能パックに含まれています。 ただし、これらのクライアント ライブラリは SQL Server バージョンに関連付けられており、最新ではない可能性があります。 この記事からダウンロードできる最新のバージョンを常にインストールしてください。
クライアント ライブラリの種類
Analysis Services OLE DB プロバイダー (MSOLAP)
Analysis Services OLE DB Provider (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 データのクエリに使用されるマネージド データ クライアント ライブラリです。 ツールとクライアント アプリケーションによってインストールされ、使用されます。
データベースに接続する場合、3 つのライブラリすべてに対する接続文字列プロパティは似ています。
Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString を使用して ADOMD.NET に定義するほぼすべての接続文字列は、AMO と Analysis Services OLE DB Provider (MSOLAP) でも機能します。 詳細については、「接続文字列のプロパティ
インストールされているバージョンを確認する
OLEDDB (MSOLAP)
C:\Program Files\Microsoft Analysis Services\AS OLEDB\
に移動します。 複数のフォルダーがある場合は、大きい数値を選択します。msolap.dll>プロパティ>詳細を右クリックします。 製品バージョン プロパティを確認します。 注: ファイル名が msolap140.dllされている場合は、最新バージョンより古く、アップグレードする必要があります。
AMO
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\
に移動します。 複数のフォルダーがある場合は、大きい数値を選択します。Microsoft.AnalysisServices
プロパティ 詳細 右クリックします。
ADOMD
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\
に移動します。 複数のフォルダーがある場合は、大きい数値を選択します。Microsoft.AnalysisServices.AdomdClient
プロパティ 詳細 右クリックします。 ADOMD クライアント ライブラリの詳細ダイアログ の
手動で更新する
通常、クライアント ライブラリは、それらを使用するツールおよびクライアント アプリケーションと共に自動的にインストールおよび更新されます。 ただし、場合によっては、クライアント ライブラリが自動的に更新されず、それぞれを手動で更新する必要があります。 手動で更新するには、クライアント ライブラリごとに Windows インストーラー (.msi) パッケージをダウンロードして実行します。
ダウンロードして更新するには
クリック:
MSOLAP (amd64) をダウンロードするか、MSOLAP (x86) をダウンロード- AMO をダウンロードする
- ADOMD をダウンロード
[ダウンロード]で、Windows インストーラー パッケージをクリックしてセットアップを実行します。
[セットアップ] で、[次
クリックします。 使用許諾契約書を読みます。 同意する場合は、使用許諾契約書で使用条件に同意
を選択し、[次へ ] をクリックします。 クリック をインストールします。
完了したら、[完了]
クリックします。