MSSQL de Silinen Objeleri Bulmak

Her veritabanı yöneticisinin başına gelmiştir. Veritabanında şu silinmiş kim ve ne zaman silinmiş bulabilirmisiniz tarzı istekler gelmiştir. Audit olmasa bile geçmişe yönelik silinen objelerin kim ne zaman nerden silmiş gibi bilgileri aşağıdaki t-sql cümlesinden bulabilirsiniz.

 

DECLARE @path VARCHAR(MAX)
SELECT @path=SUBSTRING(path, 1, LEN(path) - CHARINDEX('_', REVERSE(path))) + '.trc' 
FROM sys.traces
WHERE is_default = 1
SELECT e.name, t.DatabaseName ,t.ObjectName as Silinen_Obje,t.LoginName as 'Silen Kullanıcı',t.StartTime as 'İşlemin Yapıldığı Zaman',t.HostName 'İsteği Yapan Makine ',t.ServerName
FROM sys.fn_trace_gettable(@path,0) t
INNER JOIN sys.trace_events e ON t.EventClass = e.trace_event_id
where e.name = 'Object:Deleted'
and DatabaseID>4

 

Loading