Проверить какие трассировки у нас запушены на ms sql.
1 |
SELECT * FROM sys.traces; |
Остановить запушенную трассировку.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
DECLARE @TraceID INT ; SET @TraceID = 5 ; – взять ид из таблички проверки запушенных трассировок EXEC sp_trace_setstatus @traceid = @TraceID ,@STATUS = 0 ;-- stop trace -- delete the trace EXEC sp_trace_setstatus @traceid = @TraceID ,@STATUS = 2 ;-- delete trace |
Выбор в profile шаблон TSQL_Duration набор трассировки и фильтр по времени выполнения запросов.
Экспортировать трассировку в sql
Открыть трассировку в sql и скопировать код трассировки.
И вставить в мой скрипт. Который создан что бы записывать данные трассировки без profile на стороне сервера через sql агент будет чуть ниже.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
================================================================================================ -- Author: Константин Москвичёв -- Create date: 13/04/2015 -- Description: 0.2b -- Описание: Запускает трасировку. -- ================================================================================================ declare @rc int declare @TraceID int declare @maxfilesize bigint declare @filename nvarchar(128) declare @filecount int --указываем максимальный размер файла set @maxfilesize = 100 --указываем путь и имя файла, к имени файла дописывается текушия дата и время set @filename = '\\192.168.0.38\Backup\Trace_sql_serverov\s0079\TracE'+ CONVERT(CHAR(20), GETDATE(),112) + REPLACE(CONVERT(CHAR(20), GETDATE(),108),':','') -- НАстройка параметров трасировки exec @rc = sp_trace_create @traceid = @TraceID output, @options = 2, --опция 2 https://msdn.microsoft.com/ru-ru/library/ms190362.aspx @tracefile = @filename, --имя трасировки @maxfilesize = @maxfilesize, -- максимальный размер трасировки @stoptime = NULL, -- не ограниченое время выполнения @filecount = 50 -- не больше 50 файлов хранить if (@rc != 0) goto error -- Сюда можно добавить любые параметры трасировки из sql Profile. -- В данный момент здась применен шаблон Tsql_Duration с фильтром -- выполнение запроса длится больше или равно 20000 милисикунд (20 секунд) -- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ -- Set the events declare @on bit set @on = 1 exec sp_trace_setevent @TraceID, 10, 7, @on exec sp_trace_setevent @TraceID, 10, 15, @on exec sp_trace_setevent @TraceID, 10, 31, @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, 64, @on exec sp_trace_setevent @TraceID, 10, 1, @on exec sp_trace_setevent @TraceID, 10, 9, @on exec sp_trace_setevent @TraceID, 10, 17, @on exec sp_trace_setevent @TraceID, 10, 41, @on exec sp_trace_setevent @TraceID, 10, 49, @on exec sp_trace_setevent @TraceID, 10, 2, @on exec sp_trace_setevent @TraceID, 10, 10, @on exec sp_trace_setevent @TraceID, 10, 18, @on exec sp_trace_setevent @TraceID, 10, 26, @on exec sp_trace_setevent @TraceID, 10, 34, @on exec sp_trace_setevent @TraceID, 10, 50, @on exec sp_trace_setevent @TraceID, 10, 3, @on exec sp_trace_setevent @TraceID, 10, 11, @on exec sp_trace_setevent @TraceID, 10, 35, @on exec sp_trace_setevent @TraceID, 10, 51, @on exec sp_trace_setevent @TraceID, 10, 4, @on exec sp_trace_setevent @TraceID, 10, 12, @on exec sp_trace_setevent @TraceID, 10, 60, @on exec sp_trace_setevent @TraceID, 10, 13, @on exec sp_trace_setevent @TraceID, 10, 6, @on exec sp_trace_setevent @TraceID, 10, 14, @on exec sp_trace_setevent @TraceID, 12, 7, @on exec sp_trace_setevent @TraceID, 12, 15, @on exec sp_trace_setevent @TraceID, 12, 31, @on exec sp_trace_setevent @TraceID, 12, 8, @on exec sp_trace_setevent @TraceID, 12, 16, @on exec sp_trace_setevent @TraceID, 12, 48, @on exec sp_trace_setevent @TraceID, 12, 64, @on exec sp_trace_setevent @TraceID, 12, 1, @on exec sp_trace_setevent @TraceID, 12, 9, @on exec sp_trace_setevent @TraceID, 12, 17, @on exec sp_trace_setevent @TraceID, 12, 41, @on exec sp_trace_setevent @TraceID, 12, 49, @on exec sp_trace_setevent @TraceID, 12, 6, @on exec sp_trace_setevent @TraceID, 12, 10, @on exec sp_trace_setevent @TraceID, 12, 14, @on exec sp_trace_setevent @TraceID, 12, 18, @on exec sp_trace_setevent @TraceID, 12, 26, @on exec sp_trace_setevent @TraceID, 12, 50, @on exec sp_trace_setevent @TraceID, 12, 3, @on exec sp_trace_setevent @TraceID, 12, 11, @on exec sp_trace_setevent @TraceID, 12, 35, @on exec sp_trace_setevent @TraceID, 12, 51, @on exec sp_trace_setevent @TraceID, 12, 4, @on exec sp_trace_setevent @TraceID, 12, 12, @on exec sp_trace_setevent @TraceID, 12, 60, @on exec sp_trace_setevent @TraceID, 12, 13, @on -- Set the Filters declare @intfilter int declare @bigintfilter bigint set @bigintfilter = 20000000 exec sp_trace_setfilter @TraceID, 13, 0, 4, @bigintfilter -- Set the trace status to start exec sp_trace_setstatus @TraceID, 1 -- display trace id for future references select TraceID=@TraceID goto finish error: select ErrorCode=@rc finish: go |