我经常会使用SQL Profiler在SQL Server端截获程序运行的SQL, 从而来研究程序到底执行的是哪些SQL语句,但我发现由于SQL Profiler功能太过强大,我们想找的语句总是淹没在截获的浩瀚的语句中,所以就想通过过滤来只显示我们想要的语句,研究了一下,通过下面的方法可以很快找到我们的想要的:
1. 在创建Trace,选择Events Selection标签窗口
2. 在Events列中,选择TSQL中的SQL:BatchCompleted, 点击右下角的Column Filters按钮
3. 在弹出的对话框中,选择TextData, 然后我们就可以设置过滤条件了: 有两种Like, Not like
比如我们想查找包含UPDATE的语句,就可以在like中填写%UPDATE%, 那么过滤的就是所有包含UPDATE的SQL,我们还可以通过DatabaseName来显示单个数据库相关的SQL
我们可以把条件设置的更精确一点,这样过滤的效果会更好,比如通过特定的表名来过滤。
更多设置过滤条件请参照:
http://msdn.microsoft.com/en-us/library/ms187489.aspx