Risoluzione dei problemi relativi a Transact-SQL IntelliSense

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 ulteriori informazioni, vedere Procedura: Modifica delle opzioni di IntelliSense.

Funzionalità IntelliSense in query del Motore di database

I problemi descritti di seguito sono relativi 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 ulteriori informazioni, vedere Sintassi Transact-SQL supportata da IntelliSense.

  • IntelliSense è disponibile solo quando l'editor di query di Motore di database è connesso a un'istanza di SQL Server 2008 Motore di database. IntelliSense non è disponibile quando l'editor di query è connesso a versioni precedenti del Motore di database.

  • IntelliSense è disattivato nell'editor di query di 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 gli oggetti aggiunti su altre connessioni mancano da caratteristiche come gli elenchi di completamento, per aggiornare la cache di oggetti per la finestra dell'editor è possibile scegliere uno dei tre metodi seguenti:

    • 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 di Motore di 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 di Motore di database. Connettersi di nuovo all'istanza.

Vedere anche

Altre risorse