Bibliotecas de clientes do Analysis Services

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Bibliotecas de cliente são necessárias para que ferramentas e aplicativos cliente se conectem ao Analysis Services. Aplicativos cliente microsoft como Power BI Desktop, Excel, SQL Server Management Studio (SSMS) e extensão de projetos do Analysis Services para Visual Studio instalam todas as três bibliotecas de clientes e as atualizam juntamente com atualizações regulares de aplicativos. Os aplicativos cliente personalizados também exigem que as bibliotecas de clientes sejam instaladas. As bibliotecas de clientes são atualizadas mensalmente.

Importante: Antes de obter as versões mais recentes, confira Considerações e limitações.

Baixar o mais recente

Windows Installer

Baixar Versão
MSOLAP (amd64) 16.0.130.20
MSOLAP (x86) 16.0.130.20
AMO 19.79.0.0
ADOMD 19.79.0.0

Pacotes NuGet

As bibliotecas de clientes AMO/TOM (Objetos de Gerenciamento do Analysis Services) e do ADOMD estão disponíveis como pacotes instaláveis de NuGet.org. É recomendável migrar para referências do NuGet em vez de usar o Windows Installer.

A partir de fevereiro de 2021, versões de pacotes do .NET Core equivalentes aos pacotes de cliente AMO e ADOMD também estão disponíveis. No entanto, há alguns cenários sem suporte nas versões do .NET Core. Para saber mais, confira considerações e limitações posteriormente neste artigo.

Os assemblies de pacotes NuGet AssemblyVersion seguem a versão semântica: MAJOR.MINOR.PATCH. As referências do NuGet carregam a versão esperada mesmo que haja uma versão diferente no GAC (resultante da instalação do MSI). PATCH é incrementado para cada versão. As versões AMO e ADOMD são mantidas em sincronia.

AMO e ADOMD

Pacote Versão
AMO 19.79.1
ADOMD 19.79.1

AMO e ADOMD .Net Core

Pacote Versão
AMO .Net Core 19.79.1
ADOMD .Net Core 19.79.1

Começando com AMO (AMO/TOM) e ADOMD .Net Core versão 19.48.0.0, as comunicações baseadas em HTTP com serviços de nuvem como o Power BI e Azure Analysis Services são significativamente aprimoradas. É recomendável que você atualize para a versão mais recente para aproveitar essas melhorias de desempenho.

Visualização do TMDL

A partir da versão AMO 19.72.0, a funcionalidade TMDL agora está incluída no Microsoft.AnalysisServices.Tabular.dll. Se você estiver usando o pacote NuGet Microsoft.AnalysisServices.Tabular.Tmdl , remova-o do projeto e recompile.

As seguintes alterações foram feitas na API TMDL que podem afetar seu código:

  • Alterações no nome da propriedade TmdlFormatException. Por exemplo, Caminho alterado para Documento.

Para saber mais sobre o TMDL, confira Visão geral da Linguagem de Definição de Modelo tabular.

Versões mínimas necessárias

O protocolo TLS versão 1.0/1.1 foi preterido em Microsoft Entra ID em 30 de junho de 2021. O TLS 1.2 ou superior agora é necessário. O TLS 1.2 não tem suporte em versões anteriores das bibliotecas de clientes do Analysis Services. As versões mais recentes da biblioteca de clientes incluem suporte para TLS 1.2 e superior, além de outros aprimoramentos de segurança importantes.

Para minimizar riscos e possíveis vulnerabilidades de segurança, a partir de 30 de junho de 2021, a segurança aprimorada no Azure Analysis Services e no Power BI exigem as seguintes versões ou versões superiores:

Lib do cliente Versão do arquivo Versão
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

Considerações e limitações

AMO e ADOMD

A partir da versão 19.67.0, objetos de conectividade como Microsoft.AnalysisServices.AdomdClient.AdomdConnection e Microsoft.AnalysisServices.Server, dão suporte a uma nova propriedade AccessToken que permite uma maneira aprimorada de passar tokens OAuth externos para serem usados pela camada de conectividade XMLA. Para saber mais, confira Propriedades da cadeia de conexão – ID do usuário=...; Password=.

A partir da versão 19.42.0.4, ADOMD.NET e AMO/TOM usam MSAL (Microsoft.Identity.Client) versão 4.43.0 ou superior em vez da ADAL para autenticar usuários com Microsoft Entra ID ao estabelecer uma conexão com serviços baseados em nuvem, como o Power-BI e Azure Analysis Services. Se o aplicativo ou outro componente do qual o aplicativo depende estiver usando a MSAL, talvez seja necessário atualizar as configurações de redirecionamento de associação do aplicativo se houver conflitos entre as versões da MSAL carregadas pelos componentes.

AMO e ADOMD .Net Core

Os cenários com suporte incluem conexões com Azure Analysis Services, Power BI Premium e SQL Server Analysis Services. A conectividade baseada em TCP tem suporte apenas para computadores Windows.

Há suporte para logon interativo com Microsoft Entra ID somente para computadores Windows. O runtime do .NET Core Desktop é necessário.

A dependência na MSAL requer a versão 4.43.0 ou superior.

A versão 19.14.0 das bibliotecas de cliente .Net Core introduziu suporte de visualização para publicação de Self-Contained (tanto em um diretório publicado quanto no modo de arquivo único), além de suporte para consumo por projetos do .NET 5.0. Vários problemas relacionados à conectividade com SQL Server Analysis Services identificados na versão anterior foram corrigidos.

A versão 19.12.7.2 das bibliotecas de cliente .Net Core introduziu suporte para SQL Server Analysis Services. Versões de versão prévia inferiores só têm suporte Azure Analysis Services e modelos semânticos do Power BI.

AMO

A versão 19.12.3.0 da biblioteca de clientes AMO apresenta uma nova enumeração , Microsoft.AnalysisServices.DataType. No entanto, a enumeração anterior, Microsoft.AnalysisServices.Tabular.DataType ainda existe. Se o código referenciar a enumeração anterior como DataType em um arquivo de código com instruções para ambos os namespaces (Microsoft.AnalysisServices, Microsoft.AnalysisServices.Tabular), devido à ambiguidade, você poderá receber um erro ao compilar. Para resolve o erro, qualifique totalmente a referência à enumeração.

A versão 19.61.1.4 da biblioteca de clientes AMO apresenta uma alteração no comportamento de reversão de transações do Microsoft.AnalysisServices.Server. Em versões anteriores, uma chamada para Server.RollbackTransaction() envia uma solicitação ao mecanismo para reverter a transação e, em seguida, tentar reverter as alterações locais. Ao contrário das versões anteriores, na versão 19.61.1.4 e posterior, se as alterações locais não puderem ser revertidas com segurança, os bancos de dados tabulares incluídos na transação bloquearão quaisquer alterações adicionais até que possam ser totalmente sincronizadas e as alterações obsoletas da transação que foram revertidas sejam removidas. Uma InvalidOperationException é gerada quando uma alteração é feita no banco de dados tabular relevante. Se o código estiver chamando Server.RollbackTransaction(), é recomendável seguir essa chamada com uma sincronização completa [Database.Refresh(true)] para qualquer banco de dados tabular modificado como parte da transação.

A partir da versão 19.77.0, ao clonar ou copiar um MetadataObject em outra instância de um MetadataObject usando o TOM (Modelo de Objeto Tabular), TOM retorna nulo para propriedades que fazem referência cruzada a objetos fora da árvore direta de objetos filho do MetadataObject. Você deve adicionar a instância MetadataObject clonada ao modelo semântico para que referências cruzadas a objetos fora da árvore MetadataObject possam ser resolvidas.

Por exemplo, ao clonar uma tabela com uma partição que referencia uma expressão nomeada em um EntityPartitionSource, a propriedade ExpressionSource do EntityPartitionSource retorna nulo até que a tabela clonada seja adicionada ao modelo semântico como no snippet de código abaixo para que a referência expressionsource clonada possa ser resolvida. O clone deve ser adicionado ao modelo porque a expressão nomeada referenciada entre referências é um membro da coleção Expressions do modelo e não faz parte da árvore de objetos filho da tabela.

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

ADOMD

A partir do ADOMD (.NET Framework e do .NET Core) versão 19.61.1.4, a compactação está totalmente disponível na camada de transporte XMLA. As versões anteriores após a versão 19.55.3.1 implementaram algum suporte parcial para compactação. Relatórios sobre problemas com essas versões foram recebidos. Esses problemas foram corrigidos como parte da versão 16.61.1.4. Atualize para 19.61.1.4 ou posterior se estiver enfrentando problemas relacionados à compactação.

MSOLAP

A partir da versão 16.0.43.20, o MSOLAP usa a MSAL (Microsoft.Identity.Client) versão 4.43.0 ou superior em vez da ADAL para autenticar usuários com Microsoft Entra ID ao estabelecer uma conexão com serviços baseados em nuvem, como Power-BI e Azure Analysis Services. Se o aplicativo ou outro componente do qual o aplicativo depende estiver usando a MSAL, talvez seja necessário atualizar as configurações de redirecionamento de associação do aplicativo se houver conflitos entre as versões da MSAL carregadas pelos componentes

Uma regressão relacionada a conexões com sistemas baseados em nuvem usando Microsoft Entra ID foi descoberta na versão 16.0.4.17 do OLEDB (MSOLAP). Foi corrigido na versão 16.0.20.201. Devido à natureza do problema, uma versão 16.0.4.17 instalada, bem como qualquer outra versão anterior à 16.0.20.201, não pode ser corrigida atualizando o provedor, mesmo que a instalação seja executada no modo de reparo. É recomendável desinstalar completamente a versão 16.0.4.17 [ou outra problemática] e instalar a versão 16.0.20.201 ou posterior.

Em uma versão anterior, o MSOLAP foi atualizado para se conectar ao Analysis Services baseado em nuvem usando a MSAL (Biblioteca de Autenticação da Microsoft) gerenciada. A partir da versão 16.0.87.16, a instalação do MSOLAP não instala mais o componente nativo da ADAL (Biblioteca de Autenticação do Azure Active Directory).

Noções básicas sobre bibliotecas de clientes

O Analysis Services utiliza três bibliotecas de cliente. O ADOMD.NET e o AMO (Objetos de Gerenciamento do Analysis Services) são bibliotecas de clientes gerenciadas. E o Provedor OLE DB do Analysis Services (MSOLAP DLL) é uma biblioteca de clientes nativa. Normalmente, as três bibliotecas são instaladas ao mesmo tempo.

Os aplicativos clientes da Microsoft, como o Power BI Desktop e o Excel, instalam todas as três bibliotecas de clientes e as atualizam quando novas versões estão disponíveis. Dependendo da versão ou da frequência das atualizações, algumas bibliotecas de clientes podem não ser as versões mais recentes exigidas pelo Azure Analysis Services e pelo Power BI. O mesmo se aplica a aplicativos personalizados ou outras interfaces, como AsCmd, TOM, ADOMD.NET. Esses aplicativos exigem a instalação manual ou programática das bibliotecas. As bibliotecas de cliente para instalação manual estão incluídas nos pacotes de recursos do SQL Server como pacotes distribuíveis. No entanto, essas bibliotecas de cliente estão vinculadas à versão do SQL Server e talvez não sejam as mais recentes. Certifique-se de sempre instalar o mais recente, baixável deste artigo.

Tipos de biblioteca de clientes

Provedor OLE DB do Analysis Services (MSOLAP)

O MSOLAP (Provedor Analysis Services OLE DB) é a biblioteca de clientes nativa para conexões de banco de dados do Analysis Services. Ele é usado indiretamente pelo ADOMD.NET e pelo AMO, delegando solicitações de conexão ao provedor de dados. Você também pode chamar o provedor OLE DB diretamente do código do aplicativo.

O Provedor Analysis Services OLE DB é instalado automaticamente pela maioria das ferramentas e dos aplicativos clientes usados para acessar bancos de dados do Analysis Services. Ele deve ser instalado nos computadores usados para acessar dados do Analysis Services.

Os provedores OLE DB costumam ser especificados em cadeias de conexão. Uma cadeia de conexão do Analysis Services usa uma nomenclatura diferente para se referir ao Provedor OLE DB: MSOLAP.<.dll de versão>.

AMO

O AMO é uma biblioteca de clientes gerenciada usada para administração de servidor e definição de dados. Ele é instalado e usado por aplicativos clientes e ferramentas. Por exemplo, o SSMS (SQL Server Management Studio) usa o AMO para se conectar ao Analysis Services. Uma conexão usando o AMO geralmente é mínima, consistindo em "data source=\<servername>". Depois que uma conexão é estabelecida, você usa a API para trabalhar com coleções de banco de dados e grandes objetos. O Visual Studio e o SSMS usam AMO para se conectar a uma instância do Analysis Services.

ADOMD

O ADOMD.NET é uma biblioteca de clientes de dados gerenciada usada para consultar dados do Analysis Services. Ele é instalado e usado por aplicativos clientes e ferramentas.

Ao se conectar a um banco de dados, as propriedades de cadeia de conexão das três bibliotecas são semelhantes. Quase todas as cadeia de conexão definidas para ADOMD.NET usando Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString também funcionam para AMO e o PROVEDOR OLE DB do Analysis Services (MSOLAP). Para saber mais, confira Propriedades da cadeia de conexão.

Verificar versões instaladas

OLEDDB (MSOLAP)

  1. Ir para C:\Program Files\Microsoft Analysis Services\AS OLEDB\. Se você tiver mais de uma pasta, escolha o número mais alto.

  2. Clique com o botão direito do mousemsolap.dll>Detalhesdas Propriedades>. Verifique a propriedade Versão do produto . Observação: se o nome do arquivo for msolap140.dll, ele será mais antigo que a versão mais recente e deverá ser atualizado.

    Caixa de diálogo de detalhes da biblioteca do cliente MSOLAP

AMO

  1. Ir para C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\. Se você tiver mais de uma pasta, escolha o número mais alto.

  2. Clique com o botão direito do mouse emDetalhes dasPropriedades>do Microsoft.AnalysisServices>.

    Caixa de diálogo detalhes da biblioteca de clientes AMO

ADOMD

  1. Ir para C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\. Se você tiver mais de uma pasta, escolha o número mais alto.

  2. Clique com o botão direito do mouse em Microsoft.AnalysisServices.AdomdClient>Properties>Details.

    Caixa de diálogo de detalhes da biblioteca de clientes do ADOMD

Atualizar o manualmente

As bibliotecas de cliente normalmente são instaladas e atualizadas automaticamente, juntamente com ferramentas e aplicativos cliente que as usam. No entanto, em alguns casos, as bibliotecas de cliente podem não ser atualizadas automaticamente e cada uma deve ser atualizada manualmente. Para atualizar manualmente, baixe e execute o pacote do Windows Installer (.msi) para cada biblioteca de clientes.

Para baixar e atualizar

  1. Clique em:

  2. Em Downloads, clique em um Pacote do Windows Installer para executar a Instalação.

  3. Em Configuração, clique em Avançar.

  4. Leia o contrato de licença. Se você concordar, selecione Aceito os termos no contrato de licença e clique em Avançar.

  5. Clique em Instalar.

  6. Quando concluído, clique em Concluir.