sql >> Database >  >> RDS >> Sqlserver

Het compatibiliteitsniveau van een database wijzigen met T-SQL

In SQL Server kunt u de ALTER DATABASE . gebruiken statement om het compatibiliteitsniveau van een database te wijzigen.

Dit kan handig zijn als u een database hebt die in een eerdere versie van SQL Server is gemaakt, maar nu functies moet gebruiken die alleen beschikbaar zijn met een later compatibiliteitsniveau.

Bijvoorbeeld de OPENJSON() functie is alleen beschikbaar onder compatibiliteitsniveau 130 of hoger. Hoewel uw SQL Server-installatie dit compatibiliteitsniveau mogelijk ondersteunt, kunt u nog steeds databases hebben die een lager compatibiliteitsniveau gebruiken. In dit geval, als u OPENJSON() . wilt gebruiken tegen die databases, moet u het compatibiliteitsniveau verhogen tot 130 of hoger.

Voorbeeld

Hier is een voorbeeld van code die de compatibiliteit van een database verandert.

ALTER DATABASE Pets  
SET COMPATIBILITY_LEVEL = 150;

Resultaat:

Commands completed successfully.

De database genaamd Pets heeft nu een compatibiliteitsniveau van 150.

Controleer uw databasecompatibiliteitsniveau

U kunt de sys.databases . gebruiken systeemcatalogusweergave om de compatibiliteit van een bepaalde database of alle databases te controleren.

Hier is een voorbeeld van het controleren van de Pets database.

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

Resultaat:

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

Compatibiliteitsniveaus per product

Hier is een tabel met de compatibiliteitsniveaus die worden ondersteund door elke editie van SQL Server en Azure SQL Database.

Product Database Engine-versie Aanwijzing standaard compatibiliteitsniveau Ondersteunde waarden voor compatibiliteitsniveau
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 beheerd exemplaar 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. oracle diff:hoe twee tabellen te vergelijken?

  2. MariaDB numerieke functies (volledige lijst)

  3. Hoe gegevens tussen twee databases in PostgreSQL te vergelijken?

  4. Hybride OLTP/Analytics-databaseworkloads in Galera-cluster met behulp van asynchrone slaves