Sybase ASE15.x中启用跟踪SQL语句的方法

2014-11-24 18:13:32 · 作者: · 浏览: 0

当说到跟踪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) 也会输出一些跟踪的结果在服务器端。