Nasıl Yapılır: Bir izleme (Transact-SQL) oluşturma
Bu konuda, saklı yordamlar bir izleme oluşturmak için nasıl kullanılacağı açıklanmaktadır.
Bir izleme oluşturmak için
yürütmeksp_trace_create gerekli parametrelerle oluşturulacak bir yeni izleme.Yeni izleme durdurulmuş durumda olacaktır ( statusolan 0 ).
yürütmeksp_trace_setevent ile izleme. sütunları ve olayları seçmek için gerekli parametreleri
İsteğe bağlı olarak yürütmeksp_trace_setfilter herhangi bir veya filtre. birlikte ayarlamak için
sp_trace_setevent ve sp_trace_setfilter durdurulur, yalnızca varolan izleri üzerinde yürütülen.
Important Note: Farklı olarak normal saklı yordamlar, tüm SQL Server Profiler parametrelerinin saklı yordamlar ( sp_trace_ xx ) kesinlikle yazılan ve desteklemeyen otomatik veri türü dönüştürme.Belirtilen bağımsız değişken açıklama doğru giriş parametresi veri türleriyle bu parametreler denir, saklı yordamı bir hata döndürür.
Example
Aşağıdaki kod gösterir izleme kullanarak oluşturmaTransact-SQL.Üç bölüm olarak: İzleme oluşturma, doldurma izleme dosyası ve izleme. durdurma İzleme, izlemek istediğiniz olay ekleyerek özelleştirin.Olaylar ve sütunlar listesi için bkz:sp_trace_setevent (Transact-SQL).
Aşağıdaki kod, bir izleme oluşturur, olaylar için izleme ekler ve sonra izlemeyi başlatır:
DECLARE @RC int, @TraceID int, @on BIT
EXEC @rc = sp_trace_create @TraceID output, 0, N'C:\SampleTrace'
-- Select the return code to see if the trace creation was successful.
SELECT RC = @RC, TraceID = @TraceID
-- Set the events and data columns you need to capture.
SELECT @on = 1
-- 10 is RPC:Completed event. 1 is TextData column.
EXEC sp_trace_setevent @TraceID, 10, 1, @on
-- 13 is SQL:BatchStarting, 11 is LoginName
EXEC sp_trace_setevent @TraceID, 13, 11, @on
-- 13 is SQL:BatchStarting, 14 is StartTime
EXEC sp_trace_setevent @TraceID, 13, 14, @on
-- 12 is SQL:BatchCompleted, 15 is EndTime
EXEC sp_trace_setevent @TraceID, 12, 15, @on
-- 13 is SQL:BatchStarting, 1 is TextData
EXEC sp_trace_setevent @TraceID, 13, 1, @on
-- Set any filter. Not provided in this example
--EXEC sp_trace_setfilter 1, 10, 0, 6, N'%Profiler%'
-- Start Trace (status 1 = start)
EXEC @RC = sp_trace_setstatus @TraceID, 1
GO
İzleme oluşturulan ve başlatılan, yürütmek etkinlik izleme doldurmak için aşağıdaki kodu.
SELECT * FROM master.sys.databases
GO
SELECT * FROM ::fn_trace_getinfo(default)
GO
İzleme durduruldu ve herhangi bir zamanda yeniden.Bu örnekte, izlemeyi durdurmak, izleme kapatın ve izleme tanımını silmek için şu kodu çalıştırın.
DECLARE @TraceID int
-- Populate a variable with the trace_id of the current trace
SELECT @TraceID = TraceID FROM ::fn_trace_getinfo(default) WHERE VALUE = N'C:\SampleTrace.trc'
-- First stop the trace.
EXEC sp_trace_setstatus @TraceID, 0
-- Close and then delete its definition from SQL Server.
EXEC sp_trace_setstatus @TraceID, 2
İzleme dosyası, incelemek için SampleTrace.trc dosyasını kullanarak açmaSQL Server Profiler.