IntelliSense funktioniert nicht, ist aber aktiviert

30

Dieses Problem ist wirklich schwierig (und ziemlich ärgerlich).

In SQL Server Management Studio 2008 funktionierte mein IntelliSense bis vor wenigen Tagen hervorragend. Dann hörte es plötzlich auf. Das Symbol, wie es im Symbolleistenmenü und unter Extras -> Optionen -> Texteditor -> T-SQL -> IntelliSense aktiviert ist, gibt an, dass es dort aktiviert ist.

Ich habe versucht, den IntelliSense-Cache mit Strg-Shft-R zu aktualisieren, aber das funktioniert auch nicht.

Irgendwelche Ideen, was mit meinem IntelliSense passiert ist und was ich tun muss, um es zurückzubekommen?

Thomas Stringer
quelle

Antworten:

30

Es gibt eine Reihe von Möglichkeiten, bei denen IntelliSense nicht funktioniert:

In einigen Fällen ist der von IntelliSense verwendete lokale Cache veraltet. Das Aktualisieren des Caches ist einfach, aber nicht unbedingt offensichtlich.

Es gibt zwei Möglichkeiten, den Cache zu aktualisieren:

  1. Schlagen Ctrl+Shift+R
  2. Gehen Sie zu Bearbeiten -> IntelliSense -> Lokalen Cache aktualisieren

Wenn IntelliSense immer noch nicht funktioniert, stellen Sie sicher, dass IntelliSense aktiviert ist. So überprüfen Sie dies im T-SQL-Abfrageeditorfenster der aktuellen Datenbank:

  1. Gehen Sie zu Extras -> Optionen -> Texteditor -> Transact-SQL -> Allgemein -> IntelliSense
  2. Gehen Sie zu Abfrage -> IntelliSense sollte ausgewählt sein
  3. Stellen Sie außerdem sicher, dass der T-SQL-Editor nicht im SQLCMD-Modus gestartet wird. Überprüfen:

    • Gehen Sie zu Extras -> Optionen -> Abfrageausführung -> SQL Server -> Allgemein
    • Stellen Sie sicher, dass "Neue Abfragen standardmäßig im SQLCMD-Modus öffnen" deaktiviert ist.
    • oder Gehe zu Abfrage -> SQLCMD-Modus sollte nicht ausgewählt sein

Weiterlesen

Ritesh D
quelle
15

Ich hatte dieses Problem, also befolgte ich den Rat von Ritesh D und ging zu Extras -> Optionen -> Texteditor -> Transact-SQL -> Allgemein . Ich habe IntelliSense überprüft und festgestellt, dass es bereits aktiviert ist.

Ich stellte jedoch fest, dass "Mitglieder der automatischen Liste" und "Parameterinformationen" deaktiviert waren. Also habe ich sie überprüft. Das hat mein Problem gelöst.

Bildbeschreibung hier eingeben

Diese beiden Funktionen sind das, was ich als "Intellisense" betrachte, und Microsoft ist nicht anderer Meinung :

IntelliSense ist der allgemeine Begriff für eine Reihe von Funktionen: Mitglieder auflisten, Parameterinfo, Schnellinfo und Vollständiges Wort. Mithilfe dieser Funktionen können Sie mehr über den von Ihnen verwendeten Code erfahren, die von Ihnen eingegebenen Parameter verfolgen und Eigenschaften und Methoden mit nur wenigen Tastenanschlägen aufrufen.

Michael Currie
quelle
9

Stellen Sie sicher, dass die maximale Skriptgröße unter der Menüoption Extras -> Optionen -> Texteditor -> Transact-SQL -> Allgemein -> IntelliSense auf "Unbegrenzt" eingestellt ist. Ich tat dies und Intellisense fing an zu arbeiten

RT0205
quelle
5

Wenn Sie eine entfernte Datenbank mit geringer Übertragungsrate verwenden (z. B. eine Verbindung von Europa zum weit entfernten asiatischen Büroserver) und die Datenbankstruktur nicht klein ist (z. B. viele Tabellen), benötigt SSMS viel mehr Zeit, um alle IntelliSense-Daten zu vervollständigen.

In meinem Fall musste ich über 1 Minute warten, um auf IntelliSense zugreifen zu können (langsame Verbindung und Datenbank mit ca. 1000 Tabellen). (SSMS zeigt keine Fortschrittsanzeige oder Informationen zum Ladevorgang von IntelliSense an.)

Bronek
quelle
1

OFFLINE- Datenbanken können dazu führen, dass Intelissense nicht mehr funktioniert. Sie können es testen, indem Sie eine beliebige Datenbank auf Ihrem verbundenen Server auf OFFLINE setzen und zurücksetzen.

Ich kann es als SQL 2016-Fehler bestätigen

Jean
quelle
1

Dieses Problem ist mir aufgefallen, als ich dem öffentlichen Benutzer einige Berechtigungen entzogen habe, wie von Azure vorgeschlagen. Dies half mein Problem zu lösen:

use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]
Michael Capobianco
quelle
-3

Ich hatte das gleiche Problem mit SQL Server 2008 R2. Es wurde erst nach der Anwendung von SQL Server 2008R2 Service Pack 1 behoben.

Geeta
quelle
SQL Server 2008 und SQL Server 2008 R2 sind verschiedene Versionen. Die Frage betrifft die erstere und Ihre Antwort die letztere.
Andriy M