Condividi tramite


Risoluzione dei problemi di IntelliSense (SQL Server Management Studio)

Esistono alcuni casi in cui le opzioni di IntelliSense potrebbero non funzionare come previsto.

Condizioni che influiscono su IntelliSense

Le condizioni seguenti potrebbero influire sul comportamento di IntelliSense:

  • Si è verificato un errore di codice sopra il cursore.

    Se si verifica un'istruzione incompleta o un altro errore di codifica sopra la posizione del punto di inserimento, IntelliSense potrebbe non essere in grado di analizzare gli elementi di codice e pertanto non funzionerà. È possibile impostare come commento il codice applicabile per abilitare nuovamente IntelliSense.

  • 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 cursore si trova all'interno delle virgolette di una stringa letterale, ad esempio:

    WHERE FirstName LIKE 'Patri%|'

  • Le opzioni automatiche sono disattivate.

    Molte funzionalità di IntelliSense funzionano automaticamente per impostazione predefinita, ma è possibile disabilitare qualsiasi funzionalità.

    Anche quando il completamento automatico delle istruzioni è disabilitato, è possibile usare una funzionalità IntelliSense. Per altre informazioni, vedere Configurare IntelliSense (SQL Server Management Studio).

IntelliSense delle 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. L'assistenza sui parametri non supporta i parametri in alcuni oggetti, come ad esempio le stored procedure estese. Per altre informazioni, vedere Transact-SQL sintassi 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 o versione successiva. IntelliSense non è disponibile quando l'editor di query è connesso alle 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 copre gli oggetti di database creati da un'altra connessione dopo che la finestra dell'editor è connessa al database. Se gli oggetti non sono presenti nelle funzionalità di IntelliSense, ad esempio gli elenchi di completamento, è possibile scegliere uno di questi tre meccanismi per aggiornare la cache degli oggetti per la finestra dell'editor:

    • Selezionare il menu Modifica , selezionare IntelliSense, quindi selezionare Aggiorna cache locale.

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

    • Disconnettere la finestra dell'editor dall'istanza del motore di database e riconnettersi.

  • Gli elenchi di completamento non includono oggetti di database per i quali non si dispone delle autorizzazioni. IntelliSense contrassegna i riferimenti agli oggetti per i quali si dispone delle autorizzazioni. Ad esempio, se si apre uno script scritto da un altro utente, qualsiasi riferimento a oggetti per cui tale persona dispone delle autorizzazioni, e tu no, viene contrassegnato come errato.

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