Mencari tahu siapa yang telah memodifikasi Prosedur Disimpan pada SQL Server?

10

Sepertinya seseorang telah masuk dan mengubah Prosedur yang Disimpan pada database SQL Server kami. Apakah ada cara untuk mengetahui kredensial orang yang telah melakukan itu?

Behrang Saeedzadeh
sumber

Jawaban:

17

Anda dapat melihat jejak default dan mencari tahu ini dengan mudah. Coba contoh dari Jonathan Kehayias.

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

Ini untuk ditampilkan sebagai contoh dan Anda perlu melihat jenis acara ALTER OBJECT.

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

EDIT:

Kode adalah milik 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; 
Sankar Reddy
sumber
Prosedur tersimpan tidak muncul dalam hasil. Ada ide mengapa?
Behrang Saeedzadeh
Jika SP dimodifikasi maka mereka akan muncul. Jika Anda mau, coba buat SP dummy & ubah dan lihat apakah itu muncul di laporan di atas.
Sankar Reddy
Lupakan komentar saya sebelumnya. Menemukannya. Terima kasih.
Behrang Saeedzadeh
Senang, Anda tahu :-)
Sankar Reddy
Sadarilah bahwa sistem penelusuran ini tidak digunakan lagi menurut dokumen MSDN. Microsoft merekomendasikan menggunakan mereka "Diperpanjang Events" paradigma sebagai gantinya: technet.microsoft.com/en-us/library/bb630354(v=sql.105).aspx
Keith