İzleme (Transact-sql) oluştur

Bu konu, bir izleme oluşturmak için saklı yordamları açıklar.

Bir izleme oluşturmak için

  1. Yürütme sp_trace_create ile yeni bir izleme oluşturmak için gerekli parametreleri. Yeni izleme durdurulmuş durumda olacaktır ( status olan 0).

  2. Yürütme sp_trace_setevent olaylar ve izleme sütunları seçmek için gerekli parametreler ile.

  3. İsteğe bağlı olarak, sp_trace_setfilter birisi veya filtrenin birleşimini ayarlamak için.

    sp_trace_setevent ve sp_trace_setfilter durmuş varolan izlemeler üzerinde çalıştırılabilir.

    Önemli notÖnemli

    Düzenli saklı yordamlar, SQL Server Profiler'I tüm parametreleri depolanan yordamlar (sp_trace_xx) kesinlikle yazılan ve otomatik veri türü dönüştürme desteklemez. Bu parametreler doğru giriş parametresi veri türlerinde, değişken açıklaması'nda belirtilen denir değil saklı yordamı bir hata döndürür.

Örnek

Aşağıdaki kodu kullanarak bir izleme oluşturma gösterilmiştir Transact-SQL. Üç bölümlerde ise: izleme oluşturma, izleme dosyası doldurma 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ı izleme ekler ve izleme 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

Izleme oluşturulan ve başlatılan izleme aktivitesi ile doldurmak için aşağıdaki kodu yürütün.

SELECT * FROM master.sys.databases
GO
SELECT * FROM ::fn_trace_getinfo(default)
GO

İzleme durdurulur ve herhangi bir zamanda başlatılır. Bu örnekte, izleme durdurma, izlemeyi kapatın ve izleme tanımını silmek için aşağıdaki kod yürütü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

SampleTrace.trc dosyasını kullanarak izleme dosyasını incelemek için açık SQL Server Profiler.

Ayrıca bkz.

Başvuru

SQL Server Profiler depolanan yordamlar (Transact-sql)

sp_trace_create (Transact-sql)

sp_trace_setevent (Transact-sql)

sp_trace_setfilter (Transact-sql)