TSQL: как получить размер журнала транзакций?
Как получить текущий размер журнала транзакций? Как получить ограничение по размеру?
Я хотел бы контролировать это, чтобы я мог определить, как часто мне нужно делать резервную копию журнала транзакций.
У меня обычно возникают проблемы с журналом транзакций при выполнении больших операций.
2 ответов
на основе SQL Server 2005, попробуйте это
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
изменить YourDB к имени вашей базы данных
для общего всех размеров базы данных попробуйте DBCC SQLPERF
DBCC SQLPERF (LOGSPACE)
Это должно работать в SQL 2000/2005/2008
Если вы хотите контролировать его в режиме реального времени, попробуйте perfmon во время выполнения этих больших операций.
Perfmon может использоваться во многих различных сценариях.
узнайте больше в TechNet.