Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come modificare il livello di compatibilità di un database con T-SQL

In SQL Server puoi utilizzare ALTER DATABASE istruzione per modificare il livello di compatibilità di un database.

Ciò può essere utile se si dispone di un database creato in una versione precedente di SQL Server, ma ora è necessario utilizzare funzionalità disponibili solo con un livello di compatibilità successivo.

Ad esempio, il OPENJSON() la funzione è disponibile solo con il livello di compatibilità 130 o superiore. Sebbene l'installazione di SQL Server possa supportare questo livello di compatibilità, potresti comunque avere database che utilizzano un livello di compatibilità inferiore. In questo caso, se vuoi usare OPENJSON() rispetto a tali database, dovresti aumentare il livello di compatibilità a 130 o superiore.

Esempio

Ecco un esempio di codice che modifica la compatibilità di un database.

ALTER DATABASE Pets  
SET COMPATIBILITY_LEVEL = 150;

Risultato:

Commands completed successfully.

Il database chiamato Pets ora ha un livello di compatibilità di 150.

Verifica il livello di compatibilità del tuo database

Puoi usare sys.databases vista del catalogo di sistema per verificare la compatibilità di un determinato database o di tutti i database.

Ecco un esempio di controllo del Pets banca dati.

SELECT compatibility_level
FROM sys.databases
WHERE name = 'Pets';

Risultato:

+-----------------------+
| compatibility_level   |
|-----------------------|
| 150                   |
+-----------------------+

Livelli di compatibilità per prodotto

Ecco una tabella che mostra i livelli di compatibilità supportati da ogni edizione di SQL Server e Database SQL di Azure.

Prodotto Versione del motore di database Denominazione del livello di compatibilità predefinito Valori del livello di compatibilità supportati
SQL Server 2019 (15.x) 15 150 150, 140, 130, 120, 110, 100
SQL Server 2017 (14.x) 14 140 140, 130, 120, 110, 100
Database SQL di Azure 12 150 150, 140, 130, 120, 110, 100
Istanza gestita del database SQL di Azure 12 150 150, 140, 130, 120, 110, 100
SQL Server 2016 (13.x) 13 130 130, 120, 110, 100
SQL Server 2014 (12.x) 12 120 120, 110, 100
SQL Server 2012 (11.x) 11 110 110, 100, 90
SQL Server 2008 R2 10.5 100 100, 90, 80
SQL Server 2008 10 100 100, 90, 80
SQL Server 2005 (9.x) 9 90 90, 80
SQL Server 2000 (8.x) 8 80 80