Analysis Services-Clientbibliotheken

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Damit Clientanwendungen und Tools eine Verbindung mit Analysis Services herstellen können, sind Clientbibliotheken erforderlich. Microsoft-Clientanwendungen wie Power BI Desktop, Excel, SQL Server Management Studio (SSMS) und Analysis Services-Projekterweiterungen für Visual Studio installieren alle drei Clientbibliotheken und aktualisieren sie im Rahmen der regulären Anwendungsupdates. Auch für benutzerdefinierte Clientanwendungen müssen Clientbibliotheken installiert werden. Clientbibliotheken werden monatlich aktualisiert.

Wichtig: Bevor Sie die neuesten Versionen erhalten, lesen Sie Überlegungen und Einschränkungen.

Laden Sie die neueste Version herunter.

Windows Installer

Download Version
MSOLAP (amd64) 16.0.134.22
MSOLAP (x86) 16.0.134.22
AMO 19.80.0.0
ADOMD 19.80.0.0

NuGet-Pakete

Analysis Services Management Objects (AMO/TOM) und ADOMD-Clientbibliotheken sind als installierbare Pakete von NuGet.org verfügbar. Es wird empfohlen, zu NuGet-Verweisen zu migrieren, anstatt Windows Installer zu verwenden.

Ab Februar 2021 sind auch Versionen von .NET Core-Paketen verfügbar, die den AMO- und ADOMD-Clientpaketen entsprechen. Es gibt jedoch einige Szenarien, die von den .NET Core-Versionen nicht unterstützt werden. Weitere Informationen finden Sie unter Überlegungen und Einschränkungen weiter unten in diesem Artikel.

Die AssemblyVersion für NuGet-Paketassemblys folgt der semantischen Versionierung: HAUPT.NEBEN.PATCH. NuGet-Verweise laden die erwartete Version, auch wenn im GAC eine andere Version vorhanden ist (die sich aus der MSI-Installation ergibt). PATCH wird für jedes Release erhöht. AMO- und ADOMD-Versionen werden synchronisiert.

AMO und ADOMD

Paket Version
AMO 19.80.0
ADOMD 19.80.0

AMO- und ADOMD-.NET Core

Paket Version
AMO-.NET Core 19.80.0
ADOMD-.NET Core 19.80.0

Ab AMO (AMO/TOM) und ADOMD .NET Core Version 19.48.0.0 wird die HTTP-basierte Kommunikation mit Clouddiensten wie Power BI und Azure Analysis Services erheblich verbessert. Es wird empfohlen, auf die neueste Version zu aktualisieren, um diese Leistungsverbesserungen zu nutzen.

TMDL(Vorschau)

Ab AMO-Release 19.72.0 ist die TMDL-Funktionalität jetzt in Microsoft.AnalysisServices.Tabular.dll enthalten. Wenn Sie das NuGet-Paket Microsoft.AnalysisServices.Tabular.Tmdl verwendet haben, müssen Sie es aus Ihrem Projekt entfernen und neu kompilieren.

Die folgenden Änderungen wurden an der TMDL-API vorgenommen, die sich auf Ihren Code auswirken können:

  • Der Name der TmdlFormatException-Eigenschaft ändert sich. Beispiel: Pfad wurde in Dokument geändert.

Weitere Informationen zu TMDL finden Sie unter Übersicht über die Tabellenmodelldefinitionssprache.

Mindestens erforderliche Versionen

Die TLS-Protokollversion (Transport Layer Security) 1.0/1.1 wurde am 30. Juni 2021 in Microsoft Entra ID veraltet. TLS 1.2 oder höher ist jetzt erforderlich. TLS 1.2 wird in früheren Versionen der Analysis Services-Clientbibliotheken nicht unterstützt. Neuere Clientbibliotheksversionen bieten unterstützung für TLS 1.2 und höher sowie weitere wichtige Sicherheitsverbesserungen.

Um Risiken und potenzielle Sicherheitsrisiken zu minimieren, sind ab dem 30. Juni 2021 für erhöhte Sicherheit in Azure Analysis Services und Power BI die folgenden oder höheren Versionen erforderlich:

Client-Lib Dateiversion Version
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

Überlegungen und Einschränkungen

AMO und ADOMD

Ab Version 19.67.0 unterstützen Konnektivitätsobjekte wie Microsoft.AnalysisServices.AdomdClient.AdomdConnection und Microsoft.AnalysisServices.Server eine neue AccessToken-Eigenschaft , die eine verbesserte Möglichkeit zum Übergeben externer OAuth-Token ermöglicht, die von der XMLA-Konnektivitätsebene verwendet werden. Weitere Informationen finden Sie unter Eigenschaften von Verbindungszeichenfolgen – Benutzer-ID=...; Password=.

Ab Version 19.42.0.4 verwenden ADOMD.NET und AMO/TOM msal (Microsoft.Identity.Client) Version 4.43.0 oder höher anstelle von ADAL, um Benutzer mit Microsoft Entra ID zu authentifizieren, wenn sie eine Verbindung mit cloudbasierten Diensten wie Power-BI und Azure Analysis Services herstellen. Wenn Ihre Anwendung oder eine andere Komponente, von der die Anwendung abhängt, MSAL verwendet, müssen möglicherweise die Bindungsumleitungseinstellungen der Anwendung aktualisiert werden, wenn Konflikte zwischen den von den Komponenten geladenen MSAL-Versionen auftreten.

AMO- und ADOMD-.NET Core

Unterstützte Szenarien umfassen Verbindungen mit Azure Analysis Services, Power BI Premium und SQL Server Analysis Services. TCP-basierte Konnektivität wird nur für Windows-Computer unterstützt.

Die interaktive Anmeldung mit Microsoft Entra ID wird nur für Windows-Computer unterstützt. Die .NET Core Desktop-Runtime ist erforderlich.

Die Abhängigkeit in MSAL erfordert Version 4.43.0 oder höher.

Version 19.14.0 der .NET Core Clientbibliotheken führte die Vorschauunterstützung für Self-Contained Veröffentlichung (sowohl in einem veröffentlichten Verzeichnis als auch im Einzeldateimodus) ein, zusätzlich zur Unterstützung der Nutzung durch .NET 5.0-Projekte. Mehrere Probleme im Zusammenhang mit der Konnektivität mit SQL Server Analysis Services, die in der vorherigen Version identifiziert wurden, wurden behoben.

In Version 19.12.7.2 der .NET Core Clientbibliotheken wurde die Unterstützung für SQL Server Analysis Services eingeführt. Niedrigere Vorschauversionen unterstützen nur Azure Analysis Services- und Power BI-Semantikmodelle.

AMO

In Version 19.12.3.0 der AMO-Clientbibliothek wird die neue Enumeration Microsoft.AnalysisServices.DataType eingeführt. Die vorherige Enumeration Microsoft.AnalysisServices.Tabular.DataType ist jedoch noch vorhanden. Wenn Ihr Code auf die vorherige Enumeration als DataType in einer Codedatei mit Anweisungen für beide Namespaces (Microsoft.AnalysisServices, Microsoft.AnalysisServices.Tabular) verweist, kann aufgrund der Mehrdeutigkeit beim Kompilieren ein Fehler angezeigt werden. Um den Fehler zu beheben, qualifizieren Sie den Verweis auf die Enumeration vollständig.

Version 19.61.1.4 der AMO-Clientbibliothek führt eine Änderung des Transaktionsrollbackverhaltens von Microsoft.AnalysisServices.Server ein. In früheren Versionen sendet ein Aufruf von Server.RollbackTransaction() eine Anforderung an die Engine, um ein Rollback für die Transaktion durchzuführen und dann zu versuchen, ein Rollback lokaler Änderungen durchzuführen. Im Gegensatz zu früheren Versionen blockieren in Version 19.61.1.4 und höher, wenn lokale Änderungen nicht sicher zurückgesetzt werden können, in der Transaktion enthaltene tabellarische Datenbanken alle zusätzlichen Änderungen, bis sie vollständig synchronisiert werden können und die veralteten Änderungen aus der Transaktion entfernt werden, für die ein Rollback ausgeführt wurde. Eine InvalidOperationException wird ausgelöst, wenn eine Änderung an der relevanten tabellarischen Datenbank vorgenommen wird. Wenn Ihr Code Server.RollbackTransaction()aufruft, wird empfohlen, diesem Aufruf mit einer vollständigen Synchronisierung [Database.Refresh(true)] für jede tabellarische Datenbank zu folgen, die im Rahmen der Transaktion geändert wird.

Ab Version 19.77.0 gibt TOM beim Klonen oder Kopieren eines MetadataObjects in eine andere instance eines MetadataObjects mithilfe des tabellarischen Objektmodells (TOM) null für Eigenschaften zurück, die auf Objekte außerhalb der direkten Struktur untergeordneter Objekte des MetadataObject verweisen. Sie müssen das geklonte MetadataObject-instance dem semantischen Modell hinzufügen, damit Querverweise auf Objekte außerhalb der MetadataObject-Struktur aufgelöst werden können.

Wenn Sie z. B. eine Tabelle mit einer Partition klonen, die auf einen benannten Ausdruck in einer EntityPartitionSource verweist, gibt die ExpressionSource-Eigenschaft der EntityPartitionSource NULL zurück, bis die geklonte Tabelle dem semantischen Modell hinzugefügt wird, wie im Codeausschnitt unten, damit der geklonte ExpressionSource-Verweis aufgelöst werden kann. Der Klon muss dem Modell hinzugefügt werden, da der querverweiste benannte Ausdruck ein Element der Expressions-Auflistung des Modells und nicht Teil der Struktur der untergeordneten Objekte der Tabelle ist.

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

ADOMD

Ab Version 19.61.1.4 von ADOMD (sowohl .NET Framework als auch .NET Core) ist die Komprimierung in der XMLA-Transportebene vollständig verfügbar. In früheren Versionen nach Version 19.55.3.1 wurde teilweise Unterstützung für die Komprimierung implementiert. Berichte zu Problemen mit diesen Releases wurden empfangen. Diese Probleme wurden im Rahmen der Version 16.61.1.4 behoben. Stellen Sie sicher, dass Sie ein Upgrade auf 19.61.1.4 oder höher durchführen, wenn Probleme im Zusammenhang mit der Komprimierung auftreten.

MSOLAP

Ab Version 16.0.43.20 verwendet MSOLAP msal (Microsoft.Identity.Client) Version 4.43.0 oder höher anstelle von ADAL, um Benutzer mit Microsoft Entra ID zu authentifizieren, wenn eine Verbindung mit cloudbasierten Diensten wie Power-BI und Azure Analysis Services hergestellt wird. Wenn Ihre Anwendung oder eine andere Komponente, von der die Anwendung abhängt, MSAL verwendet, ist es möglicherweise erforderlich, die Bindungsumleitungseinstellungen der Anwendung zu aktualisieren, wenn Konflikte zwischen den von den Komponenten geladenen MSAL-Versionen auftreten.

Eine Regression im Zusammenhang mit Verbindungen mit cloudbasierten Systemen, die Microsoft Entra ID verwenden, wurde in der Version 16.0.4.17 von OLEDB (MSOLAP) entdeckt. Es wurde in version 16.0.20.201 behoben. Aufgrund der Art des Problems können eine installierte Version 16.0.4.17 sowie jede andere Version vor 16.0.201 nicht durch Eine Herabstufung des Anbieters korrigiert werden, auch wenn das Setup im Reparaturmodus ausgeführt wird. Es wird empfohlen, die Version 16.0.4.17 [oder eine andere problematische] Version vollständig zu deinstallieren und dann die Version 16.0.20.201 oder höher zu installieren.

In einer früheren Version wurde MSOLAP aktualisiert, um mithilfe der verwalteten Microsoft Authentication Library (MSAL) eine Verbindung mit cloudbasierten Analysis Services herzustellen. Ab Version 16.0.87.16 installiert das MSOLAP-Setup nicht mehr die ursprüngliche native Komponente der Azure Active Directory-Authentifizierungsbibliothek (ADAL).

Grundlegendes zu Clientbibliotheken

Analysis Services verwendet drei Clientbibliotheken. ADOMD.NET und Analysis Services Management Objects (AMO) sind verwaltete Clientbibliotheken. Der Analysis Services OLE DB-Anbieter (MSOLAP DLL) ist eine native Clientbibliothek. In der Regel werden alle drei gleichzeitig installiert.

Bei Microsoft-Clientanwendungen wie Power BI Desktop und Excel werden alle drei Clientbibliotheken installiert und dann entsprechend aktualisiert, wenn neue Versionen verfügbar sind. Abhängig von der Version oder Häufigkeit von Updates sind einige Clientbibliotheken möglicherweise nicht die neuesten Versionen, die von Azure Analysis Services und Power BI benötigt werden. Dies gilt auch für benutzerdefinierte Anwendungen oder andere Schnittstellen wie AsCmd, TOM, ADOMD.NET. Für diese Anwendungen müssen die Bibliotheken manuell oder programmgesteuert installiert werden. Die Clientbibliotheken für die manuelle Installation sind in SQL Server-Funktionspaketen wie verteilbaren Paketen enthalten. Allerdings sind diese Clientbibliotheken an die SQL Server-Version gebunden und möglicherweise nicht auf dem neuesten Stand. Stellen Sie sicher, dass Sie immer die neueste Version installieren, die in diesem Artikel herunterladbar ist.

Typen von Clientbibliotheken

Analysis Services OLE DB-Anbieter (MSOLAP)

Der Analysis Services OLE DB-Anbieter (MSOLAP) ist die native Clientbibliothek für Analysis Services-Datenbankverbindungen. Er wird indirekt von ADOMD.NET und AMO genutzt, und Verbindungsanforderungen werden an den Datenanbieter delegiert. Sie können den OLE DB-Anbieter auch direkt über den Anwendungscode aufrufen.

Der Analysis Services OLE DB-Anbieter wird von den meisten Tools und Clientanwendungen, die zum Zugreifen auf Analysis Services-Datenbanken verwendet werden, automatisch installiert. Er muss auf Computern installiert sein, die zum Zugreifen auf Analysis Services-Daten verwendet werden.

OLE DB-Anbieter werden häufig in Verbindungszeichenfolgen angegeben. Ein Analysis Services-Verbindungszeichenfolge verwendet eine andere Nomenklatur, um auf den OLE DB-Anbieter zu verweisen: MSOLAP.<version>.dll.

AMO

AMO ist eine verwaltete Clientbibliothek, die für die Serververwaltung und Datendefinition verwendet wird. Sie wird von Tools und Clientanwendungen installiert und genutzt. Für SQL Server Management Studio (SSMS) wird AMO beispielsweise zum Herstellen einer Verbindung mit Analysis Services genutzt. Eine Verbindung, für die AMO genutzt wird, ist meist eine minimale Verbindung, die aus "data source=\<servername>" besteht. Nach dem Herstellen einer Verbindung verwenden Sie die API, um mit Datenbanksammlungen und größeren Objekten zu arbeiten. AMO wird sowohl von Visual Studio als auch von SSMS verwendet, um eine Verbindung mit einer Analysis Services-Instanz herzustellen.

ADOMD

ADOMD.NET ist eine verwaltete Datenclientbibliothek, die zum Abfragen von Analysis Services-Daten eingesetzt wird. Sie wird von Tools und Clientanwendungen installiert und genutzt.

Beim Herstellen einer Verbindung mit der Datenbank sind die Eigenschaften der Verbindungszeichenfolgen für alle drei Bibliotheken ähnlich. Fast alle Verbindungszeichenfolge, die Sie für ADOMD.NET mithilfe von Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString definieren, funktioniert auch für AMO und den Analysis Services OLE DB-Anbieter (MSOLAP). Weitere Informationen finden Sie unter Eigenschaften von Verbindungszeichenfolgen.

Überprüfen, ob .NET Core bereits installiert ist

OLEDDB (MSOLAP)

  1. Gehe zu C:\Program Files\Microsoft Analysis Services\AS OLEDB\. Wählen Sie den Ordner mit der höheren Zahl, falls Sie mehr als einen Ordner haben.

  2. Klicken Sie mit der rechten Maustaste auf msolap.dll>Eigenschaften>Details. Überprüfen Sie die Produktversionseigenschaft . Hinweis: Wenn der Dateiname msolap140.dll ist, ist er älter als die neueste Version und sollte aktualisiert werden.

    Dialogfeld mit Details der MSOLAP-Clientbibliothek

AMO

  1. Gehe zu C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\. Wählen Sie den Ordner mit der höheren Zahl, falls Sie mehr als einen Ordner haben.

  2. Klicken Sie mit der rechten Maustaste auf Microsoft.AnalysisServices>Eigenschaften>Details.

    Dialogfeld

ADOMD

  1. Gehe zu C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\. Wählen Sie den Ordner mit der höheren Zahl, falls Sie mehr als einen Ordner haben.

  2. Klicken Sie mit der rechten Maustaste auf Microsoft.AnalysisServices.AdomdClient>Eigenschaften>Details.

    Dialogfeld

Manuelles Aktualisieren von

Clientbibliotheken werden in der Regel zusammen mit Tools und Clientanwendungen, die sie verwenden, automatisch installiert und aktualisiert. In einigen Fällen werden Clientbibliotheken jedoch möglicherweise nicht automatisch aktualisiert, und jede muss manuell aktualisiert werden. Laden Sie zum manuellen Update das Windows Installer-Paket (.msi) für jede Clientbibliothek herunter, und führen Sie es aus.

So laden Sie herunter und aktualisieren

  1. Klicken Sie auf:

  2. Klicken Sie unter Downloads auf ein Windows Installer-Paket, um Setup auszuführen.

  3. Klicken Sie in Setup auf Weiter.

  4. Lesen Sie die Lizenzbedingungen. Wenn Sie damit einverstanden sind, wählen Sie Ich stimme den Bedingungen im Lizenzvertrag zu, und klicken Sie dann auf Weiter.

  5. Klicken Sie auf Installieren.

  6. Wenn Sie fertig sind, klicken Sie auf Fertig stellen.