Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zmienić poziom zgodności bazy danych z T-SQL?

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć kolumnę w SQL Server za pomocą T-SQL

  2. SQL Server — co się dzieje po zaktualizowaniu wiersza w tabeli?

  3. Przekazywanie listy<> do procedury składowanej SQL

  4. Pierwsze kroki z GearHost do tworzenia baz danych SQL Server

  5. Jak wstawić rekord z tylko wartościami domyślnymi?