Bibliotecas de cliente de Analysis Services

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Se requieren bibliotecas de cliente para que las aplicaciones cliente y las herramientas de cliente se puedan conectar a Analysis Services. Las aplicaciones cliente de Microsoft como Power BI Desktop, Excel, SQL Server Management Studio (SSMS) y extensión de proyectos de Analysis Services para Visual Studio instalan las tres bibliotecas de cliente y las actualizan junto con las actualizaciones de aplicaciones normales. Las aplicaciones de cliente personalizadas también requieren la instalación de las bibliotecas de cliente. Las bibliotecas de cliente se actualizan mensualmente.

Importante: Antes de obtener las versiones más recientes, asegúrese de ver Consideraciones y limitaciones.

Descarga de la versión más reciente

Windows Installer

Descargar Versión
MSOLAP (amd64) 16.0.130.20
MSOLAP (x86) 16.0.130.20
AMO 19.79.0.0
ADOMD 19.79.0.0

Paquetes NuGet

Los objetos de administración de Analysis Services (AMO/TOM) y las bibliotecas cliente de ADOMD están disponibles como paquetes instalables desde NuGet.org. Se recomienda migrar a referencias de NuGet en lugar de usar Windows Installer.

A partir de febrero de 2021, también están disponibles las versiones de paquetes de .NET Core equivalentes a los paquetes cliente AMO y ADOMD. Sin embargo, hay algunos escenarios que no son compatibles con las versiones de .NET Core. Para más información, consulte consideraciones y limitaciones más adelante en este artículo.

Los ensamblados del paquete de NuGet AssemblyVersion siguen el control de versiones semántico: PRINCIPAL.SECUNDARIA.REVISIÓN. Las referencias de NuGet cargan la versión esperada incluso si hay una versión diferente en la GAC (resultante de la instalación de MSI). El valor de REVISIÓN se incrementa para cada publicación. Las versiones de AMO y ADOMD se mantienen sincronizadas.

AMO y ADOMD

Paquete Versión
AMO 19.79.1
ADOMD 19.79.1

AMO y ADOMD .Net Core

Paquete Versión
AMO .Net Core 19.79.1
ADOMD .Net Core 19.79.1

A partir de AMO (AMO/TOM) y ADOMD .Net Core versión 19.48.0.0, las comunicaciones basadas en HTTP con servicios en la nube, como Power BI y Azure Analysis Services, se han mejorado significativamente. Se recomienda actualizar a la versión más reciente para aprovechar estas mejoras de rendimiento.

Versión preliminar de TMDL

A partir de la versión 19.72.0 de AMO, la funcionalidad TMDL ahora se incluye en Microsoft.AnalysisServices.Tabular.dll. Si ha estado usando el paquete NuGet Microsoft.AnalysisServices.Tabular.Tmdl , asegúrese de quitarlo del proyecto y volver a compilarlo.

Se realizaron los siguientes cambios en la API de TMDL que podrían afectar al código:

  • Cambia el nombre de la propiedad TmdlFormatException. Por ejemplo, Ruta de acceso cambiada a Documento.

Para más información sobre TMDL, consulte Información general sobre el lenguaje de definición de modelos tabulares.

Versiones mínimas necesarias

La versión 1.0/1.1 del protocolo de seguridad de la capa de transporte (TLS) está en desuso en Microsoft Entra ID el 30 de junio de 2021. Ahora se requiere TLS 1.2 o posterior. TLS 1.2 no se admite en versiones anteriores de las bibliotecas cliente de Analysis Services. Las versiones más recientes de la biblioteca cliente incluyen compatibilidad con TLS 1.2 y versiones posteriores, además de otras mejoras de seguridad importantes.

Para minimizar los riesgos y posibles vulnerabilidades de seguridad, a partir del 30 de junio de 2021, la seguridad mejorada en Azure Analysis Services y Power BI requieren las siguientes o versiones posteriores:

Lib de cliente Versión del archivo Versión
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

Consideraciones y limitaciones

AMO y ADOMD

A partir de la versión 19.67.0, los objetos de conectividad como Microsoft.AnalysisServices.AdomdClient.AdomdConnection y Microsoft.AnalysisServices.Server admiten una nueva propiedad AccessToken que permite pasar tokens externos de OAuth para que lo use la capa de conectividad XMLA. Para obtener más información, consulte Propiedades de cadena de conexión - Id. de usuario=...; Password=.

A partir de la versión 19.42.0.4, ADOMD.NET y AMO/TOM usan MSAL (Microsoft.Identity.Client) versión 4.43.0 o posterior en lugar de ADAL para autenticar a los usuarios con Microsoft Entra ID al establecer una conexión a servicios basados en la nube, como Power-BI y Azure Analysis Services. Si la aplicación u otro componente de la aplicación depende de usa MSAL, es posible que sea necesario actualizar la configuración de redirección de enlace de la aplicación si hay conflictos entre las versiones de MSAL cargadas por los componentes.

AMO y ADOMD .Net Core

Entre los escenarios admitidos se incluyen conexiones a Azure Analysis Services, Power BI Premium y SQL Server Analysis Services. Solo se admite la conectividad basada en TCP para equipos Windows.

El inicio de sesión interactivo con Microsoft Entra ID solo se admite para equipos Windows. Se requiere el entorno de ejecución de escritorio de .NET Core.

La dependencia en MSAL requiere la versión 4.43.0 o posterior.

La versión 19.14.0 de las bibliotecas cliente de .Net Core introdujo compatibilidad con la versión preliminar para la publicación de Self-Contained (tanto en un directorio publicado como en modo de archivo único), además de admitir el consumo por parte de proyectos de .NET 5.0. Se han corregido varios problemas relacionados con la conectividad con SQL Server Analysis Services identificados en la versión anterior.

La versión 19.12.7.2 de las bibliotecas cliente de .Net Core introdujo compatibilidad con SQL Server Analysis Services. Versiones preliminares inferiores solo se admiten Azure Analysis Services y modelos semánticos de Power BI.

AMO

La versión 19.12.3.0 de la biblioteca cliente de AMO presenta una nueva enumeración , Microsoft.AnalysisServices.DataType. Sin embargo, la enumeración anterior, Microsoft.AnalysisServices.Tabular.DataType todavía existe. Si el código hace referencia a la enumeración anterior como DataType en un archivo de código con instrucciones a ambos espacios de nombres (Microsoft.AnalysisServices, Microsoft.AnalysisServices.Tabular), debido a la ambigüedad, podría obtener un error al compilar. Para resolver el error, califica completamente la referencia a la enumeración.

La versión 19.61.1.4 de la biblioteca cliente de AMO presenta un cambio en el comportamiento de reversión de transacciones de Microsoft.AnalysisServices.Server. En versiones anteriores, una llamada a Server.RollbackTransaction() envía una solicitud al motor para revertir la transacción e intentar revertir los cambios locales. A diferencia de las versiones anteriores, en la versión 19.61.1.4 y posteriores, si los cambios locales no se pueden revertir de forma segura, se quitan las bases de datos tabulares incluidas en el bloque de transacciones hasta que se puedan sincronizar completamente y se quitan los cambios obsoletos de la transacción que se han revertido. Se genera una excepción InvalidOperationException cuando se realiza un cambio en la base de datos tabular pertinente. Si el código llama a Server.RollbackTransaction(), se recomienda seguir esa llamada con una sincronización completa [Database.Refresh(true)] para cualquier base de datos tabular que se modifique como parte de la transacción.

A partir de la versión 19.77.0, al clonar o copiar un MetadataObject en otra instancia de metadataObject mediante el modelo de objetos tabulares (TOM), TOM devuelve null para las propiedades que hacen referencia cruzada a objetos fuera del árbol directo de MetadataObject de objetos secundarios. Debe agregar la instancia de MetadataObject clonada al modelo semántico para que se puedan resolver referencias cruzadas a objetos fuera del árbol MetadataObject.

Por ejemplo, al clonar una tabla con una partición que hace referencia a una expresión con nombre en entityPartitionSource, la propiedad ExpressionSource de EntityPartitionSource devuelve null hasta que la tabla clonada se agrega al modelo semántico como en el fragmento de código siguiente para que se pueda resolver la referencia de ExpressionSource clonada. El clon debe agregarse al modelo porque la expresión con nombre a la que se hace referencia cruzada es miembro de la colección Expressions del modelo y no forma parte del árbol de la tabla de objetos secundarios.

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

ADOMD

A partir de ADOMD (.NET Framework y .NET Core) versión 19.61.1.4, la compresión está totalmente disponible en la capa de transporte XMLA. Las versiones anteriores después de la versión 19.55.3.1 implementaron cierta compatibilidad parcial con la compresión. Se han recibido informes sobre problemas con esas versiones. Estos problemas se han corregido como parte de la versión 16.61.1.4. Asegúrese de actualizar a la versión 19.61.1.4 o posterior si tiene problemas relacionados con la compresión.

MSOLAP

A partir de la versión 16.0.43.20, MSOLAP usa MSAL (Microsoft.Identity.Client) versión 4.43.0 o posterior en lugar de ADAL para autenticar a los usuarios con Microsoft Entra ID al establecer una conexión a servicios basados en la nube como Power-BI y Azure Analysis Services. Si la aplicación u otro componente de la aplicación depende de está usando MSAL, puede ser necesario actualizar la configuración de redirección de enlace de la aplicación si hay conflictos entre las versiones de MSAL cargadas por los componentes.

Se detectó una regresión relacionada con las conexiones a sistemas basados en la nube mediante Microsoft Entra ID en la versión 16.0.4.17 de OLEDB (MSOLAP). Se corrigió en la versión 16.0.20.201. Debido a la naturaleza del problema, una versión instalada 16.0.4.17, así como cualquier otra versión anterior a la 16.0.20.201, no se puede corregir si el proveedor se ejecuta, incluso si el programa de instalación se ejecuta en modo de reparación. Se recomienda desinstalar completamente la versión 16.0.4.17 [u otra problemática] y, a continuación, instalar la versión 16.0.20.201 o posterior.

En una versión anterior, MSOLAP se actualizó para conectarse a Analysis Services basado en la nube mediante la biblioteca administrada de autenticación de Microsoft (MSAL). A partir de la versión 16.0.87.16, el programa de instalación de MSOLAP ya no instala el componente nativo nativo de la Biblioteca de autenticación de Azure Active Directory (ADAL).

Descripción de las bibliotecas de cliente

Analysis Services utiliza tres bibliotecas cliente. ADOMD.NET y Analysis Services Management Objects (AMO) son bibliotecas de cliente administradas. Y el proveedor OLE DB de Analysis Services (DLL MSOLAP) es una biblioteca cliente nativa. Normalmente, las tres bibliotecas se instalan al mismo tiempo.

Las aplicaciones cliente de Microsoft, como Power BI Desktop y Excel, instalan las tres bibliotecas de cliente y las actualizan cuando hay nuevas versiones disponibles. En función de la versión o la frecuencia de las actualizaciones, es posible que algunas bibliotecas de cliente no sean las versiones más recientes requeridas por Azure Analysis Services y Power BI. Esto mismo se aplica a aplicaciones personalizadas u otras interfaces, como AsCmd, TOM, ADOMD.NET. Estas aplicaciones requieren la instalación manual o mediante programación de las bibliotecas. Las bibliotecas de cliente para la instalación manual se incluyen en los paquetes de características de SQL Server como paquetes de distribución. Sin embargo, estas bibliotecas de cliente están asociadas a la versión de SQL Server y no pueden ser la versión más reciente. Asegúrese de instalar siempre la versión más reciente y descargable de este artículo.

Tipos de biblioteca de cliente

Proveedor OLE DB Analysis Services (MSOLAP)

El proveedor OLE DB de Analysis Services (MSOLAP) es la biblioteca de cliente nativa para las conexiones de base de datos de Analysis Services. Es utilizada indirectamente por ADOMD.NET y AMO, que delegan las solicitudes de conexión en el proveedor de datos. También se puede llamar al proveedor OLE DB directamente desde el código de la aplicación.

El proveedor OLE DB de Analysis Services se instala automáticamente con la mayoría de las herramientas y aplicaciones cliente usadas para tener acceso a las bases de datos de Analysis Services. Debe instalarse en los equipos que se utilizan para tener acceso a datos de Analysis Services.

Los proveedores OLE DB suelen especificarse en las cadenas de conexión. Un cadena de conexión de Analysis Services usa una nomenclatura diferente para hacer referencia al proveedor OLE DB: MSOLAP.<versión>.dll.

AMO

AMO es una biblioteca de cliente administrada que se usa para la administración del servidor y la definición de datos. Las herramientas y aplicaciones de cliente la instalan y utilizan. Por ejemplo, SQL Server Management Studio (SSMS) usa AMO para conectarse a Analysis Services. La conexión mediante AMO suele ser mínima y consta de "data source=\<servername>". Una vez establecida una conexión, use la API para trabajar con las colecciones de base de datos y los objetos principales. Tanto Visual Studio como SSMS usan AMO para conectarse a una instancia de Analysis Services.

ADOMD

ADOMD.NET es una biblioteca de cliente de datos administrados que se usa para consultar datos de Analysis Services. Las herramientas y aplicaciones de cliente la instalan y utilizan.

Al conectarse a una base de datos, las propiedades de la cadena de conexión para las tres bibliotecas son similares. Casi cualquier cadena de conexión que defina para ADOMD.NET mediante Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString también funciona para AMO y el proveedor OLE DB de Analysis Services (MSOLAP). Para más información, consulte Propiedades de cadena de conexión.

Buscar versiones instaladas

OLEDDB (MSOLAP)

  1. Ir a C:\Program Files\Microsoft Analysis Services\AS OLEDB\. Si tiene más de una carpeta, elija el número más alto.

  2. Haga clic con el botón derecho en msolap.dll>Propiedades>Detalles. Compruebe la propiedad Versión del producto . Nota: Si el nombre de archivo es msolap140.dll, es anterior a la versión más reciente y debe actualizarse.

    Cuadro de diálogo de detalles de la biblioteca cliente MSOLAP

AMO

  1. Ir a C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\. Si tiene más de una carpeta, elija el número más alto.

  2. Haga clic con el botón derecho en Microsoft.AnalysisServices>Propiedades>Detalles.

    Cuadro de diálogo de detalles de la biblioteca cliente de AMO

ADOMD

  1. Ir a C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\. Si tiene más de una carpeta, elija el número más alto.

  2. Haga clic con el botón derecho en Microsoft.AnalysisServices.AdomdClient>Propiedades>Detalles.

    Cuadro de diálogo de detalles de la biblioteca cliente de ADOMD

Actualización manual de

Normalmente, las bibliotecas cliente se instalan y actualizan automáticamente junto con herramientas y aplicaciones cliente que las usan. Sin embargo, en algunos casos es posible que las bibliotecas cliente no se actualicen automáticamente y cada una de ellas se debe actualizar manualmente. Para actualizar manualmente, descargue y ejecute el paquete de Windows Installer (.msi) para cada biblioteca cliente.

Para descargar y actualizar

  1. Haga clic en:

  2. En Descargas, haga clic en un paquete de Windows Installer para ejecutar el programa de instalación.

  3. En Configuración, haga clic en Siguiente.

  4. Lea el contrato de licencia. Si está de acuerdo, seleccione Acepto los términos del contrato de licencia y, a continuación, haga clic en Siguiente.

  5. Haga clic en Instalar.

  6. Cuando haya finalizado, haga clic en Finalizar.