有时候跟踪SQL Server的脚本会被停止,原因我不打算在这里谈太多,只讲解决方法。
本法适用于 Sql Server 2000 sp4
原因:似乎是遇到下面这句脚本就会使得跟踪停止。
declare @TID integer
declare Trac Cursor For select distinct traceid from :: fn_trace_getinfo(default)
open Trac fetch next From Trac into @TID
while @@fetch_status=0
begin
exec sp_trace_setstatus @TID,0
exec sp_trace_setstatus @TID,2
Fetch Next From Trac into @TID
end
close Trac
deallocate Trac
解决办法:首先我们启动跟踪,然后把存储过程 sp_trace_setstatus 改名,使得其不能运行,这样就不能停止跟踪了。最后,你跟踪完后,再把存储过程 sp_trace_setstatus 的名字改回来,再到事件探测器中停止跟踪即可。如下图所示:
什么,你无法更改名称?运行企业管理器的时候,右击使用管理员身份运行吧。