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.