Перейти к содержимому

SQL Server Profiler

Аудит mssql 2005 с помощью SQL Server Profiler и создания задания в агенте.

Задание.

Не обходим аудит который отслеживал кто изменил , создал, удалил, задание или базу, а также кто менял настройки mssql.

Был выбран Profiler так как в нем уже есть шаблоны аудита.

Для на чала создаем трассировку в самом Profiler.

Аудит mssql 2005 с помощью SQL Server Profiler и создания задания в агенте.

Потом делаем определение трассировки

Аудит mssql 2005 с помощью SQL Server Profiler и создания задания в агенте.

Получаем вот такой код

-- ======================================================================================================

-- 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 = 99

--указываем путь и имя файла, к имени файла дописывается 
Читать далее

Как посмотреть файл трассировки в самом sql

SELECT top 50 *
FROM fn_trace_gettable(N'\\192.168.0.38\Backup\Trace_sql_serverov\ho_report\TracE20150822            000000.trc',DEFAULT)
where CONVERT(CHAR(8),StartTime,8) BETWEEN '09:00:00' and '23:00:00'
and not ApplicationName in ('NULL','Symantec Backup Exec™ for Windows Servers')
AND ApplicationName NOT LIKE  ('SQLAgent - TSQL%')
AND ApplicationName NOT LIKE  ('DatabaseMail%')
AND textdata not LIKE  ('RESTORE%')
ORDER BY duration  DESC
SELECT *

FROM fn_trace_gettable(N'C:\TraceFiles\LongRunningQueries.trc',DEFAULT);

 

Как проверить какие трассировки выполняются на sql. Как остановить трассировку

Проверить трассировки

SELECT * FROM   sys.traces;

14-04-2015 10-41-43[7]

Остановить трассировку

DECLARE @TraceID INT ;

 SET @TraceID = 2 ; -- specify value from sp_trace_create

 EXEC sp_trace_setstatus

    @traceid = @TraceID

    ,@STATUS = 0 ;-- stop trace

 -- delete the trace

 EXEC sp_trace_setstatus

    @traceid = @TraceID

  ,@STATUS = 2 ;-- delete trace

14-04-2015 10-44-27[7]

Как сделать трассировку на стороне MS Sql сервера

Проверить какие трассировки у нас запушены на ms sql.

SELECT * FROM   sys.traces;

Остановить запушенную трассировку.

10-04-2015 10-05-39[3]

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 набор трассировки и фильтр по времени выполнения запросов.