Frage

Ich habe eine Datenbank, die zeigt sich im SQL-Enterprise-Manager als "(Wiederherstellen...)"

Wenn ich SP_WHO es gibt keine Wiederherstellung.

Die Festplatte und die CPU-Aktivität auf dem server ist sehr gering

Ich denke, es ist nicht die Wiederherstellung überhaupt.

Wie kann ich loswerden dieser?

Ich habe versucht, die Umbenennung der zugrunde liegenden MDF-Datei, aber auch wenn ich "NET STOP MSSQLSERVER" es sagt mir, dass die Datei geöffnet ist.

Ich habe versucht, mit PROCEXP zu finden, welcher Prozess die Datei geöffnet, aber sogar die neuesten PROCEXP kann nicht scheinen zu tun, die auf Windows Server 2003 R2 x64.Die unteren Fenster-Ansicht leer ist.

In der SQL Server-Protokoll es sagt, "die Datenbank ist gekennzeichnet WIEDERHERSTELLEN und ist in einem Zustand, der keine Wiederherstellung ausgeführt werden"

War es hilfreich?

Lösung

Sql Server hat zwei backup-Typen:

  • Voll-backup enthält die gesamte Datenbank
  • Transaktionsprotokoll-backup enthält nur die änderungen seit dem letzten voll-backup

Beim wiederherstellen von Sql Server werden Sie gefragt, ob Sie wiederherstellen möchten weitere Protokolle nach dem backup.Wenn Sie diese option wählen, heißt MIT NORECOVERY, wird die Datenbank im Wiederherstellungsstatus.Es warten weitere Transaktionsprotokolle wiederhergestellt werden.

Sie können erzwingen, dass es out-of-Wiederherstellung-Modus mit:

RESTORE DATABASE <DATABASE_NAME> WITH RECOVERY

Wenn dieser Befehl gibt eine Fehlermeldung, die Datenbank zu trennen, entfernen Sie die MDF-Dateien, und starten Sie die Wiederherstellung neu.Wenn es weiterhin fehlschlägt, Ihre backup-Datei ist möglicherweise beschädigt.

Hier ist ein screenshot von der restore-Optionen, die standardmäßig ausgewählt.Die zweite option wird belassen Sie die Datenbank im Wiederherstellungsstatus.

Bild des restore-Optionen http://img193.imageshack.us/img193/8366/captureu.png

P. S. 1.Sind Sie mit der 64 bit-version von process explorer?Stellen Sie sicher, dass Sie sehen, procexp64.exe im task-manager.

P. S. 2.Dies ist mehr wie eine Frage für serverfault.

Andere Tipps

MIT RECOVERY-option wird standardmäßig verwendet, wenn die DATENBANK WIEDERHERSTELLEN/RESTORE LOG-Befehle, die ausgeführt wird.Wenn Sie sind stecken in den "wiederherstellen" - Prozess können Sie bringen eine Datenbank zu online-Status durch ausführen von:

RESTORE DATABASE YourDB WITH RECOVERY
GO

Können Sie suchen für mehr Optionen und einige Dritte-party-tools auf diesem SO post https://stackoverflow.com/a/21192066/2808398

Wenn Sie versuchen, um loszuwerden, die Sperre für die Datei, die ich würde empfehlen, immer entsperren http://www.emptyloop.com/unlocker/

Es ' ll geben Sie eine option aus, um die Datei zu entsperren, oder beenden Sie den Prozess, der die Datei gesperrt hat.Führen Sie diese auf die mdf-und ldf-Dateien.

Eine weitere option ist, um zu versuchen, um zu Lösen die Dateien, die in Enterprise Manager oder Sql Management Studio, und dann bringen Sie die db.Sie können versuchen, diese vor der Ausführung von unlocker, um zu sehen, wenn sql server wird nur lassen Sie die mdf-und ldf-Dateien.

VORSICHT:Wenn Sie den Prozess gehen möglicherweise Daten verloren oder die Daten könnten beschädigt werden, so benutzen Sie diese nur, wenn Sie versuchen, es loszuwerden, und Sie haben eine gute und geprüfte Sicherung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top