430 Stimmen

sql server ungültiger Objektname - aber Tabellen sind in der SSMS-Tabellenliste aufgeführt

Ich versuche, eine Stored Procedure für eine neu erstellte Datenbank. Allerdings ist die SSMS intellisense erkennt mehr als die Hälfte der erstellten Tabellen nicht.

In der linken Spalte unter Tabellen habe ich zum Beispiel eine Tabelle dbo.Room , wenn ich " dbo. "Im neuen Abfragefenster ist diese Tabelle nicht aufgeführt, sondern nur 17 von 37 Tabellen.

Ich kann keinen Unterschied zwischen den von intellisense aufgelisteten und den nicht aufgelisteten Tabellen erkennen. Wenn ich dbo.Room manuell eingebe, wird es unterstrichen, mit einem Fehler von

Ungültiger Objektname 'dbo.Room'..

Habe ich beim Einrichten der Tabellen etwas übersehen?

UPDATE: Ich habe versucht, die Liste der Tabellen zu aktualisieren (mehrere Male)

930voto

Adam Robinson Punkte 176996

Versuchen Sie es:

Edit -> IntelliSense -> Refresh Local Cache

Dies sollte die von Intellisense zwischengespeicherten Daten aktualisieren, um Typeahead-Unterstützung und Fehlererkennung vor der Ausführung zu bieten.

HINWEIS: Ihr Cursor muss sich im Abfrage-Editor befinden, damit das IntelliSense-Menü sichtbar ist.

139voto

10110 Punkte 1783

Stellen Sie sicher, dass der ausgewählte DB derjenige ist, in dem sich die Tabelle befindet. Ich habe das Skript auf Master . In meinem Fall musste ich zu hr_db .

enter image description here

Ein Anfängerfehler, aber er könnte jemandem helfen.

100voto

Zielyn Punkte 986

Ctrl + Shift + R aktualisiert intellisense auch in Management Studio 2008.

45voto

Nagaraj S Punkte 12944

Sobald Sie ein neues SQL Server-Objekt erstellen, wird das neu erstellte Objekt nicht im IntelliSence Local Cache aktualisiert und deshalb wird eine rote Linie unter dem Objekt angezeigt. Sie müssen also nur den SSMS IntelliSence Local Cache aktualisieren, und sobald Sie ihn aktualisiert haben, IntelliSence fügt das neu erstellte Objekt automatisch in den Cache ein und die rote Linie verschwindet.

Edit -> IntelliSense -> Refresh Local Cache ou Ctrl + Shift + R

enter image description here

19voto

Bacon Bits Punkte 28612

In meinem Fall listete der IntelliSense-Cache Objektinformationen für eine völlig andere Datenbank auf. Wenn ich in SSMS auf die Schaltfläche "Neue Abfrage" klickte, wurde eine Abfrage zu meinem Standardkatalog auf dem Server geöffnet, und dieser Abfrage-Editor verwendete immer nur diese Datenbank. Das Aktualisieren des Caches änderte nichts. Ein Neustart von SSMS änderte nichts. Das Ändern der Datenbank änderte nichts.

Ich habe schließlich eine Abfrage erstellt, indem ich mit der rechten Maustaste auf die Datenbank, die ich eigentlich verwenden wollte, geklickt und aus dem Kontextmenü "Neue Abfrage" gewählt habe. Jetzt SSMS verwendet die richtigen Objekte für IntelliSense.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X