日志文件缩小的时间和 SQL 用户是什么???
您应该能够从 "ldf" 文件上的 "last modified" 时间确定这一点(除非它在此期间自动增长 - 这似乎不太可能仍然只有 1MB)
数据库是否记录了正在发生的活动?是否打开了自动收缩数据库选项?
如果后台任务执行这些收缩操作,您将看不到 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