samdung 发表于 2018-10-18 07:24:48

SQL Server性能调教系列(4)--Profiler(上)

CREATE PROC .  
@dbid      AS INT,
  
@tracefile AS NVARCHAR(254),
  
@traceid   AS INT OUTPUT
  
AS
  
-- Create a Queue
  
DECLARE @rc          AS INT;
  
DECLARE @maxfilesize AS BIGINT;
  

  
SET @maxfilesize = 100;
  

  
EXEC @rc = sp_trace_create @traceid OUTPUT, 0, @tracefile, @maxfilesize, NULL
  
IF (@rc != 0) GOTO error;
  

  
-- Client side File and Table cannot be scripted
  

  
-- Set the events
  
DECLARE @on AS BIT;
  
SET @on = 1;
  
EXEC sp_trace_setevent @traceid, 10, 15, @on;
  
EXEC sp_trace_setevent @traceid, 10, 8, @on;
  
EXEC sp_trace_setevent @traceid, 10, 16, @on;
  
EXEC sp_trace_setevent @traceid, 10, 48, @on;
  
EXEC sp_trace_setevent @traceid, 10, 1, @on;
  
EXEC sp_trace_setevent @traceid, 10, 17, @on;
  
EXEC sp_trace_setevent @traceid, 10, 10, @on;
  
EXEC sp_trace_setevent @traceid, 10, 18, @on;
  
EXEC sp_trace_setevent @traceid, 10, 11, @on;
  
EXEC sp_trace_setevent @traceid, 10, 12, @on;
  
EXEC sp_trace_setevent @traceid, 10, 13, @on;
  
EXEC sp_trace_setevent @traceid, 10, 14, @on;
  
EXEC sp_trace_setevent @traceid, 45, 8, @on;
  
EXEC sp_trace_setevent @traceid, 45, 16, @on;
  
EXEC sp_trace_setevent @traceid, 45, 48, @on;
  
EXEC sp_trace_setevent @traceid, 45, 1, @on;
  
EXEC sp_trace_setevent @traceid, 45, 17, @on;
  
EXEC sp_trace_setevent @traceid, 45, 10, @on;
  
EXEC sp_trace_setevent @traceid, 45, 18, @on;
  
EXEC sp_trace_setevent @traceid, 45, 11, @on;
  
EXEC sp_trace_setevent @traceid, 45, 12, @on;
  
EXEC sp_trace_setevent @traceid, 45, 13, @on;
  
EXEC sp_trace_setevent @traceid, 45, 14, @on;
  
EXEC sp_trace_setevent @traceid, 45, 15, @on;
  
EXEC sp_trace_setevent @traceid, 41, 15, @on;
  
EXEC sp_trace_setevent @traceid, 41, 8, @on;
  
EXEC sp_trace_setevent @traceid, 41, 16, @on;
  
EXEC sp_trace_setevent @traceid, 41, 48, @on;
  
EXEC sp_trace_setevent @traceid, 41, 1, @on;
  
EXEC sp_trace_setevent @traceid, 41, 17, @on;
  
EXEC sp_trace_setevent @traceid, 41, 10, @on;
  
EXEC sp_trace_setevent @traceid, 41, 18, @on;
  
EXEC sp_trace_setevent @traceid, 41, 11, @on;
  
EXEC sp_trace_setevent @traceid, 41, 12, @on;
  
EXEC sp_trace_setevent @traceid, 41, 13, @on;
  
EXEC sp_trace_setevent @traceid, 41, 14, @on;
  

  
-- Set the Filters
  
DECLARE @intfilter AS INT;
  
DECLARE @bigintfilter AS BIGINT;
  
-- Application name filter
  
EXEC sp_trace_setfilter @traceid, 10, 0, 7, N'SQL Server Profiler%';

  
-- Database>  
EXEC sp_trace_setfilter @traceid, 3, 0, 0, @dbid;
  

  
-- Set the trace status to start
  
EXEC sp_trace_setstatus @traceid, 1;
  


  
-- Print trace>
  
PRINT 'Trce>  
+ ', Trace File: ''' + @tracefile + '''';
  

  
GOTO finish;
  

  
error:
  
PRINT 'Error Code: ' + CAST(@rc AS VARCHAR(10));
  

  
finish:


页: [1]
查看完整版本: SQL Server性能调教系列(4)--Profiler(上)