Дізнайтеся, хто змінив збережену процедуру на SQL сервері?


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-create-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; 

Збережені процедури не відображаються в результатах. Будь-які ідеї чому?
Behrang Saeedzadeh

Якщо SP будуть змінені, вони з’являться. Якщо ви хочете, спробуйте створити фіктивний SP & змінити його і побачити, чи він відображається у вищезгаданому звіті.
Санкар Редді

Забудь про мій попередній коментар. Зрозумів це. Дякую.
Behrang Saeedzadeh

Рада, ви зрозуміли :-)
Санкар Редді

Майте на увазі, що ця система відстеження застаріла згідно з документами MSDN. Microsoft рекомендує використовувати їх «розширені події» парадигму замість: technet.microsoft.com/en-us/library/bb630354(v=sql.105).aspx
Keiths
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.