Es sieht so aus, als hätte sich jemand in unserer SQL Server-Datenbank angemeldet und eine gespeicherte Prozedur geändert. Gibt es eine Möglichkeit, die Anmeldeinformationen der Person herauszufinden, die dies getan hat?
Es sieht so aus, als hätte sich jemand in unserer SQL Server-Datenbank angemeldet und eine gespeicherte Prozedur geändert. Gibt es eine Möglichkeit, die Anmeldeinformationen der Person herauszufinden, die dies getan hat?
Antworten:
Sie können sich die Standardablaufverfolgung ansehen und dies leicht herausfinden. Probieren Sie die Beispiele von Jonathan Kehayias.
Dies soll als Beispiel gezeigt werden und Sie müssen sich den Ereignistyp ALTER OBJECT ansehen.
BEARBEITEN:
Der Code wurde freundlicherweise von Jonathan Kehayias zur Verfügung gestellt.
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;