Behandeln von Transact-SQL IntelliSense-Problemen

Es gibt bestimmte Fälle, in denen die IntelliSense-Optionen unter Umständen nicht erwartungsgemäß funktionieren.

Bedingungen, die Auswirkungen auf IntelliSense haben

Die folgenden Bedingungen können das Verhalten von IntelliSense beeinflussen:

  • Über dem Cursor wird ein Codefehler angezeigt.

    Wenn sich über der Position der Einfügemarke eine unvollständige Anweisung oder ein anderer Codierungsfehler befindet, kann IntelliSense die Codeelemente möglicherweise nicht analysieren und funktioniert daher nicht. Sie können den verfügbaren Code auskommentieren, um IntelliSense erneut zu aktivieren.

  • Die Einfügemarke befindet sich innerhalb eines Codekommentars.

    Wenn sich die Einfügemarke innerhalb eines Kommentars in der Quelldatei befindet, sind IntelliSense-Optionen nicht verfügbar.

  • Die Einfügemarke befindet sich innerhalb eines Zeichenfolgenliterals.

    Wenn sich die Einfügemarke innerhalb der Anführungszeichen eines Zeichenfolgenliterals befindet, sind IntelliSense-Optionen nicht verfügbar, z. B. in:

    WHERE FirstName LIKE 'Patri%|'

  • Die automatischen Optionen sind deaktiviert.

    Viele IntelliSense-Funktionen funktionieren standardmäßig automatisch. Sie können die einzelnen Funktionen deaktivieren.

    Auch wenn die automatische Anweisungsvervollständigung deaktiviert ist, können Sie eine IntelliSense-Funktion verwenden. Weitere Informationen finden Sie unter Vorgehensweise: Ändern von IntelliSense-Optionen.

IntelliSense in der Datenbankmodul-Abfrage

Die folgenden Probleme gelten für den SQL Server Database Engine (Datenbankmodul)-Abfrage-Editor:

  • Die IntelliSense-Funktionalität des Database Engine (Datenbankmodul)-Abfrage-Editors unterstützt nicht alle Transact-SQL-Syntaxelemente. Die Parameterhilfe unterstützt nicht die Parameter in manchen Objekten, z. B. in erweiterten gespeicherten Prozeduren. Weitere Informationen finden Sie unter Von IntelliSense unterstützte Transact-SQL-Syntax.

  • IntelliSense ist nur verfügbar, wenn der Database Engine (Datenbankmodul)-Abfrage-Editor mit einer Instanz von SQL Server 2008 Database Engine (Datenbankmodul) verbunden ist. IntelliSense ist nicht verfügbar, wenn der Abfrage-Editor mit früheren Versionen von Database Engine (Datenbankmodul) verbunden ist.

  • IntelliSense wird im Database Engine (Datenbankmodul)-Abfrage-Editor deaktiviert, wenn der SQLCMD-Modus aktiviert wird.

  • Die IntelliSense-Funktionalität deckt keine von einer anderen Verbindung erstellten Datenbankobjekte ab, nachdem das Editorfenster eine Verbindung mit der Datenbank hergestellt hat. Wenn für andere Verbindungen hinzugefügte Objekte in Funktionen wie Verbindungslisten fehlen, können Sie einen dieser drei Mechanismen auswählen, um den Cache von Objekten für das Editorfenster zu aktualisieren:

    • Wählen Sie das Menü Bearbeiten, IntelliSense und dann Lokalen Cache aktualisieren aus.

    • Verwenden Sie die Tastenkombination STRG+UMSCHALT+R.

    • Trennen Sie die Verbindung des Editorfensters von der Database Engine (Datenbankmodul)-Instanz, und stellen Sie erneut eine Verbindung her.

  • Vervollständigungslisten enthalten keine Datenbankobjekte, für die Sie keine Berechtigungen haben. IntelliSense kennzeichnet Verweise auf Objekte, für die Sie Berechtigungen haben. Wenn Sie z. B. ein Skript öffnen, das von einer anderen Person geschrieben wurde, werden alle Verweise auf Objekte, für die diese Person über Berechtigungen verfügt, Sie dagegen nicht, als inkorrekt gekennzeichnet.

  • Vervollständigungslisten funktionieren möglicherweise nicht mehr, wenn die Verbindung zur Instanz von Database Engine (Datenbankmodul) verloren geht. Stellen Sie erneut eine Verbindung zur Instanz her.

Siehe auch

Andere Ressourcen