Condividi tramite


Livello di compatibilità di un database multidimensionale (Analysis Services)

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

In SQL Server Analysis Services la proprietà livello di compatibilità del database determina il livello funzionale di un database. I livelli di compatibilità sono univoci per ogni tipo di modello. Ad esempio, il livello di compatibilità 1100 ha un significato diverso per un database multidimensionale o tabulare.

In questo argomento viene descritto il livello di compatibilità solo per i database multidimensionali. Per altre informazioni sulle soluzioni tabulari, vedere Livello di compatibilità per i modelli tabulari in Analysis Services.

Nota

I modelli tabulari presentano livelli di compatibilità dei database aggiuntivi non applicabili ai modelli multidimensionali. Il livello di compatibilità 1103 non esiste per i modelli multidimensionali. Vedere Novità sul modello tabulare in SQL Server 2012 SP1 e livello di compatibilità per altre informazioni sul livello 1103 per le soluzioni tabulari.

Livelli di compatibilità per database multidimensionali

Attualmente, l'unico comportamento di database multidimensionale che varia in base al livello funzionale è l'architettura di archiviazione basata su stringa. L'aumento del livello di compatibilità di un database consente di ignorare il limite massimo di 4 GB per l'archiviazione di stringhe di misure e dimensioni.

Per un database multidimensionale, tra i valori validi per la proprietà CompatibilityLevel sono inclusi i seguenti:

Impostazione Descrizione
1050 Questo valore non è visibile negli script o negli strumenti, ma corrisponde ai database creati in SQL Server 2005 (9,x), SQL Server 2008 o SQL Server 2008 R2. Qualsiasi database il cui CompatibilityLevel non è impostato in modo esplicito viene eseguito in modo implicito al livello 1050 .
1100 Si tratta del valore predefinito per i nuovi database creati in SQL Server 2012 (11.x) o SQL Server 2017. È anche possibile specificarlo per i database creati nelle versioni precedenti di SQL Server Analysis Services per abilitare l'uso delle funzionalità supportate solo a questo livello di compatibilità (ovvero un aumento dell'archiviazione stringa per attributi di dimensione o misure di conteggio distinte che contengono dati stringa).

I database con la proprietà CompatibilityLevel impostata su 1100 ottengono una proprietà aggiuntiva, StringStoresCompatibilityLevel, che consente di scegliere la modalità di archiviazione alternativa delle stringhe per partizioni e dimensioni.

Avviso

L'impostazione della compatibilità del database su un livello superiore è irreversibile. Dopo aver aumentato il livello di compatibilità a 1100, è necessario continuare a eseguire il database in server più recenti. Non è possibile eseguire il rollback al valore 1050. Non è possibile collegare o ripristinare un database 1100 in una versione del server precedente a SQL Server 2012 (11.x) o SQL Server 2017.

Prerequisiti

I livelli di compatibilità del database vengono introdotti in SQL Server 2012 (11,x). È necessario avere SQL Server 2012 (11.x)SQL Server Analysis Services o versione successiva per visualizzare o impostare il livello di compatibilità del database.

Il database non può essere un cubo locale. I cubi locali non supportano la proprietà CompatibilityLevel .

Il database deve essere stato creato in una versione precedente (SQL Server 2008 R2 o versioni precedenti) e quindi collegato o ripristinato in un server SQL Server 2012 (11.x)SQL Server Analysis Services o versione successiva. I database distribuiti in SQL Server 2012 sono già al livello 1100 e non è possibile effettuare il downgrade per l'esecuzione a un livello inferiore.

Determinare il livello di compatibilità del database esistente per un database multidimensionale

L'unico modo per visualizzare o modificare il livello di compatibilità del database è tramite XMLA. È possibile visualizzare o modificare lo script XMLA che specifica il database in SQL Server Management Studio.

Se si cerca la definizione XMLA di un database per la proprietà CompatibilityLevel e non esiste, è probabile che il database sia eseguito al livello di compatibilità 1050 .

Le istruzioni per la visualizzazione e la modifica dello script XMLA vengono fornite nella sezione successiva.

Impostare il livello di compatibilità del database in SQL Server Management Studio

  1. Prima di aumentare il livello di compatibilità, eseguire il backup del database nel caso si desideri annullare le modifiche in un momento successivo.

  2. Usando SQL Server Management Studio, connettersi al server SQL Server 2017SQL Server Analysis Services che ospita il database.

  3. Fare clic con il pulsante destro del mouse sul nome del database, scegliere Crea script per database, scegliere Genera codice per istruzione ALTER in, quindi selezionare Nuova finestra editor di query. Una rappresentazione XMLA del database verrà visualizzata in una nuova finestra.

  4. Copiare l'elemento XML seguente:

    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    
  5. Incollarlo dopo l'elemento di chiusura </Annotations> e prima dell'elemento <Language> . Il codice XML dovrebbe essere simile a quello riportato nell'esempio seguente:

    </Annotations>  
    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    <Language>1033</Language>  
    
  6. Salvare il file.

  7. Per eseguire lo script, scegliere Esegui dal menu Query o premere F5.

Operazioni supportate per le quali è richiesto lo stesso livello di compatibilità

Per le operazioni indicate di seguito è necessario che il livello di compatibilità dei database di origine sia lo stesso.

  1. L'unione di partizioni da database diversi è supportata solo se entrambi i database condividono lo stesso livello di compatibilità.

  2. Per utilizzare dimensioni collegate da un altro database, è necessario lo stesso livello di compatibilità. Ad esempio, se si vuole usare una dimensione collegata da un database SQL Server 2008 R2 in un database SQL Server 2012 (11.x), è necessario convertire il database SQL Server 2008 R2 in un server SQL Server 2012 (11.x) e impostare il livello di compatibilità su 1100.

  3. La sincronizzazione di server è supportata solo per server in cui viene condivisa la stessa versione e lo stesso livello di compatibilità del database.

Passaggi successivi

Dopo aver incrementato il livello di compatibilità del database, è possibile impostare la proprietà StringStoresCompatibilityLevel in SQL Server Data Tools. In questo modo viene aumentato l'archivio di stringhe per misure e dimensioni. Per altre informazioni su questa funzionalità, vedere Configurare l'archivio di stringhe per dimensioni e partizioni.

Vedere anche

Backup, ripristino e sincronizzazione di database (XMLA)