SQL-Trace : Wie zu erfassen, nur Insert -, Update -, Delete-Anweisungen mit SQL Server Profiler?

Voraussetzung :

Mich bannen zu müssen, nur Insert -, Update-und Delete-Anweisungen in der Spur. Dafür habe ich die unten trace-code, der aber leider seine Aufnahme gespeicherte Prozeduren Ausführung,erklären, Aussagen, wo es keine DMLs in dieser Ausführung.

Was muss ich tun, um zu erfassen, nur Insert -, Update-und Delete-Anweisungen nur.
Hilfe ist willkommen.

declare @rc int
declare @TraceID int
declare @maxfilesize bigint
set @maxfilesize = 5 

exec @rc = sp_trace_create @TraceID output, 0, N'InsertFileNameHere', @maxfilesize, NULL 
if (@rc != 0) goto error

declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 10, 10, @on
exec sp_trace_setevent @TraceID, 10, 6, @on
exec sp_trace_setevent @TraceID, 10, 11, @on
exec sp_trace_setevent @TraceID, 10, 12, @on
exec sp_trace_setevent @TraceID, 10, 13, @on
exec sp_trace_setevent @TraceID, 10, 14, @on
exec sp_trace_setevent @TraceID, 10, 15, @on
exec sp_trace_setevent @TraceID, 10, 17, @on
exec sp_trace_setevent @TraceID, 10, 18, @on
exec sp_trace_setevent @TraceID, 12, 1, @on
exec sp_trace_setevent @TraceID, 12, 11, @on
exec sp_trace_setevent @TraceID, 12, 6, @on
exec sp_trace_setevent @TraceID, 12, 10, @on
exec sp_trace_setevent @TraceID, 12, 12, @on
exec sp_trace_setevent @TraceID, 12, 13, @on
exec sp_trace_setevent @TraceID, 12, 14, @on
exec sp_trace_setevent @TraceID, 12, 15, @on
exec sp_trace_setevent @TraceID, 12, 17, @on
exec sp_trace_setevent @TraceID, 12, 18, @on

declare @intfilter int
declare @bigintfilter bigint

exec sp_trace_setfilter @TraceID, 1, 0, 6, N'%INSERT%'
exec sp_trace_setfilter @TraceID, 1, 1, 6, N'%UPDATE%'
exec sp_trace_setfilter @TraceID, 1, 1, 6, N'%DELETE%'
exec sp_trace_setfilter @TraceID, 1, 0, 1, NULL
exec sp_trace_setfilter @TraceID, 10, 0, 7, N'SQL Server Profiler - 19bdcc9e-99de-4173-99e7-84cd5fc0add4'
exec sp_trace_setfilter @TraceID, 10, 0, 1, NULL

exec sp_trace_setstatus @TraceID, 1


select TraceID[email protected]TraceID
goto finish

error: 
select ErrorCode[email protected]rc

finish: 
go
  • hinzufügen exec sp_trace_setevent @TraceID, 41, 1, @on
  • Vielen Dank Rohit für Eure Antworten aber leider noch zu seiner Aufnahme erklären, als auch die exec-Anweisungen.
  • Gehören RPC:Completed Veranstaltung auch und verwenden OR Voraussetzungen für den drei Bedingungen. <br/> exec sp_trace_setevent @TraceID, 10, 1, @on <br/> und <br/> exec sp_trace_setfilter @TraceID, 1, 1, 6, N'%INSERT%' exec sp_trace_setfilter @TraceID, 1, 1, 6, N'%UPDATE%' exec sp_trace_setfilter @TraceID, 1, 1, 6, N'%DELETE%'
  • Ich habe bereits im Lieferumfang enthalten RPC abgeschlossen. könnten Sie das bitte ändern mein code, und fügen Sie Sie hier .
InformationsquelleAutor Franklin | 2016-09-16



One Reply
  1. 1

    Bitte versuchen Sie es unter-Skript zum erfassen von erforderlichen Daten:

        declare @rc int
    declare @TraceID int
    declare @maxfilesize bigint
    set @maxfilesize = 5 
    
    exec @rc = sp_trace_create @TraceID output, 0, N'InsertFileNameHere', @maxfilesize, NULL 
    if (@rc != 0) goto error
    
    declare @on bit
    set @on = 1
    
    exec sp_trace_setevent @TraceID, 10, 1, @on
    exec sp_trace_setevent @TraceID, 10, 10, @on
    exec sp_trace_setevent @TraceID, 10, 6, @on
    exec sp_trace_setevent @TraceID, 10, 11, @on
    exec sp_trace_setevent @TraceID, 10, 12, @on
    exec sp_trace_setevent @TraceID, 10, 13, @on
    exec sp_trace_setevent @TraceID, 10, 14, @on
    exec sp_trace_setevent @TraceID, 10, 15, @on
    exec sp_trace_setevent @TraceID, 10, 17, @on
    exec sp_trace_setevent @TraceID, 10, 18, @on
    exec sp_trace_setevent @TraceID, 12, 1, @on
    exec sp_trace_setevent @TraceID, 12, 11, @on
    exec sp_trace_setevent @TraceID, 12, 6, @on
    exec sp_trace_setevent @TraceID, 12, 10, @on
    exec sp_trace_setevent @TraceID, 12, 12, @on
    exec sp_trace_setevent @TraceID, 12, 13, @on
    exec sp_trace_setevent @TraceID, 12, 14, @on
    exec sp_trace_setevent @TraceID, 12, 15, @on
    exec sp_trace_setevent @TraceID, 12, 17, @on
    exec sp_trace_setevent @TraceID, 12, 18, @on
    exec sp_trace_setevent @TraceID, 41, 1, @on
    
    declare @intfilter int
    declare @bigintfilter bigint
    
    exec sp_trace_setfilter @TraceID, 1, 1, 6, N'%INSERT%'
    exec sp_trace_setfilter @TraceID, 1, 1, 6, N'%UPDATE%'
    exec sp_trace_setfilter @TraceID, 1, 1, 6, N'%DELETE%'
    exec sp_trace_setfilter @TraceID, 1, 0, 1, NULL
    exec sp_trace_setfilter @TraceID, 10, 0, 7, N'SQL Server Profiler - 19bdcc9e-99de-4173-99e7-84cd5fc0add4'
    exec sp_trace_setfilter @TraceID, 10, 0, 1, NULL
    
    exec sp_trace_setstatus @TraceID, 1
    
    
    select TraceID[email protected]TraceID
    goto finish
    
    error: 
    select ErrorCode[email protected]rc
    
    finish: 
    go
    • Vielen Dank Rohit.Ich bin nicht sicher, warum immer noch Ihre Erfassung sp_compare erklären,@0utput=’select id from test‘ usw.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.