Librerie client di Analysis Services

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Le librerie client sono necessarie per la connessione di applicazioni e strumenti client ad Analysis Services. Le applicazioni client Microsoft come Power BI Desktop, Excel, SQL Server Management Studio (SSMS) e l'estensione dei progetti Analysis Services per Visual Studio installano tutte e tre le librerie client e le aggiornano insieme agli aggiornamenti regolari delle applicazioni. Le applicazioni client personalizzate richiedono anche l'installazione di librerie client. Le librerie client vengono aggiornate ogni mese.

Importante: Prima di ottenere le versioni più recenti, vedere Considerazioni e limitazioni.

Scaricare la versione più recente

Windows Installer

Scarica Versione
MSOLAP (amd64) 16.0.130.20
MSOLAP (x86) 16.0.130.20
AMO 19.79.0.0
ADOMD 19.79.0.0

Pacchetti NuGet

Le librerie client AMO/TOM (Analysis Services Management Objects) e ADOMD sono disponibili come pacchetti installabili da NuGet.org. È consigliabile eseguire la migrazione ai riferimenti NuGet invece di usare Windows Installer.

A partire da febbraio 2021 sono disponibili anche versioni dei pacchetti .NET Core equivalenti ai pacchetti client AMO e ADOMD. Esistono tuttavia alcuni scenari non supportati dalle versioni di .NET Core. Per altre informazioni, vedere considerazioni e limitazioni più avanti in questo articolo.

Gli assembly AssemblyVersion del pacchetto NuGet sono conformi al controllo delle versioni semantici: PRINCIPALE.SECONDARIA.PATCH. I riferimenti NuGet caricano la versione prevista anche se è presente una versione diversa nella GAC (risultante dall'installazione msi). Il valore di PATCH viene incrementato a ogni versione. Le versioni di AMO e ADOMD vengono mantenute sincronizzate.

AMO e ADOMD

Pacchetto Versione
AMO 19.79.1
ADOMD 19.79.1

.NET Core AMO e ADOMD

Pacchetto Versione
.NET Core AMO 19.79.1
.NET Core ADOMD 19.79.1

A partire da AMO (AMO/TOM) e ADOMD .NET Core versione 19.48.0.0, le comunicazioni basate su HTTP con servizi cloud come Power BI e Azure Analysis Services sono notevolmente migliorate. È consigliabile eseguire l'aggiornamento alla versione più recente per sfruttare questi miglioramenti delle prestazioni.

TMDL Preview

A partire dalla versione AMO 19.72.0, la funzionalità TMDL è ora inclusa in Microsoft.AnalysisServices.Tabular.dll. Se si usa il pacchetto NuGet Microsoft.AnalysisServices.Tabular.Tmdl , assicurarsi di rimuoverlo dal progetto e ricompilare.

Sono state apportate le modifiche seguenti all'API TMDL che potrebbero influire sul codice:

  • Il nome della proprietà TmdlFormatException cambia. Ad esempio, Percorso è stato modificato in Documento.

Per altre informazioni su TMDL, vedere Cenni preliminari sul linguaggio di definizione del modello tabulare.

Versioni minime richieste

Il protocollo Transport Layer Security (TLS) versione 1.0/1.1 è stato deprecato in Microsoft Entra ID il 30 giugno 2021. È ora necessario TLS 1.2 o versione successiva. TLS 1.2 non è supportato nelle versioni precedenti delle librerie client di Analysis Services. Le versioni più recenti della libreria client includono il supporto per TLS 1.2 e versioni successive oltre ad altri importanti miglioramenti della sicurezza.

Per ridurre al minimo i rischi e le potenziali vulnerabilità di sicurezza, a partire dal 30 giugno 2021, la sicurezza avanzata in Azure Analysis Services e Power BI richiede le versioni seguenti o successive:

Lib client Versione file Versione
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

Considerazioni e limitazioni

AMO e ADOMD

A partire dalla versione 19.67.0, gli oggetti di connettività come Microsoft.AnalysisServices.AdomdClient.AdomdConnection e Microsoft.AnalysisServices.Server supportano una nuova proprietà AccessToken che consente di passare token OAuth esterni da usare dal livello di connettività XMLA. Per altre informazioni, vedere Proprietà della stringa di connessione - ID utente=...; Password=.

A partire dalla versione 19.42.0.4, ADOMD.NET e AMO/TOM usano MSAL (Microsoft.Identity.Client) versione 4.43.0 o successiva anziché ADAL per autenticare gli utenti con Microsoft Entra ID quando si stabilisce una connessione a servizi basati sul cloud come Power-BI e Azure Analysis Services. Se l'applicazione o un altro componente da cui dipende l'applicazione usa MSAL, potrebbe essere necessario aggiornare le impostazioni di reindirizzamento dell'associazione dell'applicazione in caso di conflitti tra le versioni di MSAL caricate dai componenti.

.NET Core AMO e ADOMD

Gli scenari supportati includono connessioni a Azure Analysis Services, Power BI Premium e SQL Server Analysis Services. La connettività basata su TCP è supportata solo per i computer Windows.

L'accesso interattivo con Microsoft Entra ID è supportato solo per i computer Windows. È necessario il runtime di .NET Core Desktop.

La dipendenza in MSAL richiede la versione 4.43.0 o successiva.

La versione 19.14.0 delle librerie client .NET Core ha introdotto il supporto in anteprima per la pubblicazione Self-Contained (sia in una directory pubblicata che in modalità file singolo), oltre al supporto per l'utilizzo da parte di progetti .NET 5.0. Sono stati risolti diversi problemi relativi alla connettività a SQL Server Analysis Services identificati nella versione precedente.

La versione 19.12.7.2 delle librerie client .NET Core ha introdotto il supporto per SQL Server Analysis Services. Versioni di anteprima inferiori supportate solo Azure Analysis Services e modelli semantici di Power BI.

AMO

La versione 19.12.3.0 della libreria client AMO introduce una nuova enumerazione Microsoft.AnalysisServices.DataType. Tuttavia, l'enumerazione precedente, Microsoft.AnalysisServices.Tabular.DataType esiste ancora. Se il codice fa riferimento all'enumerazione precedente come DataType in un file di codice con istruzioni a entrambi gli spazi dei nomi (Microsoft.AnalysisServices, Microsoft.AnalysisServices.Tabular), a causa dell'ambiguità, è possibile che venga visualizzato un errore durante la compilazione. Per risolvere l'errore, qualificare completamente il riferimento all'enumerazione .

La versione 19.61.1.4 della libreria client AMO introduce una modifica del comportamento di rollback delle transazioni di Microsoft.AnalysisServices.Server. Nelle versioni precedenti, una chiamata a Server.RollbackTransaction() invia una richiesta al motore per eseguire il rollback della transazione e quindi tentare di eseguire il rollback delle modifiche locali. A differenza delle versioni precedenti, nella versione 19.61.1.4 e successive, se non è possibile eseguire il rollback delle modifiche locali in modo sicuro, i database tabulari inclusi nella transazione bloccano eventuali modifiche aggiuntive fino a quando non possono essere completamente sincronizzate e le modifiche obsolete dalla transazione di cui è stato eseguito il rollback vengono rimosse. Quando viene apportata una modifica al database tabulare pertinente, viene generata un'eccezione InvalidOperationException . Se il codice chiama Server.RollbackTransaction(), è consigliabile seguire tale chiamata con una sincronizzazione completa [Database.Refresh(true)] per qualsiasi database tabulare modificato come parte della transazione.

A partire dalla versione 19.77.0, durante la clonazione o la copia di un Oggetto MetadataObject in un'altra istanza di MetadataObject tramite il modello a oggetti tabulari (TOM), TOM restituisce Null per le proprietà che fanno riferimento incrociato oggetti all'esterno dell'albero diretto di MetadataObject di oggetti figlio. È necessario aggiungere l'istanza clonata MetadataObject al modello semantico in modo che sia possibile risolvere i riferimenti incrociati a oggetti all'esterno dell'albero MetadataObject.

Ad esempio, quando si clona una tabella con una partizione che fa riferimento a un'espressione denominata in entityPartitionSource, la proprietà ExpressionSource di EntityPartitionSource restituisce Null finché la tabella clonata non viene aggiunta al modello semantico come nel frammento di codice seguente in modo che il riferimento ExpressionSource clonato possa essere risolto. Il clone deve essere aggiunto al modello perché l'espressione denominata a cui fa riferimento incrociato è un membro dell'insieme Expressions del modello e non fa parte dell'albero della tabella degli oggetti figlio.

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

ADOMD

A partire da ADOMD (sia .NET Framework che .NET Core) versione 19.61.1.4, la compressione è completamente disponibile nel livello di trasporto XMLA. Le versioni precedenti dopo la versione 19.55.3.1 hanno implementato un supporto parziale per la compressione. Sono stati ricevuti report relativi ai problemi relativi alle versioni. Questi problemi sono stati risolti come parte della versione 16.61.1.4. Assicurarsi di eseguire l'aggiornamento alla versione 19.61.1.4 o successiva se si verificano problemi relativi alla compressione.

MSOLAP

A partire dalla versione 16.0.43.20, MSOLAP usa MSAL (Microsoft.Identity.Client) versione 4.43.0 o successiva anziché ADAL per autenticare gli utenti con Microsoft Entra ID quando si stabilisce una connessione ai servizi basati sul cloud, ad esempio Power-BI e Azure Analysis Services. Se l'applicazione o un altro componente l'applicazione dipende dall'uso di MSAL, potrebbe essere necessario aggiornare le impostazioni di reindirizzamento dell'associazione dell'applicazione se sono presenti conflitti tra le versioni di MSAL caricate dai componenti

Una regressione correlata alle connessioni ai sistemi basati sul cloud usando Microsoft Entra ID è stata individuata nella versione 16.0.4.17 di OLEDB (MSOLAP). È stato corretto nella versione 16.0.20.201. A causa della natura del problema, una versione installata 16.0.4.17, nonché qualsiasi altra versione precedente alla versione 16.0.20.201, non può essere corretta supponendo il provider, anche se il programma di installazione è in modalità di ripristino. È consigliabile disinstallare completamente la versione 16.0.4.17 [o altre problematiche] e quindi installare la versione 16.0.20.201 o successiva.

In una versione precedente, MSOLAP è stato aggiornato per connettersi a Analysis Services basato sul cloud usando la libreria di autenticazione Microsoft gestita (MSAL). A partire dalla versione 16.0.87.16, l'installazione MSOLAP non installa più il componente nativo di Azure Active Directory Authentication Library (ADAL).

Informazioni sulle librerie client

Analysis Services usa tre librerie client. ADOMD.NET e Analysis Services Management Objects (AMO) sono librerie client gestite. E analysis Services OLE DB Provider (MSOLAP DLL) è una libreria client nativa. In genere, vengono installate tutte e tre nello stesso momento.

Le applicazioni client di Microsoft, come ad esempio Power BI Desktop ed Excel, installano tutte e tre le librerie client e le aggiornano quando sono disponibili nuove versioni. A seconda della versione o della frequenza degli aggiornamenti, alcune librerie client potrebbero non essere le versioni più recenti richieste da Azure Analysis Services e Power BI. Lo stesso vale per le applicazioni personalizzate o per le altre interfacce come AsCmd, TOM e ADOMD.NET. Queste applicazioni richiedono l'installazione manuale o a livello di codice delle librerie. Le librerie client per l'installazione manuale sono incluse nei Feature Pack di SQL Server come pacchetti distribuibili. Queste librerie client sono tuttavia collegate alla versione di SQL Server e potrebbero non essere le più recenti. Assicurarsi di installare sempre la versione più recente, scaricabile da questo articolo.

Tipi di librerie client

Provider OLE DB per Analysis Services (MSOLAP)

Il provider OLE DB Analysis Services (MSOLAP) è la libreria client nativa per le connessioni di database di Analysis Services. Viene usato in modo indiretto sia da ADOMD.NET che da AMO, delegando le richieste di connessione al provider di dati. È anche possibile chiamare il provider OLE DB direttamente dal codice dell'applicazione.

Il provider OLE DB Analysis Services viene installato automaticamente dalla maggior parte degli strumenti e delle applicazioni client usati per accedere ai database di Analysis Services. Deve essere installato nei computer usati per accedere ai dati di Analysis Services.

I provider OLE DB vengono spesso specificati nelle stringhe di connessione. Un stringa di connessione Analysis Services usa una denominazione diversa per fare riferimento al provider OLE DB: MSOLAP.<versione>.dll.

AMO

AMO è una libreria client gestita usata per l'amministrazione di server e la definizione di dati. Viene installata e usata da strumenti e applicazioni client. SQL Server Management Studio (SSMS), ad esempio, usa AMO per connettersi ad Analysis Services. Una connessione che usa AMO è in genere minima, costituita da "data source=\<servername>". Dopo che è stata stabilita una connessione, l'API consente di usare le raccolte di database e gli oggetti principali. Visual Studio e SSMS usano AMO per connettersi a un'istanza di Analysis Services.

ADOMD

ADOMD.NET è una libreria client di dati gestiti usata per eseguire query sui dati di Analysis Services. Viene installata e usata da strumenti e applicazioni client.

Durante la connessione a un database, le proprietà della stringa di connessione per tutte e tre le librerie sono simili. Quasi qualsiasi stringa di connessione definito per ADOMD.NET usando Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString funziona anche per AMO e il provider OLE DB di Analysis Services (MSOLAP). Per altre informazioni, vedere Proprietà della stringa di connessione.

Controllare le versioni installate

OLEDDB (MSOLAP)

  1. Passare a C:\Program Files\Microsoft Analysis Services\AS OLEDB\. Se si ha più di una cartella, scegliere il numero più elevato.

  2. Fare clic con il pulsante destro del mouse sumsolap.dll>Dettagli proprietà>. Controllare la proprietà Product version.Check the Product version property. Nota: se il nome file è msolap140.dll, è precedente alla versione più recente e deve essere aggiornato.

    Finestra di dialogo Dettagli della libreria client MSOLAP

AMO

  1. Passare a C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\. Se si ha più di una cartella, scegliere il numero più elevato.

  2. Fare clic con il pulsante destro del mouse su Microsoft.AnalysisServices>Proprietà>Dettagli.

    Finestra di dialogo Dettagli libreria client AMO

ADOMD

  1. Passare a C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\. Se si ha più di una cartella, scegliere il numero più elevato.

  2. Fare clic con il pulsante destro del mouse su Microsoft.AnalysisServices.AdomdClient>Proprietà>Details.

    Finestra di dialogo Dettagli della libreria client ADOMD

Aggiornare manualmente

Le librerie client vengono in genere installate e aggiornate automaticamente insieme a strumenti e applicazioni client che li usano. Tuttavia, in alcuni casi le librerie client potrebbero non essere aggiornate automaticamente e ognuna deve essere aggiornata manualmente. Per aggiornare manualmente, scaricare ed eseguire il pacchetto Windows Installer (.msi) per ogni libreria client.

Per scaricare e aggiornare

  1. Fare clic su:

  2. In Download fare clic su un pacchetto di Windows Installer per eseguire il programma di installazione.

  3. In Installazione fare clic su Avanti.

  4. Leggere il Contratto di Licenza. Se si accetta, selezionare Accettare le condizioni nel contratto di licenza e quindi fare clic su Avanti.

  5. Fare clic su Installa.

  6. Al termine, fare clic su Fine.