В 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 |