SQL Server: versteckte Tabelle?

2 Antworten

Wenn mit Transaktionen gearbeitet wird, fehlt nach dem Schreiben die Bestätigung mit der COMMIT WORK Anweisung. Innerhalb der Transaktion kann nach dem Insert der geschriebene Satz noch mit SELECT gelesen werden. Nach dem Ende der Transaktion (z.B. Abbruch ohne commit) werden die unbestätigten Veränderungen wieder zurückgenommen und damit der Zustand vor dem INSERT hergestellt.

Wenn in einem Vorgang an mehreren Stellen Änderungen vorgenommen werden, kann damit sichergestellt werden, dass entweder alles vollständig oder nichts geändert wird. Die Datenbank wird dadurch von einem konsistenten Zustand in eine neue konsistente versetzt, ohne zwischenzeitlich inkonsistent zu sein. Nach einem Systemabsturz und erneutem Start werden erst die Fragmente der nicht abgeschlossenen Transaktionen entfernt, bevor die Datenbank für den Betrieb freigegeben wird.

Hallo,

in einem solchen Fall startest Du am Besten den Profiler über die Managementkonsole. Wenn er läuft, führst Du das Insert aus, danach stopst Du den Profiler wieder (nicht vergessen!). Danach kannst Du alle Befehle sehen die ausgeführt wurden mit deren Ergebnissen und ggfs. Servermeldungen. 

Das sieht oft ein bisschen Durcheinander aus, weil man erst dann sieht, was sich im Hintergrund alles abspielt, aber es ist im Endeffekt ein tolles Werkzeug, welches schon so manche Ungereimtheiten geklärt hat. 

Leider kenne ich weder Deine Software noch das System, daher fällt die Antwort etwas knapp aus. Weitere Infos zum Profiler findest Du in der MSDN unter https://msdn.microsoft.com/de-de/library/ms181091.aspx

Hoffe das hilft!?