怎样在 sql server 中找到删除数据库的那个人
某天,有人告诉我说他的数据库不见了。还有这事儿呀?谁干的?
尝试找了一下方法。
先找到这么一个句子:
SELECT DatabaseID,NTUserName,HostName,LoginName,StartTime FROM sys.fn_trace_gettable(CONVERT(VARCHAR(150), ( SELECT TOP 1 f.[value] FROM sys.fn_trace_getinfo(NULL) f WHERE f.property = 2 )), DEFAULT) T JOIN sys.trace_events TE ON T.EventClass = TE.trace_event_id WHERE TE.trace_event_id =47 AND T.DatabaseName = 'deleted_database' -- trace_event_id = 47 的意思就是执行删除对象操作的命令
嗯,管用。
另外还有一个方法:
使用 sql server management studio 打开数据库服务器,然后右键在实例上,选 Reports – Standard Reports – Schema Changes History ,会出一个报告,我们可以在里面看到一个更改列表记录。在里面找到相关 drop 相关操作的就可以找到那个人了。