W SQL Server możesz użyć ALTER DATABASE
oświadczenie, aby zmienić poziom zgodności bazy danych.
Może to być przydatne, jeśli masz bazę danych, która została utworzona we wcześniejszej wersji SQL Server, ale teraz musisz korzystać z funkcji dostępnych tylko przy nowszym poziomie zgodności.
Na przykład OPENJSON()
funkcja jest dostępna tylko przy poziomie zgodności 130 lub wyższym. Chociaż Twoja instalacja programu SQL Server może obsługiwać ten poziom zgodności, nadal możesz mieć bazy danych korzystające z niższego poziomu zgodności. W tym przypadku, jeśli chcesz użyć OPENJSON()
w stosunku do tych baz danych, musisz zwiększyć poziom zgodności do 130 lub wyższego.
Przykład
Oto przykład kodu, który zmienia kompatybilność bazy danych.
ALTER DATABASE Pets
SET COMPATIBILITY_LEVEL = 150;
Wynik:
Commands completed successfully.
Baza danych o nazwie Pets
ma teraz poziom zgodności 150.
Sprawdź poziom zgodności bazy danych
Możesz użyć sys.databases
widok katalogu systemowego w celu sprawdzenia zgodności danej bazy danych lub wszystkich baz danych.
Oto przykład sprawdzania Pets
baza danych.
SELECT compatibility_level
FROM sys.databases
WHERE name = 'Pets';
Wynik:
+-----------------------+ | compatibility_level | |-----------------------| | 150 | +-----------------------+
Poziomy zgodności według produktu
Oto tabela przedstawiająca poziomy zgodności obsługiwane przez każdą edycję SQL Server i Azure SQL Database.
Produkt | Wersja silnika bazy danych | Oznaczenie domyślnego poziomu zgodności | Obsługiwane wartości poziomu zgodności |
---|---|---|---|
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 |
Baza danych Azure SQL | 12 | 150 | 150, 140, 130, 120, 110, 100 |
Wystąpienie zarządzane Azure SQL Database | 12 | 150 | 150, 140, 130, 120, 110, 100 |
SQL Server 2016 (13.x) | 13 | 130 | 130, 120, 110, 100 |
Serwer SQL 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 |