SQL Server “Suspect” -Datenbank?

40

Was machen Sie, wenn Sie eine Datenbank haben, die als markiert ist Suspect?

Von der letzten Sicherung wiederherstellen?

Bitte beraten.

db7
quelle

Antworten:

41

Stellen Sie als Erstes sicher, dass Sie diese Datenbank NICHT trennen.

Das Wiederherstellen vom letzten bekannten Goodbackup ist in Ordnung. Andernfalls müssen Sie den Notreparaturmodus verwenden (ich gehe davon aus, dass Sie SQL 2005 oder höher ausführen). Hier sind ein paar Beiträge von Paul Randal zu diesem Thema. Lesen Sie beide, bevor Sie Maßnahmen ergreifen.

Erstellen, Trennen, erneutes Anhängen und Reparieren einer SUSPECT-Datenbank

NOT-AUS-Reparatur: der allerletzte Ausweg

SQLRockstar
quelle
5

So ziemlich ja.

Im Allgemeinen bedeutet dies, dass die Dateien bollixiert sind oder fehlen, oder dass ein Datenträgerfehler oder dergleichen vorliegt (ich habe gesehen, dass ein fehlerhafter Sektor dies verursacht).

Meine Schritte:

  • Stellen Sie sicher, dass alle Backups vorhanden sind
  • Fahren Sie SQL Server herunter
  • chkdsk die von SQL Server verwendeten Festplatten (hoffentlich nicht Ihr C: natürlich)

Edit: Ich werde meine Antwort klären

  • Wenn die Daten wichtig sind, werde ich ein Backup haben
  • Ausfallzeiten beim Herumspielen mit Reparaturen und Notbetrieb sind mir zu lang
gbn
quelle
5

Ich habe eine Anleitung dazu für 2 Fälle von verdächtiger Datenbank geschrieben: Wenn Sie die Datendatei oder die Protokolldatei verloren haben. Bitte lesen Sie folgendes:

yrushka
quelle
5
Also hier ist die Sache: Stack Exchange funktioniert nicht, wenn Sie nur Links posten. Sie müssen lediglich den Inhalt der Links zusammenfassen.
Andernfalls muss
4

Aus Ihrer Frage geht hervor, dass Sie ein Backup haben. Das Wiederherstellen der Datenbank aus einer guten Sicherung ist der einfachste und schnellste Weg, um die Datenbank betriebsbereit zu machen und den verdächtigen Zustand zu überwinden.

StanleyJohns
quelle
5
Sie verlieren jedoch Daten, wenn Sie nicht über die Transaktionsprotokolle verfügen.
Mrdenny
0

Mein erster Rat ist: Trennen Sie niemals die verdächtige Datenbank. Das Wiederherstellen der Datenbank aus einer aktualisierten Sicherung ist hilfreich. Wenn das Backup nicht verfügbar ist oder ein Problem aufgetreten ist, EMERGENCYkann der Modus hilfreich sein:

Versetzen Sie die Datenbank in den Notfallmodus:

ALTER DATABASE DB_NAME SET EMERGENCY

Überprüfen Sie nun die Datenbankinkonsistenzen mit diesem:

DBCC CHECKDB (‘DB_NAME’)

DBCC CHECKDB-Reparaturoption "Datenverlust zulassen" ist der letzte Ausweg. Das Ergebnis kann ein Datenverlust sein. Ich empfehle daher nicht, ihn auszuführen.

Überprüfen Sie auch Referenz 1 und Referenz 2

Priyanka
quelle