SQL Server 2016でJSON関数を使用したいのですが、OPENJSON
関数を実行しようとすると、次のエラーが表示されます。
メッセージ208、レベル16、状態1、行1
無効なオブジェクト名「openjson」。
なぜ機能しないのですか? SQL Server 2016 RCバージョンがあります。
データベースの互換性レベルを確認できますか? 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がサポートされていない古いアーキテクチャ上にデータベースがある可能性があります。
よろしく、
ヨヴァン