Я обнаружил, что файл журнала базы данных SQL быстро увеличивался и заполнял пространство жесткого диска, рост составлял примерно 190 МБ в день.
на сервере работает Sharepoint, как я могу проверить, что вызывает увеличение размера файлов журнала? могло это из-за запланированного обхода точек доступа и резервного копирования БД?
Я намерен уменьшить некоторые файлы журнала (например, файл журнала сервера отчетов), как я могу определить, что эти файлы журнала не будут иметь никаких побочных эффектов после сжатия?
Можете ли вы поделиться результатами ниже? Вы регулярно делаете резервные копии журналов транзакций?
select name, log_reuse_wait_desc from sys.databases
DBCC OPENTRAN()
Вам необходимо правильно настроить размер журналов транзакций, чтобы не запускалось автоматическое увеличение, и частое их сжатие НЕ является хорошей идеей.
РЕДАКТИРОВАТЬ: код на основе ваших комментариев, чтобы проверить, какие файлы журналов выросли в последнее время.
DECLARE @filename VARCHAR(255)
SELECT @FileName = SUBSTRING(path, 0, LEN(path)-CHARINDEX('\', REVERSE(path))+1) + '\Log.trc'
FROM sys.traces
WHERE is_default = 1;
--Check if the data and log files auto-growed. Look for tempdb, log files etc.
SELECT
gt.ServerName
, gt.DatabaseName
, gt.TextData
, gt.StartTime
, gt.Success
, gt.HostName
, gt.NTUserName
, gt.NTDomainName
, gt.ApplicationName
, gt.LoginName
FROM [fn_trace_gettable](@filename, DEFAULT) gt
JOIN sys.trace_events te ON gt.EventClass = te.trace_event_id
WHERE EventClass in ( 92, 93 ) --'Data File Auto Grow', 'Log File Auto Grow'
ORDER BY StartTime;