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

Em 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 de cada tipo de modelo. Por exemplo, um nível de compatibilidade 1100 tem um significado diferente quando o banco de dados é multidimensional ou tabular.

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

Observação

Os modelos de tabela têm níveis adicionais de compatibilidade de banco de dados que não se aplicam a modelos multidimensionais. O nível de compatibilidade 1103 não existe para os modelos multidimensionais. Consulte What is new for the Tabular model in SQL Server 2012 SP1 and compatibility level [Novidades no modelo Tabular no SQL Server 2012 SP1 e nível de compatibilidade] para obter mais informações sobre o nível 1103 para soluções tabulares.

Níveis de compatibilidade para bancos de dados multidimensionais

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

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

Configuração Descrição
1050 Esse valor não é visível em scripts ou ferramentas, mas corresponde aos bancos de dados criados em SQL Server 2005 (9.x), SQL Server 2008 ou SQL Server 2008 R2. Qualquer banco de dados que não tenha CompatibilityLevel definido explicitamente será 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 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 que têm suporte apenas 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 com o CompatibilityLevel definido como 1100 obtêm uma propriedade adicional, StringStoresCompatibilityLevel, a qual permite escolher um armazenamento de cadeia de caracteres alternativo para partições e dimensões.

Aviso

A definição da compatibilidade do banco de dados como um nível mais alto é irreversível. Após aumentar o nível de compatibilidade para 1100, você deve continuar executando o banco de dados em servidores mais recentes. Não é possível reverter para 1050. Você não pode anexar ou restaurar um banco de dados 1100 em uma versão de servidor anterior a SQL Server 2012 (11.x) ou 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 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 servidor SQL Server 2012 (11.x)SQL Server Analysis Services ou superior. Os bancos de dados implantados no SQL Server 2012 já estão em 1100 e não podem ser rebaixados para execução em um nível inferior.

Como 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 é através do XMLA. Você pode exibir ou modificar o script XMLA que especifica o banco de dados no SQL Server Management Studio.

Caso você pesquise a definição XMLA de um banco de dados para a propriedade CompatibilityLevel e ela não exista, é mais provável que você tenha um banco de dados no nível 1050 .

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

Como 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 o backup do banco de dados caso queira reverter posteriormente as alterações.

  2. Usando 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 Script de Banco de Dados como, aponte para ALTER parae selecione Janela do Editor de Nova 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 elemento de fechamento </Annotations> e antes do elemento <Language> . O XML deve ter aparência semelhante ao seguinte exemplo:

    </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 suportadas 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. Há suporte à mesclagem de partições de diferentes bancos de dados somente quando os dois bancos de dados compartilham 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 SQL Server 2012 (11.x), deverá portar o banco de dados SQL Server 2008 R2 para um servidor SQL Server 2012 (11.x) e definir o nível de compatibilidade como 1100.

  3. A sincronização de servidores tem suporte apenas para servidores que compartilham a mesma versão e o mesmo 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 em SQL Server Data Tools. Isso aumenta o armazenamento de cadeia de caracteres para medidas e dimensões. Para obter mais informações sobre esse recurso, consulte Configurar o armazenamento de cadeia de caracteres para dimensões e partições.

Consulte Também

Fazendo backup, restaurando e sincronizando bancos de dados (XMLA)