Выясните, кто изменил хранимую процедуру на SQL Server?

10

Похоже, кто-то вошел в систему и изменил хранимую процедуру в нашей базе данных SQL Server. Есть ли способ узнать полномочия человека, который это сделал?

Бехранг Саидзаде
источник

Ответы:

17

Вы можете посмотреть на трассировку по умолчанию и понять это легко. Попробуйте примеры от Джонатана Кехайаса.

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

Это показано в качестве примера, и вам нужно взглянуть на тип события ALTER OBJECT.

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

РЕДАКТИРОВАТЬ:

Код любезно предоставлен Джонатаном Кехайасом.

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; 
Санкар Редди
источник
Хранимые процедуры не отображаются в результатах. Есть идеи почему?
Бехранг Саидзаде
Если SP изменены, то они появятся. Если хотите, попробуйте создать фиктивный SP и измените его и посмотрите, появится ли он в приведенном выше отчете.
Санкар Редди
Забудьте о моем предыдущем комментарии. Догадаться. Спасибо.
Бехранг Саидзаде
Рад, что вы это выяснили :-)
Санкар Редди
Имейте в виду, что эта система трассировки устарела в соответствии с документами MSDN. Вместо этого Microsoft рекомендует использовать их парадигму «Расширенные события»: technet.microsoft.com/en-us/library/bb630354(v=sql.105).aspx
KeithS