web-dev-qa-db-fra.com

OPENJSON ne fonctionne pas dans SQL Server?

Je souhaite utiliser les fonctions JSON dans SQL Server 2016, mais lorsque j'essaie d'exécuter la fonction OPENJSON, j'obtiens l'erreur suivante:

Msg 208, niveau 16, état 1, ligne 1
Nom d'objet non valide 'openjson'.

Pourquoi ça ne marche pas? J'ai la version RC de SQL Server 2016.

28
Iva

Pourriez-vous vérifier le niveau de compatibilité sur la base de données? OPENJSON est disponible sous le niveau de compatibilité 130. Pourriez-vous essayer d'exécuter:

ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130

De plus, si vous utilisez JSON sur Azure SQL Database, notez que même de nouvelles bases de données sont créées sous le niveau de compatibilité 120, vous devez donc le modifier si vous souhaitez utiliser OPENJSON. De plus, si vous l'utilisez dans Azure SQL Database, exécutez select @@ version pour voir s'il s'agit de ce serveur V12. Vous devriez voir quelque chose comme:

Microsoft SQL Azure (RTM) - 12.0.2000.8 25 mars 2016 15:11:30 Copyright (c) Microsoft Corporation

Si vous voyez une version inférieure (par exemple 11.xxx), vous avez probablement une base de données sur une ancienne architecture où JSON n'est pas pris en charge.

Cordialement,

Jovan

73
Jovan MSFT