Ich versuche, eine Stored Procedure
für eine neu erstellte Datenbank zu erstellen . Der SSMS
Intellisense erkennt jedoch nicht mehr als die Hälfte der erstellten Tabellen.
Wenn ich zum Beispiel in der linken Spalte unter Tabellen eine Tabelle habe dbo.Room
und " dbo.
" in das neue Abfragefenster eingebe, 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 von Intellisense aufgelisteten Tabellen feststellen. Wenn ich dbo.Room manuell eingebe, wird es mit einem Fehler von unterstrichen
Ungültiger Objektname 'dbo.Room' ..
Habe ich beim Aufstellen der Tische etwas verpasst?
UPDATE: Ich habe versucht, die Tabellenliste (mehrmals) zu aktualisieren.
quelle
[DatabaseName].[Schema].[TableName]
SO: Ungültiger Objektname sqlAntworten:
Versuchen:
Edit-> IntelliSense->Refresh Local Cache
Dadurch sollten die von Intellisense zwischengespeicherten Daten aktualisiert werden, um Typeahead-Unterstützung und Fehlererkennung vor der Ausführung bereitzustellen.
HINWEIS: Ihr Cursor muss sich im Abfrageeditor befinden, damit das IntelliSense-Menü angezeigt wird.
quelle
Ctrl+ Shift+ RAuffrischungen IntelliSense in Management Studio 2008 als auch.
quelle
Stellen Sie sicher, dass die ausgewählte Datenbank diejenige ist, in der sich die Tabelle befindet. Ich habe das Skript ausgeführt
Master
. In meinem Fall musste ich zu wechselnhr_db
.Rookie Fehler könnte aber jemandem helfen.
quelle
master
liegt daran, dass die Standarddatenbank für Ihre Benutzeranmeldung festgelegt ist. Ändern Sie dies einfachsp_defaultdb
in eine andere Datenbank, damit die andere Datenbank beim Anmelden in SSMS ausgewählt wird. (Kann auch in SSMS von festgelegt werdenSecurity > Logins > your user login > Properties > Default database
)Sobald Sie ein neues SQL Server-Objekt erstellt haben, wird Ihr neu erstelltes Objekt im lokalen IntelliSence-Cache nicht 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 aktualisiert haben,
IntelliSence
wird automatisch ein neu erstelltes Objekt in den Cache eingefügt, und die rote Linie verschwindet. Versuche diesEdit -> IntelliSense -> Refresh Local Cache
oder Ctrl+ Shift+Rquelle
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 Abfrageeditor verwendete immer nur diese Datenbank. Das Aktualisieren des Caches hat nichts geändert. Der Neustart von SSMS hat 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 tatsächlich verwenden wollte, und in diesem Kontextmenü "Neue Abfrage" ausgewählt habe. Jetzt verwendet SSMS die richtigen Objekte für IntelliSense.
quelle
Sind Sie sicher, dass die betreffende Tabelle vorhanden ist?
Haben Sie die Tabellenansicht im Objekt-Explorer aktualisiert? Klicken Sie dazu mit der rechten Maustaste auf den Ordner "Tabellen" und drücken Sie die F5Taste.
Möglicherweise müssen Sie auch den Intellisense-Cache erneut aktualisieren.
Befolgen Sie dazu die Menüroute: Bearbeiten -> IntelliSense -> Lokalen Cache aktualisieren
quelle
Die Lösung ist:
Das ist es.
quelle
Das gleiche Problem mit mir, als ich dieses Syntaxproblem verwendete, wurde gelöst.
Syntax:
quelle
Auch nach der Installation von SP3 auf SQL Server 2008 Enterprise ist dies immer noch ein "Problem". Ctrl+ Shift+ RWie jeder gesagt hat , dieses Problem für mich gelöst.
quelle
Gelöst für SSMS 2016.
Hatte ein ähnliches Problem, aber Intellisense war nicht im Menü Bearbeiten.
Was das Problem zu beheben schien, war das Ein- und Ausschalten von Intellisens. 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, ich mache das auch.
Dies löste das Problem und ich weiß auch, dass der Intellisense im Menü Bearbeiten angezeigt wird.
quelle
Ich musste nur SMSS schließen und erneut öffnen. Ich habe versucht, den lokalen Cache zu aktualisieren, und das hat nicht funktioniert.
quelle
Haben Sie versucht: Klicken Sie mit der rechten Maustaste auf die Datenbank und klicken Sie auf "Aktualisieren".
quelle
Mir ist klar, dass diese Frage bereits beantwortet wurde, aber ich hatte 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 später versuchen, auf sie zu verweisen.
Hinweis: Dies ist bei einem Skript, das ständig ausgeführt wird, nicht der Fall. Manchmal ist es jedoch einfacher, ein Skript mit Abfragen zum erneuten Referenzieren zu haben, als sie jedes Mal einzugeben.
quelle
Ich bin auf das Problem gestoßen mit: ODBC- und SQL-Server-Authentifizierung in ODBC und Firedac-Connection
Lösung: Ich musste das Param MetaDefSchema auf den Benutzernamen sqlserver setzen: FDConnection1.Params.AddPair ('MetaDefSchema', self.FDConnection1.Params.UserName);
Das Wikidoc lautet: MetaDefSchema = Standardschemaname. Der Entwurfszeitcode >> schließt << aus !! Der Schemaname aus dem Objekt SQL-Server-Authenticatoinname, wenn er MetaDefSchema entspricht.
Ohne Einstellung erstellt der automatische Codierer: Datenbankname.Benutzername.Tabellenname -> ungültiger Objektname
Wenn Sie MetaDefSchema auf sqlserver-username setzen: dbname.tabellenname -> funktioniert!
Siehe auch das Embarcadero-Dokument unter: http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_Microsoft_SQL_Server_(FireDAC)
Hoffe, es hilft jemand anderem ..
Grüße, Lutz
quelle
Drücken Sie im Azure Data Studio "cmd + shift + p" und geben Sie "Intellisense" ein. Anschließend wird eine Option zum Aktualisieren des Intellisense-Cache angezeigt.
quelle
Vergessen Sie nicht, Ihre Migrationen nach dem Schreiben der Modelle zu erstellen
quelle