Sybase

如何知道 spid 正在從 sybase 中的臨時表名填充 tempdb

  • February 19, 2016

我收到警報說 tempdb 將已滿,並且還提供了臨時表名稱。現在我想知道如何從臨時表名中檢查哪個 spid 正在填充 tempdb。

最好是使用 montables。確保您已啟動 mon 表。驗證後,您可以發出以下選擇語句:

select SPID, DBName, ObjectName, PartitionSize
from master..monProcessObject
where DBID = tempdb_id(SPID)
order by SPID

有關詳細資訊,請參閱 Sybase 官方文件:http: //infocenter.sybase.com/help/index.jsp ?topic=/com.sybase.infocenter.dc00967.1550/html/MigrationGuide/MigrationGuide14.htm

請注意,上述針對 monProcessObject 的查詢並未檢測到“隱式”tempdb 使用情況。即,來自查詢優化器操作使用的“order by”、“group by”或其他內部/隱藏的基於 tempdb 的工作表的使用。

要監視 tempdb 的隱式和顯式使用情況,請嘗試:

select spid,tempdb_pages=pssinfo(spid,"tempdb_pages")
from master..sysprocesses

此 pssinfo 功能至少在 15.5 及更高版本中可用。不確定 12.5.4

引用自:https://dba.stackexchange.com/questions/59025