2016-09-08 22:09 整理,未发布
Profiler创建客户端跟踪。常规页不保存文件、不勾选服务器处理跟踪数据;事件选择RPC:Completed和SQL:BatchCompleted,列筛选器指定为某SPID。
Profiler启动跟踪,sys.traces 增加一新记录(traceid=2,status=1);暂停跟踪,对应记录status=0;停止跟踪,对应记录删除。
Profiler启动跟踪,sys.traces 增加一新记录(traceid=2,status=1);语句暂停跟踪,对应记录删除,Profiler界面同手动点击个停止跟踪按钮。
--查看跟踪
select * from sys.traces t
select * from ::fn_trace_getinfo(null)
--语句暂停跟踪
exec sp_trace_setstatus 2, 0
Profiler启动跟踪,sys.traces 增加一新记录(traceid=2,status=1);暂停跟踪,对应记录status=0;语句启动跟踪,sys.traces 对应记录status=1,说明已启动,但是Profiler中依旧是暂停状态!
--查看跟踪
select * from sys.traces t
--语句启动跟踪
exec sp_trace_setstatus 2, 1
请问此时sys.traces 中的traceid=2的跟踪是否有开启,如果开启了它收集的数据在哪?原来的"无标题-1"(之前查询traceid=2)跟踪与sys.traces中的traceid=2是否有关联?
此时点击Profiler中的启动按钮,弹出"在进行修改之前,必须先停止活动跟踪。"
点击"确定",Profiler变成停止状态!此时sys.traces中traceid=2,status=1,其与"无标题-1"应该无关。如果再次点击启动跟踪按钮,sys.traces 增加一新记录(traceid=3,status=1)
此时的traceid=2只能通过下述语句停止并移除
--停止并移除跟踪
exec sp_trace_setstatus 2, 0
exec sp_trace_setstatus 2, 2
语句启动Profiler中暂停的跟踪,到底做了什么?