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 consentire alle applicazioni client e agli strumenti di connettersi 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 per Analysis Services possono anche richiedere l'installazione di una o più di queste librerie client. Le nuove versioni delle librerie client vengono aggiornate approssimativamente mensilmente.

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

Scaricare la versione più recente

Windows Installer

Scaricare Versione
MSOLAP (amd64) 16.0.156.17
MSOLAP (x86) 16.0.156.17
AMO 19.84.1.0
ADOMD 19.84.1.0

Nota: Download di Windows Installer per Analysis Services Management Objects (AMO/TOM) e ADOMD non sono più aggiornati e non saranno disponibili dopo il 31 dicembre 2024. Le applicazioni che si basano su questi download di Windows Installer devono essere migrate ai pacchetti NuGet.

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 a riferimenti NuGet anziché usare Windows Installer.

Assembly AssemblyVersion dei pacchetti NuGet segue il controllo delle versioni semantiche: MAJOR. MINORE. BENDA. I riferimenti NuGet caricano la versione prevista anche se è presente una versione diversa nella GAC (risultante dall'installazione MSI). PATCH viene incrementato per ogni versione. Le versioni AMO e ADOMD vengono mantenute sincronizzate.

A partire da luglio 2024, i pacchetti AMO e ADOMD contengono versioni multi-runtime per tutti i runtime di destinazione supportati, sia .NET FX che .NET Core; Le versioni precedenti dei pacchetti destinati a un singolo runtime, .NET FX o .NET Core, sono disponibili per la compatibilità con le versioni precedenti, ma non vengono più aggiornate.

A partire da settembre 2022, AMO (AMO/TOM) e ADOMD .Net Core (versione 19.48.0.0), la comunicazione basata su HTTP con servizi cloud come Power BI e Azure Analysis Services è notevolmente migliorata. È consigliabile eseguire l'aggiornamento alla versione più recente per sfruttare i miglioramenti delle prestazioni.

A partire da febbraio 2021, supporto di runtime di .NET Core è disponibile per i 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.

AMO e ADOMD

Pacco Versione
AMO 19.86.2.1
ADOMD 19.86.2.1

Nota:

I nuovi pacchetti multi-runtime non hanno più il suffisso ".retail.amd64" nell'identità del pacchetto e ora sono semplicemente chiamati Microsoft.AnalysisServices e Microsoft.AnalysisServices.AdomdClient.

I pacchetti .NET Framework e .NET Core meno recenti sono ancora disponibili in nuget.org per garantire la compatibilità con le versioni precedenti con il suffisso ".retail.amd64" per .NET Framework e ". Suffisso NetCore.retail.amd64" per .NET Core.

Versioni minime richieste

Il protocollo Transport Layer Security (TLS) versione 1.0/1.1 è stato deprecato in Microsoft Entra ID il 30 giugno 2021. TLS 1.2 o versione successiva è ora necessario. 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:

Libreria client Versione del 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.84.6, il supporto per .NET FX 4.5 e .NET Core 3.0 negli assembly gestiti non è più disponibile. Gli assembly lato client as sono ora rilasciati con il supporto per .NET FX 4.7.2, oltre a .NET 6.0 e .NET 8.0.

A partire dalla versione 19.82.0.0, AMO e ADOMD supportano i profili entità servizio per l'autenticazione, come nell'esempio di stringa di connessione seguente. Per altre informazioni, vedere Usare i profili dell'entità servizio per gestire i dati dei clienti nelle app multi-tenant.

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>

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.

AMO e ADOMD .Net Core

Gli scenari supportati includono connessioni ad 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à a 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. Le versioni di anteprima precedenti supportano solo Azure Analysis Services e i modelli semantici di Power BI.

AMO

A partire dalla versione 19.84.6, il supporto per TMDL in AMO\TOM viene considerato come in General-Availability stato e non ci saranno modifiche di rilievo nella superficie API.

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 ancora esistente. Se il codice fa riferimento all'enumerazione precedente come DataType in un file di codice con istruzioni per 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 nel blocco delle transazioni 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. Un InvalidOperationException viene generato quando viene apportata una modifica al database tabulare pertinente. Se il codice chiama Server.RollbackTransaction(), è consigliabile seguire tale chiamata con un di 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 MetadataObject in un'altra istanza di MetadataObject tramite il modello a oggetti tabulari (TOM), TOM restituisce Null per le proprietà che fanno riferimento incrociato a oggetti esterni all'albero diretto di MetadataObject degli oggetti figlio. È necessario aggiungere l'istanza clonata MetadataObject al modello semantico in modo che sia possibile risolvere i riferimenti incrociati agli oggetti all'esterno dell'albero MetadataObject.

Ad esempio, quando si clona una tabella con una partizione che fa riferimento a un'espressione denominata in un 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 con riferimenti incrociati è un membro dell'insieme Expressions del modello e non fa parte dell'albero della tabella di 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 successive alla versione 19.55.3.1 hanno implementato il supporto parziale per la compressione. Sono stati ricevuti report sui problemi relativi a tali 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.139.27, MSOLAP supporta i profili entità servizio per l'autenticazione, come nell'esempio di stringa di connessione seguente. Per altre informazioni, vedere Usare i profili dell'entità servizio per gestire i dati dei clienti nelle app multi-tenant.

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>

A partire dalla versione 16.0.134.22, MSOLAP supporta single Sign-On (SSO) invisibile all'utente usando Web Account Manager (WAM), disponibile in Windows 10 e versioni successive, nonché Windows Server 2019 e versioni successive. Quando viene aperta una nuova connessione HTTP, MSOLAP ottiene un token di accesso come indicato di seguito:

  1. Se la memorizzazione nella cache dei token è abilitata e nella cache è disponibile un token appropriato, MSOLAP usa il token memorizzato nella cache.
  2. Se non è disponibile un token memorizzato nella cache appropriato, MSOLAP tenta di ottenere automaticamente un token di accesso tramite WAM.
  3. Se l'accesso SSO con WAM non è riuscito, MSOLAP esegue il fallback all'autenticazione interattiva e visualizza la finestra di accesso.

Gli utenti possono ignorare il flusso SSO invisibile all'utente e avviare immediatamente l'esperienza di autenticazione interattiva fornendo un ID utente "vuoto" nella stringa di connessione (ID utente='').

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 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

Una regressione correlata alle connessioni ai sistemi basati sul cloud che usano 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 16.0.20.201, non può essere corretta supponendo il provider, anche se il programma di installazione viene eseguito 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 ad Analysis Services basato sul cloud usando microsoft Authentication Library (MSAL) gestito. A partire dalla versione 16.0.87.16, l'installazione di MSOLAP non installa più il componente nativo originale 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 il provider OLE DB di Analysis Services (DLL MSOLAP) è una libreria client nativa. In genere, tutti e tre vengono installati contemporaneamente.

Le applicazioni client Microsoft come 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 altre interfacce, ad esempio AsCmd, TOM, 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. Tuttavia, queste librerie client sono associate 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 libreria client

Provider OLE DB di Analysis Services (MSOLAP)

Il provider OLE DB di Analysis Services (MSOLAP) è la libreria client nativa per le connessioni di database di Analysis Services. Viene usato indirettamente 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 di Analysis Services viene installato automaticamente dalla maggior parte degli strumenti e delle applicazioni client usate 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. Una stringa di connessione di 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 del server e la definizione dei dati. Viene installato e usato da strumenti e applicazioni client. Ad esempio, SQL Server Management Studio (SSMS) usa AMO per connettersi ad Analysis Services. Una connessione che usa AMO è in genere minima, costituita da "data source=\<servername>". Dopo aver stabilito una connessione, usare l'API per lavorare con raccolte di database e oggetti principali. Sia Visual Studio che SSMS usano AMO per connettersi a un'istanza di Analysis Services.

ADOMD

ADOMD.NET è una libreria client di dati gestita usata per l'esecuzione di query sui dati di Analysis Services. Viene installato e usato da strumenti e applicazioni client.

Quando ci si connette a un database, le proprietà della stringa di connessione per tutte e tre le librerie sono simili. Quasi tutte le stringhe di connessione definite per ADOMD.NET tramite 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. Vai a C:\Program Files\Microsoft Analysis Services\AS OLEDB\. Se sono presenti più cartelle, scegliere il numero più alto.

  2. Fare clic con il pulsante destro del mouse su Proprietà msolap.dll>>Dettagli. Controllare la proprietà versione del prodotto . 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. Vai a C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\. Se sono presenti più cartelle, scegliere il numero più alto.

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

    finestra di dialogo Dettagli libreria client AMO

ADOMD

  1. Vai a C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\. Se sono presenti più cartelle, scegliere il numero più alto.

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

    finestra di dialogo Dettagli libreria client ADOMD

Aggiornamento manuale

Le librerie client vengono in genere installate e aggiornate automaticamente insieme a strumenti e applicazioni client che le 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. Clic:

  2. In Downloadfare 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 Accetto le condizioni nel contratto di licenzae quindi fare clic su Avanti.

  5. Fare clic su Installa.

  6. Al termine, fare clic su Fine.