Here is my script:--This procedure will stop server-side trace after 30 mins:(Do some testing with this and it can be scheduled as well--Stored Procedure to run trace for 30 minutesCreate Procedure dbo.Usp_Tracefor30minutesasset nocount ondeclare @stop datetime set @stop = dateadd(mi,30,getdate())declare @rc intdeclare @TraceID intdeclare @maxfilesize bigintset @maxfilesize = 50-- Create traces and saves in folder specifiedexec @rc = sp_trace_create @TraceID output, 0, N'InsertFileNameHere', @maxfilesize, @stop if (@rc != 0) goto error-- Set the eventsdeclare @on bitset @on = 1exec sp_trace_setevent @TraceID, 17, 12, @onexec sp_trace_setevent @TraceID, 17, 1, @onexec sp_trace_setevent @TraceID, 17, 9, @onexec sp_trace_setevent @TraceID, 17, 6, @on -- 17 - Existing Connectionsexec sp_trace_setevent @TraceID, 17, 10, @onexec sp_trace_setevent @TraceID, 17, 14, @onexec sp_trace_setevent @TraceID, 17, 11, @onexec sp_trace_setevent @TraceID, 10, 15, @onexec sp_trace_setevent @TraceID, 10, 16, @onexec sp_trace_setevent @TraceID, 10, 1, @on -- 10 - RPC:Completedexec sp_trace_setevent @TraceID, 10, 17, @onexec sp_trace_setevent @TraceID, 10, 2, @onexec sp_trace_setevent @TraceID, 10, 10, @onexec sp_trace_setevent @TraceID, 10, 18, @onexec sp_trace_setevent @TraceID, 10, 11, @onexec sp_trace_setevent @TraceID, 10, 12, @onexec sp_trace_setevent @TraceID, 10, 13, @onexec sp_trace_setevent @TraceID, 10, 6, @onexec sp_trace_setevent @TraceID, 10, 14, @onexec sp_trace_setevent @TraceID, 43, 15, @onexec sp_trace_setevent @TraceID, 43, 1, @onexec sp_trace_setevent @TraceID, 43, 9, @on -- 43 - SP:Completedexec sp_trace_setevent @TraceID, 43, 10, @onexec sp_trace_setevent @TraceID, 43, 11, @onexec sp_trace_setevent @TraceID, 43, 12, @onexec sp_trace_setevent @TraceID, 43, 13, @onexec sp_trace_setevent @TraceID, 43, 6, @onexec sp_trace_setevent @TraceID, 43, 14, @onexec sp_trace_setevent @TraceID, 37, 1, @onexec sp_trace_setevent @TraceID, 37, 9, @onexec sp_trace_setevent @TraceID, 37, 6, @on -- 37 - SP:Recompileexec sp_trace_setevent @TraceID, 37, 10, @onexec sp_trace_setevent @TraceID, 37, 14, @onexec sp_trace_setevent @TraceID, 37, 11, @onexec sp_trace_setevent @TraceID, 37, 12, @onexec sp_trace_setevent @TraceID, 12, 15, @onexec sp_trace_setevent @TraceID, 12, 16, @onexec sp_trace_setevent @TraceID, 12, 1, @on -- 12 - SQL:BatchCompletedexec sp_trace_setevent @TraceID, 12, 9, @onexec sp_trace_setevent @TraceID, 12, 17, @onexec sp_trace_setevent @TraceID, 12, 6, @onexec sp_trace_setevent @TraceID, 12, 10, @onexec sp_trace_setevent @TraceID, 12, 14, @onexec sp_trace_setevent @TraceID, 12, 18, @onexec sp_trace_setevent @TraceID, 12, 11, @onexec sp_trace_setevent @TraceID, 12, 12, @onexec sp_trace_setevent @TraceID, 12, 13, @onexec sp_trace_setevent @TraceID, 13, 12, @onexec sp_trace_setevent @TraceID, 13, 1, @onexec sp_trace_setevent @TraceID, 13, 9, @on -- 13 SQL :BatchStartingexec sp_trace_setevent @TraceID, 13, 6, @onexec sp_trace_setevent @TraceID, 13, 10, @onexec sp_trace_setevent @TraceID, 13, 14, @onexec sp_trace_setevent @TraceID, 13, 11, @on-- Set the Filtersdeclare @intfilter intdeclare @bigintfilter bigintexec sp_trace_setfilter @TraceID, 10, 0, 7, N'SQL Server Profiler'set @bigintfilter = 5000-- Track queries more than 5 sec.Exec sp_trace_setfilter @TraceID, 13, 0, 4, @bigintfilter-- Set the trace status to startExec sp_trace_setstatus @TraceID, 1-- Display trace id for future referencesSelect TraceID=@TraceIDgoto finisherror: select ErrorCode=@rcfinish: go--Exec SPExec dbo.Usp_Tracefor30minutes