Sybase
如何知道 spid 正在從 sybase 中的臨時表名填充 tempdb
我收到警報說 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