Sql-Server-2005
如何確定誰在 SQL Server 2005 中刪除了數據庫(以及何時刪除)?
有沒有辦法找出誰在 SQL Server 2005 中刪除了數據庫以及刪除的時間/日期?
如果它足夠新,它可能仍然在預設跟踪中。基本假設是 DROP 事件將是為此數據庫記錄的最後一個事件。因此,如果有人刪除了數據庫“splunge”,您應該能夠以這種方式擷取它(再次取決於它發生多長時間):
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 TOP 1 LoginName, HostName, ApplicationName, StartTime, TextData FROM sys.fn_trace_gettable( @FileName, DEFAULT ) AS gt WHERE EventClass = 47 AND DatabaseName = 'splunge' ORDER BY StartTime DESC;
如果您使用 SQL Server Managnment Studio,您可以在 Report -> Standard Reports -> Schema Changes History 中簡單地看到所有數據