2009-12-16 9 views
9

Wie bekomme ich die aktuelle Größe des Transaktionslogs? Wie bekomme ich die Größenbeschränkung?TSQL: Wie bekomme ich die Größe des Transaktionslogs?

Ich möchte dies überwachen, damit ich bestimmen kann, wie oft ich das Transaktionsprotokoll sichern muss.

Ich habe normalerweise ein Problem mit dem Transaktionslog, wenn ich große Operationen ausführen.

Antwort

14

Basierend auf SQL Server 2005, versuchen Sie diese

SELECT (size * 8)/1024.0 AS size_in_mb, 
    CASE WHEN max_size = -1 THEN 9999999 -- Unlimited growth, so handle this how you want 
    ELSE (max_size * 8)/1024.0 
     END AS max_size_in_mb 
FROM <YourDB>.sys.database_files 
WHERE data_space_id = 0 -- Log file 

ändern ihredb auf Ihre Datenbank Name

für eine Gesamt aller Datenbankgrößen versuchen DBCC SQLPERF

DBCC SQLPERF (LOGSPACE) 

Diese Arbeit sollte in SQL 2000/2005/2008

+0

Danke! Genau das, wonach ich gesucht habe! –

+0

Warum wird size_in_mb nicht auf 0 gesetzt, wenn ich das Transaktionslog sichern will? –

+0

Haben Sie nach der Sicherung des Transaktionslogs die Datenbank gelöscht, um Speicherplatz freizugeben? Welche Größe zeigt das Transaktionslog in den Eigenschaften für die Datenbank? – kevchadders

1

Wenn Sie es in Echtzeit überwachen möchten, versuchen Sie den Systemmonitor (perfmon), während Sie diese großen Operationen ausführen.

Perfmon kann in vielen verschiedenen Szenarien verwendet werden.

Erfahren Sie mehr aus Technet.

Verwandte Themen