Re: Fehler nach dbcc checkdb ... repair_allow_data_loss



Hallo Carsten,

carsten burk <carsten.burk@xxxxxxxx> schrieb ...
On Sun, 30 Jul 2006 17:48:48 +0200, "Elmar Boye" <ElmarB@xxxxxxx>
Welches Service Pack?
Ich frage, weil DBCC CHECKDB bei späteren Service Packs
(SP3/SP4) einige Verbesserungen erfahren hat.
Allerdings solltest Du vorsichtig mit Servicepacks sein, solange
die Fehler bestehen -> vorher auf jeden Fall alle Datenbanken
(System- und Benutzerdatenbanken) sichern.

Da bin ich eigentlich mit dem SP4 aktuell.

Nein, nicht ganz.

Wenn ich select @@version eingebe bekomme ich diese Meldung:
Microsoft SQL Server 2000 - 8.00.818 (Intel X86) May 31 2003
16:08:15

Das ist SP3a mit einem Security Patch.
Aber da sollte DBCC CHECKDB schon "gut genug" funktionieren.


Habe ich jetzt versucht und das Ergebnis gespeichert.
Die ersten drei mal wurde es immer weniger, aber nun leider nicht
mehr. Fehler sind aber immer noch vorhanden.
Hier mal ein Auszug.

Server: Nachr.-Nr. 8904, Schweregrad 16, Status 1, Zeile 1
Block (1:92960) in Datenbank-ID 8 ist von mehreren
Reservierungsobjekten reserviert.
Server: Nachr.-Nr. 8913, Schweregrad 16, Status 1, Zeile 1
Block (1:92960) ist für 'SGAM' und mindestens ein weiteres Objekt
reserviert.
Server: Nachr.-Nr. 8913, Schweregrad 16, Status 1, Zeile 1
Block (1:96160) ist für 'SGAM' und mindestens ein weiteres Objekt
reserviert.
Server: Nachr.-Nr. 8928, Schweregrad 16, Status 1, Zeile 1
Objekt-ID 0, Index-ID 0: Seite (1:96166) konnte nicht verarbeitet
werden.

Leider schweigt sich Microsoft da aus wenn die
"repail_allow_data_loss" Funktion nicht alle Fehler beseitigen kann.

DBCC CHECKDB ist kein Wundermittel. Es kann nur versuchen,
die Fehler zu beseitigen, was nicht in allen Fällen gelingt
(gelingen kann).

Bleiben die Fehler jedoch hartnäckig, so wirst Du nicht darum
kommen, alle Daten in eine neue Datenbank zu übertragen.

Und deswegen solltest Du nun den Weg weiterverfolgen.

Danke für den Tip. Ich habe gesehen das Du hier schon öfter diesen Tip
als letzte Rettung genannt hast. Ich muß mich erst mal schlau lesen
wie ich diesen Assistenten starte und wo genau der Unterschied
zwischen DTS und BCP ist.

DTS ist mehr was für Leute, die was sehen wollen ;-)
Zunächst musst Du allerdings eine neue Datenbank-Struktur
anlegen, denn die jetzige mag an sich beschädigt sein.
Dazu solltest Du ggf. KHK noch mal in Anspruch nehmen,
falls das nicht über eine Mandantenanlage oder ähnliches
funktioniert.

Und im übrigen Deinen KHK Händler konsultieren, welche
Tabellen auf jeden Fall intakt sein müssen. Ggf. kann der
Dir auch beim Übertragen helfen.

Leider nein. Unser Sage Support hat die Datenbank auch nicht richtig
hinbekommen. Zudem war das auch nicht gerade billig.
Da ich nur ein begrenztes Budget zu Verfügung habe will ich
eigentlich eher in Hardware investieren.

Das sollte kaum aus dem Investitions-Budget kommen -
wenn der Chef nichts rausrücken will, frage ihn wie
lange er auf die Rechnungen verzichten möchte.
Und die schönste Hardware nutzt nichts, wenn Du keine
funktionierende Datenbank hast ;-)

Allerdings sollte ein RAID 5 solche Fehler verhindern - was
vermuten lässt das die ursprüngliche Hardware nicht so
dolle war. Beachte, auch Speicherfehler (wenn ohne ECC
ggf. unentdeckt) können ebenfalls solche Symptome haben.

Und sobald alles wieder läuft: Richte eine regelmässige
Datensicherung ein.

Das ist ja das komische. Die Datensicherung hatte ich ja an.
Aber in allen Sicherungen sind Inkonsistenzen vorhanden.

Sobald die Fehler drin sind, werden sie mitgesichert, das ist leider so.

Im Sicherungsplan ist der Punkt "Datenbankintegrität prüfen" nicht
aktiviert. Das liegt aber auch daran weil es sehr lange dauert und
ich dann mit meinen Backup-Jobs nicht hinkomme.

Die Datenbankintegrität solltest Du dann mindestens am Wochenende
laufen lassen (und die Berichte am Montag lesen).

Das Büro ist teilweise bis 22.00 Uhr besetzt. Und um 6.00 Uhr dann
wieder. Das sind zwar 8 Stunden, aber teilweise arbeiten die Leute
auch per Remote von zuhause aus. Eine Sicherung der DB kann ich nur
zwischen 0:00 und 4:00 Uhr machen.

Du kannst jederzeit sichern, die Leute können dabei weiterarbeiten.
Und ausser der Vollsicherung nächtens solltest Du bei solcher
Daueraktivität weitere Protokollsicherungen einschieben
(stündlich oder so) - das hätte unter Umständen noch
die Möglichkeit ergeben aus einer alten defekten Sicherung
und den Protokollsicherungen auf den aktuellen Stand
zu kommen.
Lies Dir auf jeden Fall mal Sichern und Wiederherstellen
in der SQL Server Online Dokumentation durch.

Als erstes mache ich eine tägliche Sicherung auf das Raid

Wenn möglich auf eine andere Platte - denn sollte der RAID
spinnen, ist ggf. auch Deine Sicherung kaputt.
Die Sicherungsplatte brauch auch kein RAID sein (wenn Du
sowies gerade getauscht hast, ist ja vielleicht eine übrig).

Gruss
Elmar

.



Relevant Pages

  • Re: Fehler beim Sichern der SQL Datenbank
    ... Datenbank muss sich im Einzelbenutzermodus befinden. ... Die folgenden Fehler sind aufgetreten: ... Die Sicherung wurde nicht durchgefhrt, ... ob noch Benutzer angemeldet sind. ...
    (microsoft.public.de.sqlserver)
  • =?Utf-8?Q?Re:_DB_Fehlerverd=C3=A4chtig._Nix_l=C3=A4u?= =?Utf-8?Q?ft_mehr?=
    ... Dann dürften die Datenbank vermutlich was abbekommen haben. ... Schau zunächst ins SQL Server Protokoll, welche Fehler dort angezeigt werden. ... SQL Server stoppen und erneut starten. ... DBCC checkdb funktioniert nicht, da die DB´s garnicht ansprechbar sind. ...
    (microsoft.public.de.sqlserver)
  • Offline defrag der priv1.edb jetzt Probleme
    ... nur jetzt bei der Sicherung ... bekomme ich mit Veritas Backup Exec 9.0 einen Fehler. ... Datenbank kann nicht wiederhergestellt werden." ...
    (microsoft.public.de.exchange)
  • Fehler 3197 bei Zugriff mit dao 3.5 auf eine Access ODBC Datenbank
    ... Dabei erkennt man oft seine Fehler in der Vorgehensweise. ... Aufm SQL-Server kann der ... >Zugriff auf die oben beschriebene Datenbank über Ado 2.8 ... Fehler/falsche Vorgehensweise in der Programmierung ...
    (microsoft.public.de.vb.datenbank)
  • Re: Kann man mir mal erklären wie man mit ADO.net "richtig" umgeht?
    ... > wer hat denn die Feldtypen deiner Datenbank und deines DataSets festgelegt? ... DataTables "Dim DT As New DataTable" angelegt und so leer wie ... tritt dann der Fehler auf, das versucht wurde Feld xxx einen String an ... vor dem Fill selbst, dann wird auch die fehlererzeugende Spalte ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)