Impostare il livello di compatibilità di un database multidimensionale (Analysis Services)
In Analysis Services la proprietà del 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 ulteriori informazioni sulle soluzioni tabulari, vedere Livello di compatibilità (SSAS tabulare SP1).
[!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 il blog sulle novità del modello tabulare in SQL Server 2012 SP1 e il livello di compatibilità per informazioni su 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, 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. Questa impostazione può essere specificata anche per i database creati in versioni precedenti di Analysis Services per consentire l'utilizzo di funzionalità che sono supportate solo a questo livello di compatibilità (vale a dire, archivio di stringhe esteso per misure Distinct Count o attributi della dimensione contenenti dati di tipo stringa). I database con la proprietà CompatibilityLevel impostata su 1100 ottengono una proprietà aggiuntiva, StringStoresCompatibilityLevel, che consente di scegliere la modalità di archiviazione alternativa di stringhe per partizioni e dimensioni. |
Attenzione |
---|
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 SQL Server 2012 Analysis Services o versioni successive. Non è possibile eseguire il rollback al valore 1050. Non è possibile collegare un database il cui livello di compatibilità è impostato su 1100 a una versione server precedente a SQL Server 2012 o in questa eseguirne il ripristino. |
Prerequisiti
I livelli di compatibilità del database vengono introdotti in SQL Server 2012. Per visualizzare o impostare il livello di compatibilità del database, è necessario disporre di SQL Server 2012 Analysis Services.
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), quindi collegato a un server SQL Server 2012 Analysis Services o in questo ripristinato. I database distribuiti in SQL Server 2012 si trovano già al livello di compatibilità 1100 e non possono essere sottoposti al 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
Prima di aumentare il livello di compatibilità, eseguire il backup del database nel caso si desideri annullare le modifiche in un momento successivo.
Tramite SQL Server Management Studio connettersi al server SQL Server 2012 Analysis Services in cui è ospitato il database.
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.
Copiare l'elemento XML seguente:
<ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>
Copiarlo 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>
Salvare il file.
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.
L'unione di partizioni da database diversi è supportata solo se entrambi i database condividono lo stesso livello di compatibilità.
Per utilizzare dimensioni collegate da un altro database, è necessario lo stesso livello di compatibilità. Ad esempio, se si desidera utilizzare una dimensione collegata da un database di SQL Server 2008 R2 in un database di SQL Server 2012, è necessario portare il database di SQL Server 2008 R2 in un server SQL Server 2012 e impostare il livello di compatibilità su 1100.
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 aumentato 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 ulteriori informazioni su questa funzionalità, vedere Configurare l'archivio di stringhe per dimensioni e partizioni.