当说到跟踪SQL语句,有人可能会问起这个功能,也许有人会想到用审计功能,为了跟踪SQL语句,去启用审计功能,会成为一种浪费,或许用户只是想跟踪某一个连接的所有SQL语句呢?
请看简单的示例:
-
1> set tracefile "d:/abc.txt"
-
2> go
-
1> set show_sqltext on
-
2> set statistics io on
-
3> go
-
1> select * from t123
-
2> go
-
id col2
-
再打开d:\abc.txt,内容如下:
-
================================================================================
-
Application Tracing report for spid 26 from application "isql"
-
run by login "sa" on host "SEAN-E6400"
-
Tracing started on 2013/02/07 05:15:34.48
-
================================================================================
-
-
2013/02/07 05:15:50.70
-
No useful sqltext available.
-
Total writes for this command: 0
-
End of Batch 4
-
-
2013/02/07 05:15:55.28
-
SQL Text: select * from t123
-
-
Table: t123 scan count 1, logical reads: (regular=1 apf=0 total=1), physical reads: (regular=0 apf=0 total=0), apf IOs used=0
-
Total writes for this command: 0
-
End of Batch 5
这样看来,还是蛮方便的,索引把上边的on/off开关选项,常用的都列到这里:
1. set show_sqltext
2. set showplan
3. set statistics io
4. set statistics time
5. set statistics plancost
需要说明的是:
set tracefile “” for 这是跟踪对应的连接的所有SQL语句
set tracefile ""只跟踪当前连接的所有SQL语句。
set tracefile on/off (启用或关闭)
当然,dbcc traceon(100) 也会输出一些跟踪的结果在服务器端。
阅读(4223) | 评论(0) | 转发(0) |