我正在使用SQL Server 2008,发现一个重要的存储过程丢失了。
我该如何查找存储过程是在什么时间被谁删除的?
我正在使用SQL Server 2008,发现一个重要的存储过程丢失了。
我该如何查找存储过程是在什么时间被谁删除的?
首先您需要获取admintrace的位置:
select * from fn_trace_getinfo(NULL)
where property=2
and traceid in (1,2,3,4,5) --sometime several logs available
然后您检查所有细节:
select DatabaseName,ObjectName,LoginName,StartTime,*
from fn_trace_gettable('c:\path_to_log\MSSQL\Log\log_2.trc', -1)
where EventClass = 47 --Object:Deleted