Sybase中查詢某個程序在執行哪些查詢

2021-06-16 16:50:03 字數 972 閱讀 4370

sp_who可以查詢系統中程序的情況,sp_lock可以查詢系統中鎖的情況,知道是哪個程序出了問題之後,可以用一下方法查詢某個程序在幹什麼:

dbcc traceon(3604)

godbcc sqltext(pid)

其中pid為程序號,輸出結果如下:

sql text: select xh,gcmc,zbjggsrq,zbtzsrq from gs_zbxx where datediff(dd,zbjggsrq,getdate())<=3 order by zbjggsrq desc

see also:

sybase faq: 6/19 – ase admin (3 of 7)

advanced ase administration

update @ 2007-04-20

其實3604是指定dbcc把資訊輸出到使用者螢幕上,相應的還可以使用dbcc traceon(3604)指定輸出到errorlog,不過這些都是針對人為的操作,如果是使用程式,比如php語言來查詢dbcc資訊的話,php是無法得到這些輸出的,這種情況就只能借助外部程式,比如isql或者sqsh來實現了,就像這樣:

$sql = '';

$sql .= "dbcc traceon(3604)\n";

$sql .= "go\n";

$sql .= "dbcc sqltext($spid)\n";

// notice, multi-line cmd

$cmd = "sqsh -s $host -u $user -p \"$pass\" -c \"$sql\"";

$rs = shell_exec($cmd);

$sql .= "dbcc pss(0, $spid, 0)";
現在還剩下乙個缺點,就是有些sql(可能是多行的)查詢出來時會被無端截斷,只顯示後面一部分,不過大部分情況下還都是好的。

mysql查詢正在執行的程序

檢視mysql程序有兩種方法 1.進入mysql bin目錄下輸入mysqladmin processlist 2.啟動mysql,輸入show processlist 如果有super許可權,則可以看到全部的執行緒,否則,只能看到自己發起的執行緒 這是指,當前對應的mysql帳戶執行的執行緒 my...

Linux中檢視某個埠在執行什麼程式

我們在linux常常要檢視一下某個埠下在執行著什麼程式或服務,如檢視80埠被什麼程式占用著呢?這個時候就能檢視一下該埠下有什麼程式或服務在執行著。當我們用 netstat an 時,我們常常會看到類似這樣毫無意義的輸出 udp 00 0.0.0.0 32768 0.0.0.0 udp 00 0.0....

SQL SERVER中查詢某個表或某個索引是否存在

查詢某個表是否存在 在實際應用中可能需要刪除某個表,在刪除之前最好先判斷一下此表是否存在,以防止返回錯誤資訊。在sql server中可通過以下語句實現 if object id n 表名稱 n u is not null drop table 表名稱 注意,普通表和臨時表的使用差別 若希望刪除te...