I SQL Server kan du bruge ALTER DATABASE
sætning for at ændre kompatibilitetsniveauet for en database.
Dette kan være nyttigt, hvis du har en database, der blev oprettet i en tidligere version af SQL Server, men du skal nu bruge funktioner, der kun er tilgængelige med et senere kompatibilitetsniveau.
For eksempel OPENJSON()
funktion er kun tilgængelig under kompatibilitetsniveau 130 eller højere. Selvom din SQL Server-installation muligvis understøtter dette kompatibilitetsniveau, kan du stadig have databaser, der bruger et lavere kompatibilitetsniveau. I dette tilfælde, hvis du ønskede at bruge OPENJSON()
mod disse databaser, skal du øge kompatibilitetsniveauet til 130 eller højere.
Eksempel
Her er et eksempel på kode, der ændrer kompatibiliteten af en database.
ALTER DATABASE Pets
SET COMPATIBILITY_LEVEL = 150;
Resultat:
Commands completed successfully.
Databasen kaldet Pets
har nu et kompatibilitetsniveau på 150.
Tjek dit databasekompatibilitetsniveau
Du kan bruge sys.databases
systemkatalogvisning for at kontrollere kompatibiliteten af en given database eller alle databaser.
Her er et eksempel på kontrol af Pets
database.
SELECT compatibility_level
FROM sys.databases
WHERE name = 'Pets';
Resultat:
+-----------------------+ | compatibility_level | |-----------------------| | 150 | +-----------------------+
Kompatibilitetsniveauer efter produkt
Her er en tabel, der viser de kompatibilitetsniveauer, der understøttes af hver udgave af SQL Server og Azure SQL Database.
Produkt | Databasemotorversion | Standard kompatibilitetsniveaubetegnelse | Understøttede kompatibilitetsniveauværdier |
---|---|---|---|
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 |
Azure SQL-database | 12 | 150 | 150, 140, 130, 120, 110, 100 |
Azure SQL Database Managed Instance | 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 |