sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man ändrar kompatibilitetsnivån för en databas med T-SQL

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

  1. Pandas skriver dataram till annat postgresql-schema

  2. Kontrollera och optimera MySQL-databasen automatiskt med Crontab/Cron

  3. Beräkna percentil från senaste i MySQL

  4. En översikt över Just-in-Time Compilation (JIT) för PostgreSQL