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 de 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 para las bases de datos multidimensionales. Para obtener más información sobre las soluciones tabulares, vea Nivel de compatibilidad para modelos tabulares de Analysis Services.

Nota:

Los modelos tabulares tienen niveles de compatibilidad de la base de datos adicionales que no se pueden aplicar a los modelos multidimensionales. El nivel de compatibilidad 1103 no existe para los modelos multidimensionales. Vea What is new for the Tabular model in SQL Server 2012 SP1 and compatibility level (Novedades del modelo tabular en SQL Server 2012 SP1 y nivel de compatibilidad) para obtener más información sobre 1103 para las soluciones tabulares.

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.

En el caso de una base de datos multidimensional, los valores válidos para la propiedad CompatibilityLevel incluyen los siguientes:

Parámetro Descripción
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 establecido explícitamente CompatibilityLevel se ejecuta de forma implícita 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 la propiedad CompatibilityLevel establecida en 1100 obtienen una propiedad adicional, StringStoresCompatibilityLevel, que permite elegir un 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 posteriores. No puede revertir al nivel 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.

Requisitos previos

Los niveles de compatibilidad de la base 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 anterior) y, a continuación, adjuntar o restaurar 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 el nivel 1100 y no se pueden cambiar para que se ejecuten en un nivel inferior.

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

La única forma de ver o modificar el nivel de compatibilidad de la base de datos es mediante XMLA. Puede ver o modificar el script XMLA que especifica la base de datos en SQL Server Management Studio.

Si busca la definición de 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 ofrecen 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, haga copia de seguridad de la base de datos por si desea revertir los cambios posteriormente.

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

  3. Haga clic con el botón derecho en el nombre de la base de datos, seleccione Incluir la base de datos como, seleccione ALTER Toy, después, seleccione Nueva ventana del Editor de consultas. Una representación XMLA de la base de datos se abrirá en una nueva ventana.

  4. Copie el elemento XML siguiente:

    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    
  5. Péguelo después del elemento de cierre </Annotations> y antes del elemento <Language> . El XML debería presentar una apariencia similar a la 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. Solo se admite la combinación de particiones de bases de datos distintas si ambas bases de datos comparten el mismo nivel de compatibilidad.

  2. El uso de dimensiones vinculadas desde 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 SQL Server 2008 R2 a un servidor 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 nivel de compatibilidad de la 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, vea Configurar el almacenamiento de cadenas para dimensiones y particiones.

Consulte también

Restaurar, sincronizar y realizar copias de seguridad de bases de datos (XMLA)