GBN的就在这里;所有SQL Profiler都在SQL Server上执行存储过程:这些过程启动,配置和停止跟踪。这意味着,不是试图自动化分析器,而是执行相同的跟踪过程,并且会得到相同的行为。
要自动启动和停止跟踪,可以使用SQL事件探查器创建脚本;该脚本可以从批处理文件中执行。所以你会做这样的事情;
- 打开SQL事件探查器
- 设置你想要的一丝痕迹轮廓;选择你感兴趣的事件和你想跟踪的文件。
- 开始跟踪,然后停止它。
- 转至文件|导出|脚本跟踪定义...和保存
.sql
文件
此.sql
文件包含可以运行的代码;如果你打开它,你会在顶部看到这种代码;
exec @rc = sp_trace_create @TraceID output, 0, N'InsertFileNameHere', @maxfilesize, NULL
if (@rc != 0) goto error
-- Client side File and Table cannot be scripted
-- Set the events
declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 14, 1, @on
exec sp_trace_setevent @TraceID, 14, 9, @on
exec sp_trace_setevent @TraceID, 14, 6, @on
exec sp_trace_setevent @TraceID, 14, 10, @on
exec sp_trace_setevent @TraceID, 14, 14, @on
exec sp_trace_setevent @TraceID, 14, 11, @on
This creates a trace that writes to a file.
这是创建跟踪并将事件附加到跟踪。
所以,现在开始跟踪,你可以安排这个文件的执行。批处理文件看起来像这样;
osql -E -S MACHINE\INSTANCE -i "c:\my-trace-definition.sql"
感谢您的链接 - 非常有用。我应该提到,我不想编辑当前的功能,因为它在生产中。 – Ferdeen 2009-02-19 10:11:38