Scopri chi ha modificato una stored procedure su SQL Server?


10

Sembra che qualcuno abbia effettuato l'accesso e modificato una stored procedure sul nostro database di SQL Server. C'è un modo per scoprire le credenziali della persona che l'ha fatto?

Risposte:


17

Puoi guardare la traccia predefinita e capirla facilmente. Prova gli esempi di Jonathan Kehayias.

http://sqlblog.com/blogs/jonathan_kehayias/archive/2009/05/27/pass-dba-sig-default-trace-presentation-files.aspx

Questo è da mostrare come esempio ed è necessario esaminare il tipo di evento ALTER OBJECT.

http://sqlblog.com/blogs/jonathan_kehayias/archive/2009/09/29/what-session-created-that-object-in-tempdb.aspx

MODIFICARE:

Il codice è per gentile concessione di Jonathan Kehayias.

DECLARE @filename VARCHAR(255) 
SELECT @FileName = SUBSTRING(path, 0, LEN(path)-CHARINDEX('\', REVERSE(path))+1) + '\Log.trc'  
FROM sys.traces   
WHERE is_default = 1;  

SELECT gt.HostName, 
       gt.ApplicationName, 
       gt.NTUserName, 
       gt.NTDomainName, 
       gt.LoginName, 
       gt.SPID, 
       gt.EventClass, 
       te.Name AS EventName,
       gt.EventSubClass,      
       gt.TEXTData, 
       gt.StartTime, 
       gt.EndTime, 
       gt.ObjectName, 
       gt.DatabaseName, 
       gt.FileName, 
       gt.IsSystem
FROM [fn_trace_gettable](@filename, DEFAULT) gt 
JOIN sys.trace_events te ON gt.EventClass = te.trace_event_id 
WHERE EventClass in (164) --AND gt.EventSubClass = 2
ORDER BY StartTime DESC; 

Le procedure memorizzate non vengono visualizzate nei risultati. Qualche idea sul perché?
Behrang Saeedzadeh,

Se SP viene modificato, verranno visualizzati. Se vuoi, prova a creare un SP fittizio e modificalo e vedi se appare nel rapporto sopra.
Sankar Reddy,

Dimentica il mio commento precedente. Capito. Grazie.
Behrang Saeedzadeh,

Sono contento che tu l'abbia capito :-)
Sankar Reddy,

Tenere presente che questo sistema di tracciamento è obsoleto in base ai documenti MSDN. Microsoft consiglia invece di utilizzare il paradigma "Eventi estesi": technet.microsoft.com/en-us/library/bb630354(v=sql.105).aspx
KeithS
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.