Benutzer mit den meisten Antworten
SQL Server 2012 findet Tabellen nicht

Frage
-
Hallo,
ich nutze seit gestern den SQL Server 2012 mitsamt dem Management Studio. Wenn ich nun eine Test Tabelle anlegen mit entsprechenden Einträgen und diese nun via Abfrage aufrufen möchte:
SELECT * FROM TestTabelle
wird TestTabelle rot unterstrichen und wird nicht gefunden.
die dbo dbo.TestTabelle ist aber vorhanden.
Zudem bin ich auch Youtube Tutorial gefolgt, was bei mir leider nicht funktioniert.
Wo ist der Fehler ?
Antworten
-
wird TestTabelle rot unterstrichen und wird nicht gefunden.
Das ist bloss IntelliSense, die Dir den Tabellennamen als vermeintlich fehlend mit einer roten Linie markiert, weiter nichts. Wenn Du eine neue Tabelle anlegst, bekommt IntelliSense das nicht sofort mit. Einfach ignorieren, oder übers Menu "Bearbeiten" => "IntelliSense" => "Refresh Local Cache" aufrufen, nach ein paar Sekunden ist dann die neue Tabelle bekannt und die Markierung wird aufgehoben.Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort markiert LandsHeer Mittwoch, 7. August 2013 06:41
- Tag als Antwort aufgehoben Christoph MuthmannEditor Mittwoch, 7. August 2013 07:33
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Dienstag, 13. August 2013 08:05
Alle Antworten
-
Rechte Maustaste auf die Tabelle und die obersten 1000 Sätze anzeigen lassen.
Dann sollte die Verbindung richtig stehen und das SQL zu sehen sein.
Einen schönen Tag noch,
Christoph Muthmann
Microsoft SQL Server MVP -funktioniert nicht, es wird dann folgendes aufgelsitet:
/****** Skript für SelectTopNRows-Befehl aus SSMS ******/
SELECT TOP 1000 [ID]
,[FirstName]
,[LastName]
,[Adresse1]
,[Adresse2]
,[City]
,[PostalCode]
,[Province]
,[Salary]
,[Age]
,[Department]
FROM [Testdatebank.[dbo].[TestTabelle]allerdings alles in den eckigen Klammern ist rot unterstrichen und beim Ausführen passiert nichts.
-
Aber ein
Select * FROM [Testdatebank.[dbo].[TestTabelle]
mit F5 zum ausführen bringt gar nichts? Keine Meldung, keine Reaktion?
Welche Rechte hat der angemeldete User?
Einen schönen Tag noch,
Christoph Muthmann
Microsoft SQL Server MVP - Blog -
Aber ein
Select * FROM [Testdatebank.[dbo].[TestTabelle]
mit F5 zum ausführen bringt gar nichts? Keine Meldung, keine Reaktion?
Welche Rechte hat der angemeldete User?
Einen schönen Tag noch,
Christoph Muthmann
Microsoft SQL Server MVP - -
Was liefert denn ein:
Use MeineDatenbank;
SELECT * FROM sys.tables
GOselect * from sys.columns where object_id = OBJECT_ID('dbo.TestTabelle')
?
Andreas Wolter | Microsoft Certified Master SQL Server
Blog: www.insidesql.org/blogs/andreaswolter
Web: www.andreas-wolter.com -
wird TestTabelle rot unterstrichen und wird nicht gefunden.
Das ist bloss IntelliSense, die Dir den Tabellennamen als vermeintlich fehlend mit einer roten Linie markiert, weiter nichts. Wenn Du eine neue Tabelle anlegst, bekommt IntelliSense das nicht sofort mit. Einfach ignorieren, oder übers Menu "Bearbeiten" => "IntelliSense" => "Refresh Local Cache" aufrufen, nach ein paar Sekunden ist dann die neue Tabelle bekannt und die Markierung wird aufgehoben.Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort markiert LandsHeer Mittwoch, 7. August 2013 06:41
- Tag als Antwort aufgehoben Christoph MuthmannEditor Mittwoch, 7. August 2013 07:33
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Dienstag, 13. August 2013 08:05
-
wird TestTabelle rot unterstrichen und wird nicht gefunden.
Das ist bloss IntelliSense, die Dir den Tabellennamen als vermeintlich fehlend mit einer roten Linie markiert, weiter nichts. Wenn Du eine neue Tabelle anlegst, bekommt IntelliSense das nicht sofort mit. Einfach ignorieren, oder übers Menu "Bearbeiten" => "IntelliSense" => "Refresh Local Cache" aufrufen, nach ein paar Sekunden ist dann die neue Tabelle bekannt und die Markierung wird aufgehoben.
Olaf Helper
Edit: AH super jetzt funktioniert alles, also lags wohl einfach nur an IntelliSense das es noch nicht refreshed wurde, allerdings konnte ich den Fehler nicht ignorieren da bei Ausführung immer eine Fehlermeldung angezeigt wurde und nichts ausgeführt wurde.
- Bearbeitet LandsHeer Mittwoch, 7. August 2013 06:41
-
allerdings konnte ich den Fehler nicht ignorieren da bei Ausführung immer eine Fehlermeldung angezeigt wurde und nichts ausgeführt wurde.
Wenn Du eine Fehlermeldung bekommst, dann liegt das nicht an IntelliSense, sondern daran, das es die Tabelle in der Datenbank, mit der Du aktuell verbunden bist, wirklich nicht existiert.
Du hast nicht zufällig die Datenbank mit einer Case Sensitive Collation angelegt und Dich im SQL Statement mit der Groß-/Kleinschreibung vertan?
Olaf Helper
[ Blog] [ Xing] [ MVP] -
Dann würde ja das über das SSMS generierte Statement funktionieren. Es sollte schon an den Berechtigungen liegen.
Warten wir die Antwort auf die Frage von Andreas ab. Das Skript zeigt, was der User wirklich sieht.
Einen schönen Tag noch,
Christoph Muthmann
Microsoft SQL Server MVP - Blog -
funktioniert nicht, es wird dann folgendes aufgelsitet:
/****** Skript für SelectTopNRows-Befehl aus SSMS ******/
SELECT TOP 1000 [ID]
,[FirstName]
,[LastName]
,[Adresse1]
,[Adresse2]
,[City]
,[PostalCode]
,[Province]
,[Salary]
,[Age]
,[Department]
FROM [Testdatebank.[dbo].[TestTabelle]allerdings alles in den eckigen Klammern ist rot unterstrichen und beim Ausführen passiert nichts.
In diesem Statement fehlt eine schließende eckige Klammer hinter "FROM [Testdatebank".
Es wundert mich aber sehr, dass das SSMS ein fehlerhaftes Script generiert..
-
Es sollte schon an den Berechtigungen liegen.
Christoph, Wenn die SELECT Recht auf der Tabelle fehlen würde, hatte er mit 99% wahrscheinlich auch keine VIEW DEFINITION Rechte und ohne könnte er das Script nicht generieren lassen.
Der Einwand von Phil passt aber auch gut und es wundert schon, das der Datenbank-Name auch leicht merkwürdig ist
FROM [Testdatebank.[dbo].[TestTabelle]
Olaf Helper
[ Blog] [ Xing] [ MVP] -
Das könnte auch ein Fehler beim Editieren für das Forum gewesen sein. Ansonsten sollte zumindest diese Meldung kommen:
Meldung 208, Ebene 16, Status 1, Zeile 1
Invalid object name 'Testdatebank.[dbo.TestTabelle'.Aber die Frage ist berechtigt, ob hier auch der Client auf einem aktuellen Patch-Level ist. (2012 SP1)
Einen schönen Tag noch,
Christoph Muthmann
Microsoft SQL Server MVP - Blog -
Ich denke da ist beim Kopieren etwas schiedgegangen.
Für Object Not Found wird ein klarer fehler ausgworfen und nicht Nichts.Gleiches gilt bei Berechtigungsproblemen.
Ich wundere mich daher über die Aussage, "beim Ausführen passiert nichts".
Meinen Script noch mal leicht verbessert:
Use MeineDatenbank;
SELECT * FROM sys.tables
where object_id = OBJECT_ID('dbo.TestTabelle')
GO
select * from sys.columns where object_id = OBJECT_ID('dbo.TestTabelle')Theoretisch kann man auch das "F5" verbiegen, das es wirklich nichts mehr tut.
Daher um sicherzugehen den Knopf mit dem roten Ausrufezeichen und dem Wort "Ausführen" bzw "Execute" im englischen SSMS suchen
Oder per Rechtsklick in das Fensterchen wo die Abfrage steht, und im DropDown dann dieses Icon suchen - sicherer gehts dann nicht :)
Andreas Wolter | Microsoft Certified Master SQL Server
Blog: www.insidesql.org/blogs/andreaswolter
Web: www.andreas-wolter.com -
Hallo,
ist die Thematik abgeklärt?
Wenn ja, bitte auch die Antworten markieren, die Dir geholfen haben. So dass auch andere davon profitieren können.
Gruss,
RaulRaul Talmaciu, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.