Проверить какие трассировки у нас запушены на ms sql.
SELECT * FROM sys.traces;
Остановить запушенную трассировку.
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 агент будет чуть ниже.
================================================================================================ -- 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
Similar Posts:
- Аудит mssql 2005 с помощью SQL Server Profiler и создания задания в агенте.
- Как проверить какие трассировки выполняются на sql. Как остановить трассировку
- Шаблон для отправки оповещения на почту
- Хранимая процедура для автоматизации создания архивной копии базы данных MS SQL Server и копирования ее в заранее указанное место
- Хранимая процедура отправки сообщения