none
Temptabelle läßt sich nicht finden zum löschen RRS feed

  • Frage

  • Hallo zusammen,

    ich habe es irgendwie geschafft eine Temporäre Tabelle (#Temp1) mit dem Befehl 

    SELECT * INTO tempdb.dbo.#Temp1

    zu erstellen aber ich kann sie nicht finden und wieder löschen. Ich wollte nur kurz was testen und jetzt funktioniert keine Abfrage mehr, die eine Tabelle mit #Temp1 erstellen möchte!

    Der Befehl 

    SELECT * FROM tempdb.dbo.sysobjects WHERE ID = OBJECT_ID(N'tempdb..#Temp1')

    ergibt keinen Treffer. Ich habe schon versucht mit Drop Table zu arbeiten aber hilft auch nicht. Ich habe auch schon den SQL-Server neu gestartet aber bringt auch nichts.

    Wie werde ich diese Tabelle wieder los?! Ich bin für jeden Tipp dankbar!

    Mittwoch, 27. Dezember 2017 16:48

Antworten

  • Ich habe auch schon den SQL-Server neu gestartet aber bringt auch nichts.

    Hallo,

    das ist schon mal unmöglich; locale temporäre Tabellen werden bereits automatisch gelöscht, wenn die Session geschlossen wird, aus der sie erstellt wurde. Und beim SQL Server wird die gesamte TempDB komplett gelöscht und neu erstellt; unmöglich das da eine temporäre oder permanente Tabelle überbleibt.

    Da suchst Du an der falschen Stelle.

    Welche Probleme treten wo auf und welche Fehlermeldungen gibt es?

    Vorhandensein von temporären Tabellen kannst Du so prüfen:

    SELECT * INTO tempdb.dbo.#Temp1 FROM sys.objects;
    GO
    
     SELECT OBJECT_ID('tempdb.dbo.#Temp1')
     GO


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Mittwoch, 27. Dezember 2017 17:00
  • Hallo,

    danke für die schnelle Rückmeldung aber ich habe das Problem gefunden.

    Ich hatte vergessen in meiner Procedure die SELECT Zeile mit von "INTO" zu "INSERT INTO" anzupassen. Er hat quasi jedes mal die Tabelle doppelt erzeugen wollen.

    Das hätte mir eigentlich gleich auffallen müssen aber habe als an der falschen stelle gesucht...

    Mittwoch, 27. Dezember 2017 17:13

Alle Antworten

  • Ich habe auch schon den SQL-Server neu gestartet aber bringt auch nichts.

    Hallo,

    das ist schon mal unmöglich; locale temporäre Tabellen werden bereits automatisch gelöscht, wenn die Session geschlossen wird, aus der sie erstellt wurde. Und beim SQL Server wird die gesamte TempDB komplett gelöscht und neu erstellt; unmöglich das da eine temporäre oder permanente Tabelle überbleibt.

    Da suchst Du an der falschen Stelle.

    Welche Probleme treten wo auf und welche Fehlermeldungen gibt es?

    Vorhandensein von temporären Tabellen kannst Du so prüfen:

    SELECT * INTO tempdb.dbo.#Temp1 FROM sys.objects;
    GO
    
     SELECT OBJECT_ID('tempdb.dbo.#Temp1')
     GO


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Mittwoch, 27. Dezember 2017 17:00
  • Hallo,

    danke für die schnelle Rückmeldung aber ich habe das Problem gefunden.

    Ich hatte vergessen in meiner Procedure die SELECT Zeile mit von "INTO" zu "INSERT INTO" anzupassen. Er hat quasi jedes mal die Tabelle doppelt erzeugen wollen.

    Das hätte mir eigentlich gleich auffallen müssen aber habe als an der falschen stelle gesucht...

    Mittwoch, 27. Dezember 2017 17:13