Sql-Server-2005

如何確定誰在 SQL Server 2005 中刪除了數據庫(以及何時刪除)?

  • February 14, 2019

有沒有辦法找出誰在 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 中簡單地看到所有數據

詳細資訊位於:SQL Server:如何查找在 SQL Server 中刪除數據庫的使用者

引用自:https://dba.stackexchange.com/questions/14186