SQL 2000 SP3: Fehler 9002 Die Protokolldatei für die tempdb-Datenbank ist voll ...

02/02/2009 - 14:29 von Gerald Aichholzer | Report spam
Hallo NG,

bei einem Kunden taucht im EventLog immer folgender Fehler auf,
wenn in der Applikation ein ETL-Prozess durchgeführt wird:

Fehler: 9002, Schweregrad: 17, Status: 6
Die Protokolldatei für die tempdb-Datenbank ist voll. Sichern
Sie das Transaktionsprotokoll für die Datenbank, um Protokoll-
speicherplatz freizugeben.

Der ETL-Prozess ist dabei "manuell" mit .NET ausprogrammiert.
Daten werden vom Vorsystem (Navision) in eine Staging-DB und
anschließend von dieser in die Programm-DB übertragen.

Staging- und Programm-DB haben das Wiederherstellungsmodell
"Einfach". Beide (und auch die TempDB) sind so konfiguriert,
dass sich sowohl Datenbank als auch Transaktionsprotokoll
automatisch vergrößern.

Wàhrend dem ETL-Prozess, der ca. 10 Minuten dauert und ca.
200.000 Datensàtze bewegt, bleiben die Dateigrößen der temp.
Datenbankdateien (mdf ca. 50MB, ldf 1280kB) unveràndert.

Was kann der Fehler für Ursachen haben bzw. wo kann ich noch
suchen?

vielen Dank und schöne Grüße,
Gerald
 

Lesen sie die antworten

#1 Elmar Boye
02/02/2009 - 14:44 | Warnen spam
Hallo Gerald,

"Gerald Aichholzer" schrieb ...
bei einem Kunden taucht im EventLog immer folgender Fehler auf,
wenn in der Applikation ein ETL-Prozess durchgeführt wird:

Fehler: 9002, Schweregrad: 17, Status: 6
Die Protokolldatei für die tempdb-Datenbank ist voll. Sichern
Sie das Transaktionsprotokoll für die Datenbank, um Protokoll-
speicherplatz freizugeben.



Lege einen größeren Wert für tempdb gleich zu Beginn fest
und achte darauf dass ein ausreichender Maximalwert existiert.
Anstatt eines prozentualen Wertes solltest Du eher eine
Megabyte-Angabe vorgeben.

Der ETL-Prozess ist dabei "manuell" mit .NET ausprogrammiert.
Daten werden vom Vorsystem (Navision) in eine Staging-DB und
anschließend von dieser in die Programm-DB übertragen.



Eine starke Nutzung von tempdb weist darauf hin, das der
eine oder andere Index nicht schaden könnte.

Wenn Transaktionen verwendet werden, sollten sie nicht
zu groß sein, da dadurch u. U. das Abschneiden von tempdb
verhindert wird.

Gruß Elmar

Ähnliche fragen