SQL Server中查看哪些遊標未釋放

SQL SERVER提供了一個動態管理函數sys.dm_exec_cursors,返回有關在數據庫中打開的遊標的信息。html

 

1、語法sql

dm_exec_cursors (session_id | 0 )數據庫


 

2、參數說明session

session_id | 0:會話的 ID。函數

一、若是指定了 session_id,則此函數返回有關指定會話中游標的信息。spa

二、若是指定了 0,則此函數返回有關全部會話的全部遊標的信息。code

 


3、查詢沒有關閉的遊標htm

須要對字段is_open進行過濾(指定遊標是否處於打開狀態。1爲打開,0表示關閉)get


SELECT  session_id ,
        cursor_id ,
        name ,
        creation_time ,
        is_open
FROM    sys.dm_exec_cursors(0)
WHERE   is_open = 1;



4、已經關閉,可是沒有釋放的遊標io

 

過濾 is_open=0

 

SELECT  session_id ,
        cursor_id ,
        name ,
        creation_time ,
        is_open
FROM    sys.dm_exec_cursors(0)
WHERE   is_open = 0;



參考資料:SQL Server中查看哪些遊標未釋放  http://www.studyofnet.com/news/1170.html

相關文章
相關標籤/搜索