55 lines
2.2 KiB
Transact-SQL
55 lines
2.2 KiB
Transact-SQL
DECLARE @filename NVARCHAR(1000);
|
|
DECLARE @bc INT;
|
|
DECLARE @ec INT;
|
|
DECLARE @bfn VARCHAR(1000);
|
|
DECLARE @efn VARCHAR(10);
|
|
|
|
|
|
-- Get the name of the current default trace /* A REMPLACER PAR "select path from sys.traces" */
|
|
SELECT @filename = CAST(value AS NVARCHAR(1000))
|
|
FROM ::fn_trace_getinfo(DEFAULT)
|
|
WHERE traceid = 1 AND property = 2;
|
|
|
|
-- rip apart file name into pieces
|
|
SET @filename = REVERSE(@filename);
|
|
SET @bc = CHARINDEX('.',@filename);
|
|
SET @ec = CHARINDEX('_',@filename)+1;
|
|
SET @efn = REVERSE(SUBSTRING(@filename,1,@bc));
|
|
SET @bfn = REVERSE(SUBSTRING(@filename,@ec,LEN(@filename)));
|
|
|
|
-- set filename without rollover number
|
|
SET @filename = @bfn + @efn
|
|
|
|
-- process all trace files
|
|
SELECT te.name AS EventName,
|
|
DB_NAME(ftg.databaseid) AS DatabaseName,
|
|
ftg.Filename,
|
|
ftg.StartTime,
|
|
ftg.EndTime,
|
|
(ftg.IntegerData*8)/1024.0 AS GrowthMB,
|
|
(ftg.duration/1000)AS DurationMS,
|
|
ftg.ApplicationName,
|
|
j.name AS JobName,
|
|
ftg.HostName,
|
|
ftg.NTDomainName,
|
|
ftg.LoginName
|
|
FROM ::fn_trace_gettable(@filename, DEFAULT) AS ftg
|
|
JOIN sys.trace_events AS te
|
|
ON ftg.EventClass = te.trace_event_id
|
|
LEFT OUTER JOIN msdb.dbo.sysjobs j
|
|
ON ftg.ApplicationName LIKE 'SQLAgent%'
|
|
AND CONVERT(NVARCHAR(MAX), CONVERT(VARBINARY, j.job_id), 1) = SUBSTRING(ftg.ApplicationName,
|
|
CHARINDEX('0x', ftg.ApplicationName),
|
|
CHARINDEX(' ',
|
|
ftg.ApplicationName,
|
|
CHARINDEX('0x', ftg.ApplicationName)
|
|
)-CHARINDEX('0x', ftg.ApplicationName)
|
|
)
|
|
WHERE ( ftg.EventClass = 92 -- Date File Auto-grow
|
|
OR ftg.EventClass = 93 -- Log File Auto-grow
|
|
OR ftg.EventClass = 94 -- Data File Auto Shrink
|
|
OR ftg.EventClass = 95) -- Log File Auto Shrink
|
|
--AND DB_NAME(ftg.databaseid) IN( 'arizona','tempdb')
|
|
ORDER BY ftg.StartTime
|
|
|