¿Descubrir quién ha modificado un procedimiento almacenado en SQL Server?


10

Parece que alguien inició sesión y modificó un Procedimiento almacenado en nuestra base de datos de SQL Server. ¿Hay alguna manera de averiguar las credenciales de la persona que ha hecho eso?

Respuestas:


17

Puede ver el rastreo predeterminado y resolverlo fácilmente. Pruebe los ejemplos de Jonathan Kehayias.

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

Esto se muestra como un ejemplo y debe mirar el tipo de evento ALTER OBJECT.

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

EDITAR:

El código es cortesía 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; 

Los procedimientos almacenados no se muestran en los resultados. Alguna idea de por qué?
Behrang Saeedzadeh

Si se modifican los SP, aparecerán. Si lo desea, intente crear un SP ficticio y modifíquelo para ver si aparece en el informe anterior.
Sankar Reddy

Olvídate de mi comentario anterior. Lo averigué. Gracias.
Behrang Saeedzadeh

Me alegro, lo entendiste :-)
Sankar Reddy

Tenga en cuenta que este sistema de rastreo está en desuso según los documentos de MSDN. Microsoft recomienda usar su paradigma de "Eventos extendidos" en su lugar: technet.microsoft.com/en-us/library/bb630354(v=sql.105).aspx
KeithS
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.