it-swarm.it

IntelliSense non funziona ma è abilitato

Questo problema si sta rivelando davvero complicato (e piuttosto fastidioso).

In SQL Server Management Studio 2008, fino a pochi giorni fa IntelliSense funzionava perfettamente. Poi all'improvviso si è fermato. L'icona è abilitata nel menu della barra degli strumenti e in Strumenti -> Opzioni -> Editor di testo -> T-SQL -> IntelliSense dice che è abilitata lì.

Ho provato a riprovare la cache di IntelliSense con Ctrl-Shft-R, ma non funziona neanche.

Qualche idea su cosa è successo a IntelliSense e cosa devo fare per riaverlo?

30
Thomas Stringer

Se hai recentemente aggiornato VisualStudio, vedi questo link per una correzione:

La funzione IntelliSense in SSMS 2008 R2 potrebbe smettere di funzionare dopo aver installato Visual Studio 2010 SP1

Oppure puoi scaricare la correzione direttamente da qui:

Come ottenere il service pack più recente per SQL Server 2008 R2

11
Ezi

Esistono diverse possibilità in cui IntelliSense non funziona:

In alcuni casi la cache locale utilizzata da IntelliSense diventa obsoleta. L'aggiornamento della cache è semplice ma non necessariamente ovvio.

Esistono due modi per aggiornare la cache:

  1. Colpire Ctrl+Shift+R
  2. Vai a Modifica -> IntelliSense -> Aggiorna cache locale

Se IntelliSense continua a non funzionare, assicurati di aver attivato IntelliSense. Per verificarlo dalla finestra dell'editor di query T-SQL del database corrente:

  1. Vai a Strumenti -> Opzioni -> Editor di testo -> Transact-SQL -> Generale -> IntelliSense
  2. Vai a Query -> IntelliSense dovrebbe essere selezionato
  3. Verificare inoltre che l'editor T-SQL non si avvii in modalità SQLCMD. Controllare:

    • Vai su Strumenti -> Opzioni -> Esecuzione query -> SQL Server -> Generale
    • Assicurati che "Per impostazione predefinita, apri nuove query in modalità SQLCMD" non sia selezionato.
    • oppure Vai a Query -> Modalità SQLCMD non deve essere selezionato

Leggi di più

31
Ritesh D

Ho avuto questo problema, quindi ho seguito il consiglio di Ritesh D e sono andato a Strumenti -> Opzioni -> Editor di testo -> Transact-SQL -> Generale . Ho controllato IntelliSense e ho scoperto che era già abilitato.

Tuttavia, ho scoperto che "Membri elenco automatico" e "Informazioni sui parametri" erano deselezionati. Quindi li ho controllati. Questo ha risolto il mio problema.

enter image description here

Queste due caratteristiche sono ciò che penso come "intellisense" e Microsoft non è in disaccordo :

IntelliSense è il termine generale per una serie di funzioni: Elenca membri, Informazioni sui parametri, Informazioni rapide e Parola completa. Queste funzionalità ti aiutano a saperne di più sul codice che stai utilizzando, a tenere traccia dei parametri che stai digitando e ad aggiungere chiamate a proprietà e metodi con solo pochi tasti.

16
Michael Currie

Verificare che la dimensione massima dello script sia impostata su "Illimitato" nell'opzione di menu Strumenti -> Opzioni -> Editor di testo -> Transact-SQL -> Generale -> IntelliSense. L'ho fatto e intellisense ha iniziato a funzionare

9
RT0205

Quando si utilizza un database remoto con una connessione a basso trasferimento (ad esempio, mi sono connesso dall'Europa al server per ufficio dell'Asia lontana) e quando la struttura del database non è piccola (ad esempio molte tabelle), SSMS impiega molto più tempo a completare tutti i dati IntelliSense.

Nel mio caso ho dovuto attendere oltre 1 minuto per avere IntelliSense accessibile (connessione lenta e db con circa 1000 tabelle). (SSMS non visualizza alcun indicatore di avanzamento o informazioni relative al processo di caricamento di IntelliSense)

5
Bronek

Ho notato questo problema quando ho revocato alcune autorizzazioni per l'utente pubblico, come suggerito da Azure. Questo mi ha aiutato a risolvere il mio problema:

use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]
1

OFFLINE i database possono smettere di funzionare. Puoi testarlo mettendo qualsiasi database nel tuo server connesso su OFFLINE e ripristinandolo.

Posso confermarlo come un bug di SQL 2016

1
jean