web-dev-qa-db-ja.com

OPENJSONはSQL Serverで動作しませんか?

SQL Server 2016でJSON関数を使用したいのですが、OPENJSON関数を実行しようとすると、次のエラーが表示されます。

メッセージ208、レベル16、状態1、行1
無効なオブジェクト名「openjson」。

なぜ機能しないのですか? SQL Server 2016 RCバージョンがあります。

28
Iva

データベースの互換性レベルを確認できますか? OPENJSONは互換性レベル130で利用可能です。実行してみてください:

ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130

また、Azure SQL DatabaseでJSONを使用している場合は、120の互換性レベルで新しいデータベースが作成されるため、OPENJSONを使用する場合は変更する必要があることに注意してください。また、Azure SQL Databaseで使用している場合は、select @@ versionを実行して、このV12サーバーを確認します。次のように表示されるはずです。

Microsoft SQL Azure(RTM)-12.0.2000.8 2016年3月25日15:11:30 Copyright(c)Microsoft Corporation

下位バージョン(11.xxxなど)が表示される場合、JSONがサポートされていない古いアーキテクチャ上にデータベースがある可能性があります。

よろしく、

ヨヴァン

73
Jovan MSFT