когда и какой пользователь SQL уменьшал размер файла журнала ???
Вы должны быть в состоянии определить это по времени "last modified"
в файле "ldf"
(если только он не вырос автоматически в промежуточный период - что кажется маловероятным, поскольку он все еще только 1 МБ)
Есть ли в базе данных запись активности? Включена ли опция автоусадочной базы данных?
Вы не увидели бы задание агента SQL, если бы в этом случае фоновая задача выполняла эти операции сжатия. Этот параметр крайне не рекомендуется
Файл журнала был сокращен. Кто это сделал?
Можно просмотреть трассировку по умолчанию, чтобы определить, кем и когда был выполнен файл сжатия.
Для поиска трассировки по умолчанию сначала определите, включена ли трассировка по умолчанию. Это можно сделать, запустив sp_configure
следующим образом:
SQL:
EXEC master.dbo.sp_configure 'show advanced options', 1;
GO
EXEC master.dbo.sp_configure 'default trace enabled';
GO
После проверки и запуска трассировки по умолчанию определите место, куда записываются файлы трассировки, запустив функцию fn_trace_getinfo
SQL:
SELECT *
FROM fn_trace_getinfo(default);
GO
Чтобы прочитать файл трассировки, используйте fn_trace_gettable. Это извлечет все данные из файла трассировки и покажет их в виде таблицы в SSMS для удобства просмотра
SQL:
SELECT
TextData,
HostName,
ApplicationName,
LoginName,
StartTime
FROM
[fn_trace_gettable]('C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\log_75.trc', DEFAULT)
WHERE TextData LIKE '%SHRINKFILE%'; ----- Location of default trace will be different ,so kindly check that accordingly