(对不起这个冗长的问题,我会尽量简洁。)
我正在运行 SQL Server Profiler,并且正在解决一些性能问题。我对探查器的功能相对较新,并且我已将跟踪导出到表中,以便可以对数据运行查询。
我遇到的一件事是一些看似奇怪的行为,对跟踪导出生成的表的 TextData 字段进行选择查询。它可能与字段的数据类型(ntext,null)有关。我正在选择特定的值,但得到了意想不到的结果。例如,如果我这样做:
select * from [TraceAnalyzer].dbo.TraceTable
我对这样的价值观感兴趣:
exec [Sproc_of_interest] @parm1=992
我会做这样的查询:
select * from [TraceAnalyzer].dbo.TraceTable
where TextData like '%exec [Sproc_of_interest] @parm1=%'
但返回结果为空。
另外,如果我进行如下查询:
select * from [TraceAnalyzer].dbo.TraceTable
where TextData like '%exec [Sproc_of_interest]%'
我得到了意想不到的 TextData 值,比如exec sp_reset_connection
标准中的方括号会搞砸吗?我试过省略它们,但这只是排除了一切。我不知道 SQL 选择查询中的转义字符,但是当我从有问题的记录之一复制/粘贴值时,粘贴的值似乎不包含任何符合原始查询条件的内容。
任何见解将不胜感激。谢谢。