何时以及谁缩小了 ldf 文件?

Dan*_*örk 5 sql-server sql-server-2008-r2 ddl

我正在尝试查找有关何时以及由谁缩小 ldf 文件的信息,但在任何地方都找不到该信息。

有人可以指出我正确的方向吗?

Microsoft SQL Server 2008 R2 (SP2) - 10.50.4266.0 (X64) 
    Sep 26 2012 17:08:07 
    Copyright (c) Microsoft Corporation
    Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
Run Code Online (Sandbox Code Playgroud)

Dan*_*man 5

下面是使用 T-SQL 从默认跟踪返回信息的示例查询。

SELECT  
     trace.DatabaseName
    ,trace.ObjectName
    ,te.name AS EventName
    ,tsv.subclass_name
    ,trace.EventClass
    ,trace.EventSubClass
    ,trace.StartTime
    ,trace.EndTime
    ,trace.NTDomainName
    ,trace.NTUserName
    ,trace.HostName
    ,trace.ApplicationName
    ,trace.Spid
FROM (SELECT REVERSE(STUFF(REVERSE(path), 1, CHARINDEX(N'\', REVERSE(path)), '')) + N'\Log.trc' AS path
    FROM sys.traces WHERE is_default = 1) AS default_trace_path
CROSS APPLY fn_trace_gettable(default_trace_path.path, DEFAULT) AS trace
LEFT JOIN sys.trace_events AS te ON 
    trace.EventClass=te.trace_event_id
LEFT JOIN sys.trace_subclass_values AS tsv ON
    tsv.trace_event_id = EventClass
    AND tsv.subclass_value = trace.EventSubClass
ORDER BY trace.StartTime;
Run Code Online (Sandbox Code Playgroud)

通过过滤,WHERE TEXTDATA LIKE 'DBCC SHRINK%'您将找到所有 Shrink 事件。