SQL Server에서 Trace를 멈추거나 제거할 때 사용하는 SQL
(서비스 중간에 긴급하게 잠시동안 Profiler를 실행한 후 종료가 되지 않을 때 유용)
-------------------------------------------------------------------
--서버에 존재하고 있는 trace 정보를 반환한다.
-- traceid : Trace id
-- property : Trace property
-- 1= 추적 옵션
-- 2 = 파일 이름
-- 3 = 최대 크기
-- 4 = 중지 시간
-- 5 = 현재 추적 상태. 0 = 중지됨. 1 = 실행 중.
-- value : Property value.
-------------------------------------------------------------------
DECLARE @v_traceid INT
SELECT @v_traceid = null --NULL=ALL
SELECT *
FROM ::fn_trace_getinfo(@v_traceid)
--------------------------------------------------------------------
--------------------------------------------------
-- Define constant.
DECLARE @STOP INT
DECLARE @START INT
DECLARE @CLOSE_REMOVE INT
SELECT @STOP = 0
SELECT @START = 1
SELECT @CLOSE_REMOVE = 2
--------------------------------------------------
DECLARE @v_traceid INT
SELECT @v_traceid = 2
--지정한 trace id를 상태를 변경한다.
--아래는 trace id 2를 서버에서 닫고 제거한다.
exec sp_trace_setstatus @traceid=@v_traceid , @status=@CLOSE_REMOVE
-- trace id 2 닫고 제거되었기 때문에 반환하는 정보가 없다.
SELECT *
FROM ::fn_trace_getinfo(@v_traceid)
---------------------------------------------------
출처 : 직접 작성.
Posted by 좐군


