Compartir a través de


Nivel de compatibilidad de una base de datos multidimensional (Analysis Services)

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

En SQL Server Analysis Services, la propiedad de nivel de compatibilidad de la base de datos determina el nivel funcional de una base de datos. Los niveles de compatibilidad son únicos para cada tipo de modelo. Por ejemplo, un nivel de compatibilidad de 1100 tiene un significado diferente en función de si la base de datos es multidimensional o tabular.

En este tema se describe solo el nivel de compatibilidad de las bases de datos multidimensionales. Para obtener más información sobre las soluciones tabulares, vea Nivel de compatibilidad para modelos tabulares en Analysis Services.

Nota:

Los modelos tabulares tienen niveles de compatibilidad de base de datos adicionales que no son aplicables a los modelos multidimensionales. El nivel de compatibilidad 1103 no existe para los modelos multidimensionales.

Niveles de compatibilidad para bases de datos multidimensionales

Actualmente, el único comportamiento de la base de datos multidimensional que varía según el nivel funcional es la arquitectura de almacenamiento de cadenas. Al aumentar el nivel de compatibilidad de la base de datos, puede invalidar el límite máximo de 4 gigabytes para el almacenamiento de cadenas de medidas y dimensiones.

Para una base de datos multidimensional, los valores válidos para la propiedad CompatibilityLevel incluyen lo siguiente:

Configuración Description
1050 Este valor no es visible en el script o las herramientas, pero corresponde a las bases de datos creadas en SQL Server 2005 (9.x), SQL Server 2008 o SQL Server 2008 R2. Cualquier base de datos que no tenga compatibilityLevel establecida explícitamente se ejecuta implícitamente en el nivel 1050 .
1100 Este es el valor predeterminado para las nuevas bases de datos que se crean en SQL Server 2012 (11.x) o SQL Server 2017. También puede especificarla para las bases de datos creadas en versiones anteriores de SQL Server Analysis Services para habilitar el uso de características que solo se admiten en este nivel de compatibilidad (es decir, un mayor almacenamiento de cadenas para atributos de dimensión o medidas de recuento distintas que contienen datos de cadena).

Las bases de datos que tienen un valor CompatibilityLevel establecido en 1100 obtienen una propiedad adicional, StringStoresCompatibilityLevel, que permite elegir almacenamiento de cadenas alternativo para particiones y dimensiones.

Advertencia

Establecer la compatibilidad de la base de datos en un nivel superior es irreversible. Después de aumentar el nivel de compatibilidad a 1100, debe seguir ejecutando la base de datos en servidores más recientes. No se puede revertir a 1050. No se puede adjuntar ni restaurar una base de datos 1100 en una versión de servidor anterior a SQL Server 2012 (11.x) o SQL Server 2017.

Prerrequisitos

Los niveles de compatibilidad de bases de datos se presentan en SQL Server 2012 (11.x). Debe tener SQL Server 2012 (11.x)SQL Server Analysis Services o superior para ver o establecer el nivel de compatibilidad de la base de datos.

La base de datos no puede ser un cubo local. Los cubos locales no admiten la propiedad CompatibilityLevel .

La base de datos debe haberse creado en una versión anterior (SQL Server 2008 R2 o versiones anteriores) y, a continuación, debe adjuntarse o restaurarse a un servidor SQL Server 2012 (11.x), SQL Server Analysis Services o superior. Las bases de datos implementadas en SQL Server 2012 ya están en 1100 y no se pueden degradar para ejecutarse en un nivel inferior.

Determinar el nivel de compatibilidad de la base de datos existente para una base de datos multidimensional

La única manera de ver o modificar el nivel de compatibilidad de la base de datos es a través de XMLA. Puede ver o modificar el script XMLA que especifica la base de datos en SQL Server Management Studio.

Si busca la definición XMLA de una base de datos para la propiedad CompatibilityLevel y no existe, lo más probable es que tenga una base de datos en el nivel 1050 .

En la sección siguiente se proporcionan instrucciones para ver y modificar el script XMLA.

Establecer el nivel de compatibilidad de la base de datos en SQL Server Management Studio

  1. Antes de aumentar el nivel de compatibilidad, realice una copia de seguridad de la base de datos en caso de que quiera revertir los cambios más adelante.

  2. Usando SQL Server Management Studio, conéctese al servidor de SQL Server Analysis Services de SQL Server 2017 que hospeda la base de datos.

  3. Haga clic con el botón derecho en el nombre de la base de datos, seleccione Script Database como, Modificar a y, a continuación, seleccione Ventana nueva del Editor de consultas. Se abrirá una representación XMLA de la base de datos en una nueva ventana.

  4. Copie el siguiente elemento XML:

    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    
  5. Péguelo después del </Annotations> elemento de cierre y antes del <Language> elemento . El XML debe tener un aspecto similar al del ejemplo siguiente:

    </Annotations>  
    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    <Language>1033</Language>  
    
  6. Guarde el archivo.

  7. Para ejecutar el script, haga clic en Ejecutar en el menú Consulta o presione F5.

Operaciones admitidas que requieren el mismo nivel de compatibilidad

Las siguientes operaciones requieren que las bases de datos de origen compartan el mismo nivel de compatibilidad.

  1. La combinación de particiones de bases de datos diferentes solo se admite si ambas bases de datos comparten el mismo nivel de compatibilidad.

  2. El uso de dimensiones vinculadas de otra base de datos requiere el mismo nivel de compatibilidad. Por ejemplo, si desea usar una dimensión vinculada de una base de datos de SQL Server 2008 R2 en una base de datos de SQL Server 2012 (11.x), debe migrar la base de datos de SQL Server 2008 R2 a un servidor de SQL Server 2012 (11.x) y establecer el nivel de compatibilidad en 1100.

  3. La sincronización de servidores solo se admite para los servidores que comparten la misma versión y el mismo nivel de compatibilidad de base de datos.

Pasos siguientes

Después de aumentar el nivel de compatibilidad de la base de datos, puede establecer la propiedad StringStoresCompatibilityLevel en SQL Server Data Tools. Esto aumenta el almacenamiento de cadenas para medidas y dimensiones. Para obtener más información sobre esta característica, consulte Configuración del almacenamiento de cadenas para dimensiones y particiones.

Véase también

Copia de seguridad, restauración y sincronización de bases de datos (XMLA)