Compartilhar via


Nível de compatibilidade de um banco de dados multidimensional (Analysis Services)

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

No SQL Server Analysis Services, a propriedade de nível de compatibilidade do banco de dados determina o nível funcional de um banco de dados. Os níveis de compatibilidade são exclusivos para cada tipo de modelo. Por exemplo, um nível de compatibilidade de 1100 tem um significado diferente dependendo se o banco de dados é multidimensional ou tabular.

Este tópico descreve o nível de compatibilidade somente para bancos de dados multidimensionais. Para obter mais informações sobre soluções tabulares, consulte Nível de Compatibilidade para modelos tabulares no Analysis Services.

Observação

Os modelos tabulares têm níveis de compatibilidade de banco de dados adicionais que não são aplicáveis a modelos multidimensionais. O nível de compatibilidade 1103 não existe para modelos multidimensionais.

Níveis de compatibilidade para bancos de dados multidimensionais

Atualmente, o único comportamento multidimensional do banco de dados que varia de acordo com o nível funcional é a arquitetura de armazenamento de cadeia de caracteres. Ao elevar o nível de compatibilidade do banco de dados, você pode ultrapassar o limite máximo de 4 gigabytes para o armazenamento de strings em medidas e dimensões.

Para um banco de dados multidimensional, os valores válidos para a propriedade CompatibilityLevel incluem o seguinte:

Configurações Description
1050 Esse valor não é visível em scripts ou ferramentas, mas corresponde aos bancos de dados criados no SQL Server 2005 (9.x), SQL Server 2008 ou SQL Server 2008 R2. Qualquer banco de dados que não tenha CompatibilidadeLevel definido explicitamente está sendo executado implicitamente no nível 1050 .
1100 Esse é o valor padrão para novos bancos de dados criados no SQL Server 2012 (11.x) ou no SQL Server 2017. Você também pode especificá-lo para bancos de dados criados em versões anteriores do SQL Server Analysis Services para habilitar o uso de recursos compatíveis somente nesse nível de compatibilidade (ou seja, maior armazenamento de cadeia de caracteres para atributos de dimensão ou medidas de contagem distintas que contêm dados de cadeia de caracteres).

Os bancos de dados que têm um CompatibilityLevel definido como 1100 obtêm uma propriedade adicional, StringStoresCompatibilityLevel, que permite escolher o armazenamento de cadeia de caracteres alternativo para partições e dimensões.

Aviso

Definir a compatibilidade do banco de dados para um nível mais alto é irreversível. Depois de aumentar o nível de compatibilidade para 1100, você deve continuar a executar o banco de dados em servidores mais recentes. Você não pode reverter para 1050. Não é possível anexar ou restaurar um banco de dados 1100 em uma versão do servidor anterior ao SQL Server 2012 (11.x) ou ao SQL Server 2017.

Pré-requisitos

Os níveis de compatibilidade do banco de dados são introduzidos no SQL Server 2012 (11.x). Você deve ter o SQL Server 2012 (11.x)SQL Server Analysis Services ou superior para exibir ou definir o nível de compatibilidade do banco de dados.

O banco de dados não pode ser um cubo local. Os cubos locais não dão suporte à propriedade CompatibilityLevel .

O banco de dados deve ter sido criado em uma versão anterior (SQL Server 2008 R2 ou anterior) e, em seguida, anexado ou restaurado a um SQL Server 2012 (11.x)SQL Server Analysis Services ou servidor superior. Os bancos de dados implantados no SQL Server 2012 já estão em 1100 e não podem ser rebaixados para serem executados em um nível inferior.

Determinar o nível de compatibilidade do banco de dados existente para um banco de dados multidimensional

A única maneira de exibir ou modificar o nível de compatibilidade do banco de dados é por meio do XMLA. Você pode exibir ou modificar o script XMLA que especifica seu banco de dados no SQL Server Management Studio.

Se você pesquisar a definição XMLA de um banco de dados para a propriedade CompatibilityLevel e ela não existir, provavelmente você terá um banco de dados no nível 1050 .

As instruções para exibir e modificar o script XMLA são fornecidas na próxima seção.

Definir o nível de compatibilidade do banco de dados no SQL Server Management Studio

  1. Antes de elevar o nível de compatibilidade, faça backup do banco de dados caso deseje reverter as alterações posteriormente.

  2. Usando o SQL Server Management Studio, conecte-se ao servidor SQL Server 2017SQL Server Analysis Services que hospeda o banco de dados.

  3. Clique com o botão direito do mouse no nome do banco de dados, aponte para Scriptar Banco de Dados como, aponte para ALTER para e, em seguida, selecione Nova Janela do Editor de Consulta. Uma representação XMLA do banco de dados será aberta em uma nova janela.

  4. Copie o seguinte elemento XML:

    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    
  5. Cole-o após o </Annotations> elemento de fechamento e antes do <Language> elemento. O XML deve ser semelhante ao exemplo a seguir:

    </Annotations>  
    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    <Language>1033</Language>  
    
  6. Salve o arquivo.

  7. Para executar o script, clique em Executar no menu Consulta ou pressione F5.

Operações com suporte que exigem o mesmo nível de compatibilidade

As operações a seguir exigem que os bancos de dados de origem compartilhem o mesmo nível de compatibilidade.

  1. A mesclagem de partições de bancos de dados diferentes só terá suporte se ambos os bancos de dados compartilharem o mesmo nível de compatibilidade.

  2. O uso de dimensões vinculadas de outro banco de dados requer o mesmo nível de compatibilidade. Por exemplo, se você quiser usar uma dimensão vinculada de um banco de dados SQL Server 2008 R2 em um banco de dados do SQL Server 2012 (11.x), deverá portar o banco de dados SQL Server 2008 R2 para um servidor DO SQL Server 2012 (11.x) e definir o nível de compatibilidade como 1100.

  3. A sincronização de servidores só tem suporte para servidores que compartilham a mesma versão e nível de compatibilidade de banco de dados.

Próximas etapas

Depois de aumentar o nível de compatibilidade do banco de dados, você pode definir a propriedade StringStoresCompatibilityLevel nas Ferramentas de Dados do SQL Server. Isso aumenta o armazenamento de cadeias de caracteres para medidas e dimensões. Para obter mais informações sobre esse recurso, consulte Configurar o Armazenamento de Cadeias de Caracteres para Dimensões e Partições.

Consulte Também

Fazer backup, restaurar e sincronizar bancos de dados (XMLA)