Skip to content

Instantly share code, notes, and snippets.

@fljdin
Created September 28, 2018 15:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fljdin/a57456ebc14bffbe9d1b05a66b2aaa64 to your computer and use it in GitHub Desktop.
Save fljdin/a57456ebc14bffbe9d1b05a66b2aaa64 to your computer and use it in GitHub Desktop.
Add a new job with sql agent start schedule
-- Create the trace
DECLARE @TraceID int
DECLARE @stoptime_init datetime = NULL
DECLARE @maxfilesize_init bigint = 50
DECLARE @filecount_init int = 20
DECLARE @tracefile_init nvarchar(200) = N'D:\MSSQL\TRACE\Trace_1second'
DECLARE @duration bigint = 1000000 -- microseconds
-- Stop and clear it if running
SELECT @TraceID = traceid FROM ::fn_trace_getinfo(NULL) WHERE property = 2 AND CONVERT(varchar, value) LIKE @tracefile_init + '%';
IF (@TraceID IS NOT NULL)
BEGIN
EXEC sp_trace_setstatus @TraceID, 0 -- Stop
EXEC sp_trace_setstatus @TraceID, 2 -- Clear
END;
EXEC sp_trace_create @TraceID output,
@options = 2, @tracefile = @tracefile_init, @maxfilesize = @maxfilesize_init,
@stoptime = @stoptime_init, @filecount = @filecount_init
-- RPC:Completed = Occurs when a remote procedure call (RPC) has completed.
EXEC sp_trace_setevent @TraceID, 10, 1, 1 -- TextData
EXEC sp_trace_setevent @TraceID, 10, 8, 1 -- HostName
EXEC sp_trace_setevent @TraceID, 10, 10, 1 -- ApplicationName
EXEC sp_trace_setevent @TraceID, 10, 11, 1 -- LoginName
EXEC sp_trace_setevent @TraceID, 10, 13, 1 -- Duration
EXEC sp_trace_setevent @TraceID, 10, 14, 1 -- StartTime
EXEC sp_trace_setevent @TraceID, 10, 15, 1 -- EndTime
EXEC sp_trace_setevent @TraceID, 10, 16, 1 -- Reads
EXEC sp_trace_setevent @TraceID, 10, 17, 1 -- Writes
EXEC sp_trace_setevent @TraceID, 10, 18, 1 -- CPU
EXEC sp_trace_setevent @TraceID, 10, 26, 1 -- ServerName
EXEC sp_trace_setevent @TraceID, 10, 35, 1 -- DatabaseName
-- SQL:BatchCompleted event = Occurs when a Transact-SQL batch has completed.
EXEC sp_trace_setevent @TraceID, 12, 1, 1 -- TextData
EXEC sp_trace_setevent @TraceID, 12, 8, 1 -- HostName
EXEC sp_trace_setevent @TraceID, 12, 10, 1 -- ApplicationName
EXEC sp_trace_setevent @TraceID, 12, 11, 1 -- LoginName
EXEC sp_trace_setevent @TraceID, 12, 13, 1 -- Duration
EXEC sp_trace_setevent @TraceID, 12, 14, 1 -- StartTime
EXEC sp_trace_setevent @TraceID, 12, 15, 1 -- EndTime
EXEC sp_trace_setevent @TraceID, 12, 16, 1 -- Reads
EXEC sp_trace_setevent @TraceID, 12, 17, 1 -- Writes
EXEC sp_trace_setevent @TraceID, 12, 18, 1 -- CPU
EXEC sp_trace_setevent @TraceID, 12, 26, 1 -- ServerName
EXEC sp_trace_setevent @TraceID, 12, 35, 1 -- DatabaseName
-- Duration greater than or equal to 1 second
EXEC sp_trace_setfilter @TraceID, 13, 0, 4, @duration
-- Start the trace
EXEC sp_trace_setstatus @TraceID, 1
GO
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment