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?
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?
Jawaban:
Anda dapat melihat jejak default dan mencari tahu ini dengan mudah. Coba contoh dari Jonathan Kehayias.
Ini untuk ditampilkan sebagai contoh dan Anda perlu melihat jenis acara ALTER OBJECT.
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;