Identificare i problemi di IntelliSense - SQL Server Management Studio (SSMS)

Si applica a:SQL Serverdatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

In alcuni casi le opzioni di IntelliSense potrebbero non funzionare nel modo previsto.

Condizioni che influiscono su IntelliSense

Le condizioni seguenti potrebbero influire sul comportamento di IntelliSense:

  • È presente un errore del codice sopra il cursore.

    Se esiste un'istruzione incompleta o un altro errore del codice sopra la posizione del punto di inserimento, IntelliSense potrebbe non essere in grado di analizzare gli elementi del codice e quindi non funzionare. Per attivarlo di nuovo, è possibile impostare come commento il codice pertinente.

  • Il punto di inserimento si trova all'interno di un commento di codice.

    Le opzioni di IntelliSense non sono disponibili quando il punto di inserimento si trova all'interno di un commento nel file di origine.

  • Il punto di inserimento si trova all'interno di un valore letterale stringa.

    Le opzioni di IntelliSense non sono disponibili quando il punto di inserimento si trova all'interno delle virgolette che racchiudono un valore letterale stringa, come illustrato nell'esempio seguente:

    WHERE FirstName LIKE 'Patri%|'

  • Le opzioni automatiche sono disattivate.

    Per impostazione predefinita, molte caratteristiche di IntelliSense operano automaticamente ma possono essere disabilitate.

    È possibile utilizzarle anche se il completamento automatico delle istruzioni è disabilitato. Per altre informazioni, vedere Configurare IntelliSense (SQL Server Management Studio).

Funzionalità IntelliSense in query del Motore di database

I problemi seguenti si applicano all'editor di query del motore di database di SQL Server:

  • La funzionalità IntelliSense dell'editor di query del motore di database non supporta tutti gli elementi della sintassi Transact-SQL. La Guida relativa ai parametri non supporta i parametri in alcuni oggetti, ad esempio nelle stored procedure estese. Per altre informazioni, vedere Sintassi Transact-SQL supportata da IntelliSense.

  • IntelliSense è disponibile solo quando l'editor di query del motore di database è connesso a un'istanza del motore di database da SQL Server 2008 (10.0.x) o versioni successive. IntelliSense non è disponibile quando l'editor di query è connesso a versioni precedenti del motore di database.

  • IntelliSense è disattivato nell'editor di query del motore di database quando è impostata la modalità SQLCMD.

  • La funzionalità IntelliSense non può essere utilizzata per oggetti di database creati da un'altra connessione dopo che la finestra dell'editor si è connessa al database. Se nelle caratteristiche di IntelliSense mancano oggetti, ad esempio gli elenchi di completamento, è possibile scegliere uno di questi tre meccanismi per aggiornare la cache degli oggetti per la finestra dell'editor:

    • Scegliere IntelliSense dal menu Modifica, quindi fare clic su Aggiorna cache locale.

    • Utilizzare i tasti di scelta rapida CTRL+MAIUSC+R.

    • Disconnettere la finestra dell'editor dall'istanza del motore del database ed effettuare una nuova connessione.

  • Gli elenchi di completamento non includono oggetti di database per cui non si dispone di autorizzazioni. Tramite IntelliSense vengono contrassegnati i riferimenti a oggetti per i quali si dispone di autorizzazioni. Se, ad esempio, se si apre uno script scritto da un altro utente, qualsiasi riferimento a oggetti per i quali l'autore dispone di autorizzazioni e l'utente che apre lo script no viene contrassegnato come non corretto.

  • Gli elenchi di completamento potrebbero smettere di funzionare se si perde la connessione all'istanza del motore di database. Connettersi di nuovo all'istanza.