如何阻止SQL事件探测器跟踪被停止

有时候跟踪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  的名字改回来,再到事件探测器中停止跟踪即可。如下图所示:

如何阻止SQL事件探测器跟踪被停止


什么,你无法更改名称?运行企业管理器的时候,右击使用管理员身份运行吧。


你可能感兴趣的:(跟踪,事件探测器)