Bibliotecas cliente de Analysis Services

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

Las bibliotecas cliente son necesarias para que las aplicaciones cliente y las herramientas se conecten a Analysis Services. Las aplicaciones cliente de Microsoft como Power BI Desktop, Excel, SQL Server Management Studio (SSMS) y la extensión de proyectos de Analysis Services para Visual Studio instalan las tres bibliotecas cliente y las actualizan junto con actualizaciones de aplicaciones periódicas. Las aplicaciones cliente personalizadas para Analysis Services también pueden requerir que se instalen una o varias de estas bibliotecas cliente. Las nuevas versiones de las bibliotecas cliente se actualizan aproximadamente mensualmente.

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

Descargar la versión más reciente

Windows Installer

Descargar Versión
msOLAP (amd64) 16.0.160.18
MSOLAP (x86) 16.0.160.18
de AMO 19.84.1.0
ADOMD 19.84.1.0

Nota: las descargas de Windows Installer para Objetos de administración de Analysis Services (AMO/TOM) y ADOMD ya no se actualizan y no estarán disponibles después del 31 de diciembre de 2024. Las aplicaciones que dependen de estas descargas de Windows Installer deben migrarse a paquetes NuGet.

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 encarecidamente migrar a referencias de NuGet en lugar de usar Windows Installer.

Ensamblados de paquetes NuGet AssemblyVersion siguen el control de versiones semántico: MAJOR. MENOR. PARCHE. 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). PATCH se incrementa para cada versión. Las versiones de AMO y ADOMD se mantienen sincronizadas.

A partir de julio de 2024, los paquetes AMO y ADOMD contienen versiones en tiempo de ejecución múltiple para todos los entornos de ejecución de destino admitidos, tanto .NET FX como .NET Core; Las versiones anteriores de los paquetes que solo tienen como destino un único entorno de ejecución, .NET FX o .NET Core, están disponibles para la compatibilidad con versiones anteriores, pero ya no se actualizan.

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

A partir de febrero de 2021, compatibilidad con tiempo de ejecución de .NET Core está disponible para los paquetes de cliente de 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.

AMO y ADOMD

Paquete Versión
de AMO 19.86.6.0
ADOMD 19.86.6.0

Nota:

Los nuevos paquetes de varios entornos de ejecución ya no tienen el sufijo ".retail.amd64" en la identidad del paquete y ahora se denominan simplemente Microsoft.AnalysisServices y Microsoft.AnalysisServices.AdomdClient.

Los paquetes anteriores de .NET Framework y .NET Core siguen estando disponibles en nuget.org para la compatibilidad con versiones anteriores en la identidad anterior con el sufijo ".retail.amd64" para .NET Framework y ". Sufijo NetCore.retail.amd64" para .NET Core.

Versiones mínimas necesarias

La versión 1.0/1.1 del protocolo seguridad de la capa de transporte (TLS) estaba 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 el riesgo y las posibles vulnerabilidades de seguridad, a partir del 30 de junio de 2021, la seguridad mejorada en Azure Analysis Services y Power BI requiere las siguientes versiones o 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.84.6, la compatibilidad con .NET FX 4.5 y .NET Core 3.0 en los ensamblados administrados ya no está disponible. Los ensamblados del lado cliente de AS ahora se publican con compatibilidad con .NET FX 4.7.2, así como solo para .NET 6.0 y .NET 8.0.

A partir de la versión 19.82.0.0, AMO y ADOMD admiten perfiles de entidad de servicio para la autenticación, como en el ejemplo de cadena de conexión siguiente. Para obtener más información, consulte Uso de perfiles de entidad de servicio para administrar los datos de los clientes en aplicaciones multiinquilino. Los usuarios no pueden conectarse a áreas de trabajo asociadas a una licencia premium de Per-User mediante perfiles de entidad de servicio a través del punto de conexión XMLA.

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 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 los 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 el identificador entra de Microsoft 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 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

Los escenarios admitidos incluyen conexiones a Azure Analysis Services, Power BI Premium y SQL Server Analysis Services. La conectividad basada en TCP solo se admite para equipos Windows.

El inicio de sesión interactivo con el id. de Microsoft Entra solo es compatible con 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 la compatibilidad con el consumo de proyectos de .NET 5.0. Se han corregido varios problemas relacionados con la conectividad a 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 admiten modelos semánticos de Azure Analysis Services y Power BI.

AMO

A partir de la versión 19.84.6, la compatibilidad con TMDL en AMO\TOM se considera como en General-Availability estado y no habrá ningún cambio importante en la superficie de la API.

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 en 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 un 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 a objetos 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 las 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 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 objetos secundarios de la tabla.

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 recibieron 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.139.27, MSOLAP admite perfiles de entidad de servicio para la autenticación, como en el ejemplo de cadena de conexión siguiente. Para obtener más información, consulte Uso de perfiles de entidad de servicio para administrar los datos de los clientes en aplicaciones multiinquilino.

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 partir de la versión 16.0.134.22, MSOLAP admite una sola Sign-On silenciosa (SSO) mediante el Administrador de cuentas web (WAM), disponible en Windows 10 y versiones posteriores, así como Windows Server 2019 y versiones posteriores. Cuando se abre una nueva conexión HTTP, MSOLAP obtiene un token de acceso como se indica a continuación:

  1. Si el almacenamiento en caché de tokens está habilitado y hay un token adecuado disponible en la memoria caché, MSOLAP usa el token almacenado en caché.
  2. Si un token almacenado en caché adecuado no está disponible, MSOLAP intenta obtener un token de acceso de forma silenciosa a través de WAM.
  3. Si se produjo un error en el inicio de sesión único mediante WAM, MSOLAP vuelve a la autenticación interactiva y abre la ventana de inicio de sesión.

Los usuarios pueden omitir el flujo de inicio de sesión único silencioso e iniciar inmediatamente la experiencia de autenticación interactiva proporcionando un identificador de usuario "vacío" en la cadena de conexión (Id. de usuario="").

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 el identificador entra de Microsoft 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 el identificador de Microsoft Entra 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 mediante la suposición del proveedor, 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 cliente

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

Las aplicaciones cliente de Microsoft, como Power BI Desktop y Excel, instalan las tres bibliotecas cliente y las actualizan cuando hay nuevas versiones disponibles. Según la versión o la frecuencia de las actualizaciones, es posible que algunas bibliotecas cliente no sean las versiones más recientes requeridas por Azure Analysis Services y Power BI. Lo 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 cliente para la instalación manual se incluyen en paquetes de características de SQL Server como paquetes distribuibles. Sin embargo, estas bibliotecas cliente están vinculadas a la versión de SQL Server y es posible que no sean las más recientes. Asegúrese de instalar siempre la versión más reciente y descargable de este artículo.

Tipos de biblioteca cliente

Proveedor OLE DB de Analysis Services (MSOLAP)

El proveedor OLE DB de Analysis Services (MSOLAP) es la biblioteca cliente nativa para las conexiones de base de datos de Analysis Services. Se usa indirectamente tanto por ADOMD.NET como por AMO, al delegar solicitudes de conexión al proveedor de datos. También 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 mediante la mayoría de las herramientas y las aplicaciones cliente que se usan para acceder a las bases de datos de Analysis Services. Debe instalarse en equipos que se usan para acceder a los datos de Analysis Services.

Los proveedores OLE DB a menudo se especifican en cadenas de conexión. Una 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 cliente administrada que se usa para la administración del servidor y la definición de datos. Se instala y usa en herramientas y aplicaciones cliente. Por ejemplo, SQL Server Management Studio (SSMS) usa AMO para conectarse a Analysis Services. Normalmente, una conexión mediante AMO es mínima, que consta de "data source=\<servername>". Una vez establecida una conexión, use la API para trabajar con colecciones de bases de datos y objetos principales. Tanto Visual Studio como SSMS usan AMO para conectarse a una instancia de Analysis Services.

ADOMD

ADOMD.NET es una biblioteca cliente de datos administrada que se usa para consultar datos de Analysis Services. Se instala y usa en herramientas y aplicaciones cliente.

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

Comprobación de las versiones instaladas

OLEDDB (MSOLAP)

  1. Ve 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 propiedades de msolap.dll>>Detalles. Compruebe la propiedad versión del producto de . 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. Ve 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 detalles de la biblioteca cliente de AMO

ADOMD

  1. Ve 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>Properties>Details.

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

Actualización manual

Las bibliotecas cliente normalmente 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. Clic:

  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 licenciay, a continuación, haga clic en Siguiente.

  5. Haga clic en Instalar.

  6. Cuando haya finalizado, haga clic en Finalizar.