Découvrir qui a modifié une procédure stockée sur SQL Server?


10

Il semble que quelqu'un se soit connecté et ait modifié une procédure stockée sur notre base de données SQL Server. Existe-t-il un moyen de connaître les références de la personne qui a fait cela?

Réponses:


17

Vous pouvez regarder la trace par défaut et la comprendre facilement. Essayez les exemples de Jonathan Kehayias.

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

C'est à titre d'exemple et vous devez regarder le type d'événement ALTER OBJECT.

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

ÉDITER:

Le code est une gracieuseté de 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; 

Les procédures stockées n'apparaissent pas dans les résultats. Des idées pourquoi?
Behrang Saeedzadeh

Si les SP sont modifiés, ils apparaîtront. Si vous le souhaitez, essayez de créer un SP factice et modifiez-le et voyez s'il apparaît dans le rapport ci-dessus.
Sankar Reddy

Oubliez mon commentaire précédent. Deviner. Merci.
Behrang Saeedzadeh

Heureux, vous l'avez compris :-)
Sankar Reddy

Sachez que ce système de suivi est obsolète selon les documents MSDN. Microsoft recommande d'utiliser à la place leur paradigme "Événements étendus": technet.microsoft.com/en-us/library/bb630354(v=sql.105).aspx
KeithS
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.