Подтвердить что ты не робот

OPENJSON не работает в SQL Server?

Я хочу использовать функции JSON в SQL Server 2016, но когда я пытаюсь выполнить функцию OPENJSON, я получаю следующую ошибку:

Msg 208, уровень 16, состояние 1, строка 1
Недопустимое имя объекта 'openjson'.

Почему это не работает? У меня есть версия SQL Server 2016 RC.

4b9b3361

Ответ 1

Не можете ли вы проверить уровень совместимости в базе данных? OPENJSON доступен под уровнем совместимости 130. Не могли бы вы попытаться выполнить:

ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130

Кроме того, если вы используете JSON в Azure SQL Database, обратите внимание, что даже новые базы данных создаются с уровнем совместимости до 120, поэтому вы должны изменить его, если хотите использовать OPENJSON. Кроме того, если вы используете его в Azure SQL Database, запустите select @@version, чтобы увидеть этот сервер V12. Вы должны увидеть что-то вроде:

Microsoft SQL Azure (окончательная первоначальная версия) - 12.0.2000.8     25 марта 2016 15:11:30     Авторское право (c) Корпорация Microsoft

Если вы видите более низкую версию (например, 11.xxx), у вас, вероятно, есть база данных по старой архитектуре, где JSON не поддерживается.

Привет,

Йован