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


当说到跟踪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 <on/off> 
2. set showplan <on/off>
3. set statistics io <on/off>
4. set statistics time <on/off>
5. set statistics plancost <on/off>

需要说明的是:

set tracefile “<file-path>” for <spid> 这是跟踪对应<spid>的连接的所有SQL语句


set tracefile "<file-path>"只跟踪当前连接的所有SQL语句。

set tracefile on/off (启用或关闭)

当然,dbcc traceon(100) 也会输出一些跟踪的结果在服务器端。

相关内容