2009-09-03 9 views
7

Auf einem SQL Server 2000-System habe ich eine templog.ldf-Datei, die ohne Bindung zu wachsen scheint! Aber wenn ich es überprüfe, gibt es nie eine offene Transaktion in der tempdb (mit DBCC OPENTRAN), noch verwende ich explizite Transaktionen innerhalb von tempdb.SQL Server Tempdb LOG-Datei wächst

Ich verwende jedoch temporäre Tabellen innerhalb meiner gespeicherten Prozeduren. Und wer weiß, was ASP.NET-Datenzugriffsobjekte hinter den Kulissen tun können? Die Datenbank unterstützt eine ASP.NET-Website.

Unabhängig davon ist die Tempdb.mdf-Datei - die Tempdb-Datendatei - eine recht vernünftige 700 MB. Die Datei templog.ldf kann an einem Tag auf 30 GB anwachsen! Wahrscheinlich mehr, wenn ich nicht genug Speicherplatz hatte. Ich lasse die # Tables nicht explizit in den gespeicherten Procs fallen, aber die MDF-Datei scheint nie wieder sehr groß zu werden.

Warum würde das Transaktionslog wachsen, wenn keine ausstehenden Transaktionen vorhanden sind? Übernimmt das Transaktionsprotokoll jemals Speicherplatz? Auch DUMP TRAN WITH NO_LOG schrumpft weder die Datei noch ein CHECKPOINT-Ereignis durch trunc. anmelden chkpt ist auf tempdb aktiviert. Stoppen der SQL Server löscht die Tempdb (und wahrscheinlich DBCC SHRINKFILE würde, aber ich habe das nicht getan).

Danke für Ihre Hilfe!

+0

Sie könnten versuchen, die gleiche Frage auf http://serverfault.com/ zu stellen. Ich bin sicher, dass Sie dort bessere Antworten bekommen werden ... –

Antwort