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