risposta-alla-domanda-sullo-sviluppo-web-bd.com

OPENJSON non funziona in SQL Server?

Voglio usare le funzioni JSON in SQL Server 2016, ma quando provo ad eseguire la funzione OPENJSON, ottengo il seguente errore:

Messaggio 208, livello 16, stato 1, riga 1
Nome oggetto non valido 'openjson'.

Perché non funziona? Ho la versione RC di SQL Server 2016.

28
Iva

Potresti controllare il livello di compatibilità sul database? OPENJSON è disponibile con il livello di compatibilità 130. Potresti provare a eseguire:

ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130

Inoltre, se si utilizza JSON nel database SQL di Azure, tenere presente che anche i nuovi database vengono creati con un livello di compatibilità 120, quindi è necessario modificarlo se si desidera utilizzare OPENJSON. Inoltre, se lo si utilizza nel database SQL di Azure, eseguire select @@ version per vedere questo server V12. Dovresti vedere qualcosa del tipo:

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

Se vedi una versione precedente (ad es. 11.xxx) probabilmente hai un database su una vecchia architettura in cui JSON non è supportato.

Saluti,

Jovan

73
Jovan MSFT