I SQL Server kan du använda ALTER DATABASE
för att ändra kompatibilitetsnivån för en databas.
Detta kan vara användbart om du har en databas som skapades i en tidigare version av SQL Server, men du behöver nu använda funktioner som bara är tillgängliga med en senare kompatibilitetsnivå.
Till exempel, OPENJSON()
Funktionen är endast tillgänglig under kompatibilitetsnivå 130 eller högre. Även om din SQL Server-installation kan stödja denna kompatibilitetsnivå, kan du fortfarande ha databaser som använder en lägre kompatibilitetsnivå. I det här fallet, om du vill använda OPENJSON()
mot dessa databaser skulle du behöva öka kompatibilitetsnivån till 130 eller högre.
Exempel
Här är ett exempel på kod som ändrar kompatibiliteten för en databas.
ALTER DATABASE Pets
SET COMPATIBILITY_LEVEL = 150;
Resultat:
Commands completed successfully.
Databasen som heter Pets
har nu en kompatibilitetsnivå på 150.
Kontrollera din databaskompatibilitetsnivå
Du kan använda sys.databases
systemkatalogvy för att kontrollera kompatibiliteten för en given databas, eller alla databaser.
Här är ett exempel på hur du kontrollerar Pets
databas.
SELECT compatibility_level
FROM sys.databases
WHERE name = 'Pets';
Resultat:
+-----------------------+ | compatibility_level | |-----------------------| | 150 | +-----------------------+
Kompatibilitetsnivåer efter produkt
Här är en tabell som visar kompatibilitetsnivåerna som stöds av varje utgåva av SQL Server och Azure SQL Database.
Produkt | Databasmotorversion | Standardbeteckning för kompatibilitetsnivå | Kompatibilitetsnivåvärden som stöds |
---|---|---|---|
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 |