Heute wird nach einem Stromausfall in einer Datenbank (mit Wiederherstellung: voll) "In Wiederherstellung" in SSMS angezeigt. So:
myDatabase (In Wiederherstellung) (Datenbankstatus: Wiederherstellung, Herunterfahren)
Nach Beendigung des "Wiederherstellungsprozesses" zeigt die Datenbank den Namen myDatabase ohne "(In Wiederherstellung)". Ich dachte, das Problem sei gelöst, aber nicht.
Beim Starten der Anwendung, die diese Datenbank verwendet, wird der zusätzliche Text "(In Wiederherstellung)" erneut neben dem Namen meiner Datenbank angezeigt.
Ich habe gewartet, bis der "Wiederherstellungsprozess" abgeschlossen ist, und dann die Datenbank offline geschaltet und wieder online geschaltet.
Ich habe den Server neu gestartet, den Computer neu gestartet und als meine Anwendung ausgeführt wurde, wird der zusätzliche Text erneut angezeigt. In den SQL Server-Protokollen wird mehrmals die Meldung "Datenbank 'myDatabase' wird gestartet" angezeigt. Es scheint, dass die Datenbank funktioniert, weil ich Daten einfügen kann, aber der Status zeigt, dass etwas passiert.
Das Serverprotokoll zeigt nichts Interessantes an. Das einzig Abnormale ist, dass ich 30 Einträge von "Datenbank 'myDatabase' starten" habe.
Ich weiß, dass beim Start des Servers jede Datenbank eine Wiederherstellung durchläuft, bevor sie einsatzbereit ist. In meinem Fall wird die Datenbank jedoch online geschaltet und zeigt dann "myDatabase (In Recovery)" an. Wenn ich die Anwendung schließe, wechselt die Datenbank zu Status: Normal. Das macht mich verrückt.
Ich habe sogar eine neue Instanz von SQL Server installiert und die alte Datenbank "myDatabase" darauf abgelegt. Das Problem tritt immer noch auf.
Wenn ich diese Abfrage ausführe:
SELECT databasepropertyex('nyDatabase', 'STATUS')
Es zeigt die Wiederherstellung, online, verdächtig und das Zurück zu online und dann die Wiederherstellung und so weiter.