it-swarm.com.de

Ungültiger SQL Server-Objektname - Tabellen werden jedoch in der SSMS-Tabellenliste aufgeführt

Ich versuche, ein Stored Procedure für eine neu erstellte Datenbank. Der Intellisense SSMS erkennt jedoch nicht mehr als die Hälfte der erstellten Tabellen.

Zum Beispiel habe ich in der linken Spalte unter Tabellen eine Tabelle dbo.Room, wenn ich "dbo. "im neuen Abfragefenster wird diese Tabelle nicht aufgelistet, tatsächlich werden nur 17 von 37 Tabellen aufgelistet.

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

Ungültiger Objektname 'dbo.Room' ..

Habe ich etwas beim Aufstellen der Tische verpasst?

UPDATE: Ich habe versucht, die Tabellenliste zu aktualisieren (mehrmals)

301
Richbits

Versuchen:

Edit -> IntelliSense -> Refresh Local Cache

Dadurch sollten die von Intellisense zwischengespeicherten Daten aktualisiert werden, um die Druckkopfunterstützung und die Fehlererkennung vor der Ausführung bereitzustellen.

HINWEIS: Ihr Cursor muss sich im Abfrageeditor befinden, damit das IntelliSense-Menü angezeigt wird.

644
Adam Robinson

Ctrl + Shift + R erfrischt auch im management studio 2008 den intellisense.

74
Zielyn

sobald Sie ein neues SQL Server-Objekt erstellen, wird das neu erstellte Objekt nicht mehr im lokalen IntelliSence-Cache aktualisiert. Aus diesem Grund wird unter diesem Objekt eine rote Linie angezeigt. Sie müssen also nur den lokalen SSMS IntelliSence-Cache aktualisieren. Sobald Sie ihn aktualisieren, fügt IntelliSence automatisch ein neu erstelltes Objekt in den Cache ein und die rote Linie verschwindet. Versuche dies

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

enter image description here

35
Nagaraj S

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

enter image description here

Rookie-Fehler könnten aber jemandem helfen.

20
Daniel Segura

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 für meinen Standardkatalog auf dem Server geöffnet, und dieser Abfrage-Editor verwendete immer nur diese Datenbank. Durch das Aktualisieren des Caches wurde nichts geändert. Durch einen Neustart von SSMS wurde nichts geändert. Das Ändern der Datenbank hat nichts geändert.

Am Ende habe ich eine Abfrage erstellt, indem ich mit der rechten Maustaste auf die Datenbank geklickt habe, die ich eigentlich verwenden wollte, und in diesem Kontextmenü "Neue Abfrage" ausgewählt habe. Now SSMS verwendet die richtigen Objekte für IntelliSense.

18
Bacon Bits

Sind Sie sicher, dass die fragliche Tabelle existiert?

Haben Sie die Tabellenansicht im Objekt-Explorer aktualisiert? Klicken Sie dazu mit der rechten Maustaste auf den Ordner "tables" und drücken Sie die Taste F5 Schlüssel.

Möglicherweise müssen Sie auch den Intellisense-Cache erneut aktualisieren.

Gehen Sie dazu folgendermaßen vor: Bearbeiten -> IntelliSense -> Lokalen Cache aktualisieren

10
John Sansom

Die Lösung ist:

  • Klicken Sie auf das Menü Abfrage,
  • klicken Sie anschließend auf "Datenbank ändern".
  • Wählen Sie Ihren entsprechenden Datenbanknamen.

Das ist es.

8
Tono FRL

Auch nach der Installation von SP3 auf SQL Server 2008 Enterprise ist dies immer noch ein "Problem". Ctrl+Shift+R Wie jeder sagte, hat dieses Problem für mich gelöst.

4
demmith

Gleiches Problem bei mir als ich dieses Syntaxproblem gelöst habe.

Syntax:

Use [YourDatabaseName]
Your Query Here
4
user5093161

Für SSMS 2016 gelöst.

Hatte ein ähnliches Problem, aber Intellisense war nicht im Menü Bearbeiten.

Das Problem wurde anscheinend behoben, indem Intellisens ein- und ausgeschaltet wurde. Klicken Sie mit der rechten Maustaste auf den SQL-Editor und klicken Sie auf "Intellisense aktiviert". Klicken Sie erneut mit der rechten Maustaste auf "Intellisense aktiviert", um es wieder einzuschalten. Ctr Q, das mache ich auch.

Dies löste das Problem und ich weiß auch, dass der Intellisense im Menü Bearbeiten angezeigt wird.

3
Eric Yeoman

Ich musste SMSS nur schließen und wieder öffnen. Ich habe versucht, den lokalen Cache zu aktualisieren, aber das hat nicht funktioniert.

1
stealthysnacks

hast du versucht: Rechtsklicke auf die Datenbank und klicke auf "Aktualisieren"

1
KM.

Mir ist klar, dass diese Frage bereits beantwortet wurde, ich hatte jedoch eine andere Lösung:

Wenn Sie ein Skript schreiben, in dem Sie die Tabellen löschen, ohne sie neu zu erstellen, werden diese Tabellen als fehlend angezeigt, wenn Sie versuchen, sie später zu referenzieren.

Hinweis: Dies ist bei einem Skript, das ständig ausgeführt wird, nicht der Fall. Manchmal ist es jedoch einfacher, ein Skript mit zu referenzierenden Abfragen zu erstellen, als sie jedes Mal einzugeben.

1
Troy Loberger