Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да промените нивото на съвместимост на база данни с T-SQL

В SQL Server можете да използвате ALTER DATABASE изявление за промяна на нивото на съвместимост на база данни.

Това може да бъде полезно, ако имате база данни, която е създадена в по-ранна версия на SQL Server, но сега трябва да използвате функции, които са налични само с по-късно ниво на съвместимост.

Например OPENJSON() функцията е достъпна само при ниво на съвместимост 130 или по-високо. Въпреки че вашата инсталация на SQL Server може да поддържа това ниво на съвместимост, все пак можете да имате бази данни, които използват по-ниско ниво на съвместимост. В този случай, ако искате да използвате OPENJSON() срещу тези бази данни, ще трябва да увеличите нивото на съвместимост до 130 или по-високо.

Пример

Ето пример за код, който променя съвместимостта на база данни.

ALTER DATABASE Pets  
SET COMPATIBILITY_LEVEL = 150; 

Резултат:

Командите са завършени успешно.

Базата данни, наречена Pets вече има ниво на съвместимост от 150.

Проверете нивото на съвместимост на вашата база данни

Можете да използвате sys.databases изглед на системния каталог, за да проверите съвместимостта на дадена база данни или всички бази данни.

Ето пример за проверка на Pets база данни.

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

Резултат:

<пред>+-----------------------+| ниво на съвместимост   ||-----------------------|| 150                   |+-----------------------+

Нива на съвместимост по продукт

Ето таблица, която показва нивата на съвместимост, поддържани от всяко издание на SQL Server и Azure SQL база данни.

Продукт Версия на базата данни Обозначение на нивото на съвместимост по подразбиране Поддържани стойности на ниво на съвместимост
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 база данни 12 150 150, 140, 130, 120, 110, 100
Управляван екземпляр на базата данни на Azure SQL 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. В SQL, как можете да групирате по диапазони?

  2. Как да вмъкнете резултатите от съхранена процедура във временна таблица в SQL Server

  3. Неуспешно влизане за потребител „DOMAIN\MACHINENAME$“

  4. MS SQL Server на Linux срещу тест за производителност на Windows, за да забележите разликата

  5. Анализирайте JSON в TSQL