-1

Nach einem SAN-Problem wurde eine SQL-Datenbank als Verdächtig markiert. Aufgrund des Ausmaßes der Inkonsistenzen erfolgte die Wiederherstellung aus einer gültigen Sicherung & Logbacks. Kein anderes System oder andere Benutzerdatenbanken hatten Probleme und CHECKDBs waren erfolgreich. Die wiederhergestellte Datenbank hatte auch eine erfolgreiche CHECKDB und die Anwendung wurde erneut aktiviert.DBCC CHECK erfolgreich - noch Vollständige DB-Sicherung, die abnormal beendet wurde

Die tägliche Sicherung ist jedoch in der Problemdatenbank fehlgeschlagen. CHECKDB ist weiterhin ohne Fehler erfolgreich. Voll, COPY_ONLY Sicherungen erzeugen die gleichen Fehler (habe auch versucht CONTINUE_AFTER_ERROR)

Msg 3203, Level 16, State 1, Line 3 
Read on "mydb.mdf" failed: 
23(failed to retrieve text for this error. Reason 15105) 
Msg 3203, Level 16, State 1, Line 3 
BACKUP DATABASE is terminating abnormally. 

ich im System Event auch

Das Gerät einzuloggen, \ Device \ Harddisk2 \ DR2, einen schlechten Block hat.

Der Server selbst wurde seither neu gestartet und SQL Server kam ohne Fehler wieder online. CHECKDB meldet weiterhin keine Fehler für irgendeine der Datenbanken - aber die Position verschlechtert sich mit keiner gültigen Sicherung jetzt für über eine Woche.

Andere Foren schlagen vor, dass dieser Fehler möglicherweise auf Dateizugriff/Berechtigungen oder nicht genügend Speicherplatz für die Sicherung zurückzuführen ist, aber dies ist nicht der Fall, nachdem versucht, mehrere unterschiedliche Standorte mit unterschiedlichen Anmeldeinformationen mit demselben Ergebnis zu sichern.

Ich stelle einen Prozess zusammen, um alle DB-Objekte zu exportieren und alle Daten in eine saubere Datenbank zu kopieren. Eine andere Option, die ich in Betracht gezogen habe, ist das Entfernen/Stoppen von SQL und das Kopieren der MDF-, NDF-, LDF-Dateien auf einen anderen Server, aber ich möchte SQL Server im Moment nicht stoppen, ohne zuerst die Daten zu sichern.

Ich würde gerne alle Gedanken, weitere Prüfungen, die ich durchführen könnte, während die DB online ist, um festzustellen, was der schlechte Block könnte sich darauf beziehen.

Screenshot 1 - zeigt, dass das Backup 70% durchläuft. 1

Antwort

0

Nur um zu sagen, dass wir die MDF-Datei abgeschlossen haben, ist nicht zu reparieren. Zu teilen wieder das Szenario

Mit dem schlechten Sektor in der MDF-Datei

  • die T-Log-Backups
  • die Datenbank gelungen war noch zugänglich/funktionierende
  • und CHECKDB auftaucht gut

Jedoch * Voll & Diff Sicherungen fehlgeschlagen * Die MDF-Datei konnte nicht kopiert werden, wenn die DB wurde abgelöst * noch die DB

Aufgrund einiger schlechten Dateiverwaltung & die verzögerte Identifizierung dieses ganze Thema

  • die Protokollkette werden gebrochen (aufgrund der begrenzten Protokollsicherungen Retention) in situ wieder angebracht werden könnten
  • war die einzige Lösung, ein altes Backup und schmerzhafte Kopie aus den Daten
wiederherzustellen