Situatie
Am creat o procedura ce monitorizeaza toate modificarile DDL de obiecte de pe server de la ultimul restart al serverului. Mai exact, procedura returneza informatii despre cand a fost creat, modificat sau sters un obiect de pe serverul de sql, de catre cine si de pe ce statie s-a efectuat acel eveniment.
Solutie
create procedure BD_MonitorizareDDL_prc
as
select e.name as eventclass,
t.loginname,
t.spid,
t.starttime,
t.textdata,
t.objectid,
t.objectname,
t.databasename,
t.hostname,
t.ntusername,
t.ntdomainname,
t.clientprocessid,
t.applicationname,
t.error
FROM sys.fn_trace_gettable(CONVERT(VARCHAR(150), ( SELECT TOP 1f.[value]
FROM sys.fn_trace_getinfo(NULL) f WHERE f.property = 2)), DEFAULT) T
inner join sys.trace_events e on t.eventclass = e.trace_event_id
where eventclass in (46, 47, 164)
Leave A Comment?