任何人都有动态创建SQL Server跟踪的任何片段?我在MSDN上找到this但它似乎只输出到文件系统。如何将其记录到数据库表或通过某种UDF返回?理想情况下,它将用于创建一个调试工具,因此将它包装在可以轻松打开和关闭的东西中会很好。
答案 0 :(得分:2)
服务器端不使用行集提供程序的SQL Trace可以仅跟踪到文件系统。
Profiler提供了保存到表的选项,但通过使用行集输出并将其发送回服务器来实现这一点,这是非常低效的。
您可以按照以下方式轻松访问这些服务器端跟踪并自行将其加载到表中(下面的代码片段返回默认跟踪的输出)
select t.* from
fn_trace_getinfo(default) i
cross apply
sys.fn_trace_gettable(cast(i.value as nvarchar(4000)),DEFAULT) t
where i.traceid=1 and i.property=2