濮阳杆衣贸易有限公司

主頁 > 知識庫 > SQL Server查看未釋放游標(biāo)的方法

SQL Server查看未釋放游標(biāo)的方法

熱門標(biāo)簽:濮陽清豐400開頭的電話申請 樂昌電話機器人 疫情時期電話機器人 南京怎么申請400這種電話 真3地圖標(biāo)注 地圖標(biāo)注可以編輯地名嗎 南通智能外呼系統(tǒng)怎么樣 臺灣外呼系統(tǒng)軟件 地圖標(biāo)注跑線下市場

一直以來對SQL SERVER的游標(biāo)都不怎么感冒,也很少使用SQL Server里面的游標(biāo),前幾天有一位網(wǎng)友問如何檢查數(shù)據(jù)庫里面沒有釋放的游標(biāo),覺得有點意思,就測試驗證了一下,順便整理于此。

會話1:我們模擬一個應(yīng)用程序或腳本,在打開游標(biāo)后,忘記關(guān)閉、釋放游標(biāo)。

DECLARE Cursor_Test CURSOR FORSELECT * FROM dbo.TEST;OPEN Cursor_Test; 

此時如果我們?nèi)绾螜z查數(shù)據(jù)庫里面沒有釋放的游標(biāo)?其實SQL SERVER提供了一個動態(tài)管理函數(shù)sys.dm_exec_cursors,它返回有關(guān)在各種數(shù)據(jù)庫中打開的游標(biāo)的信息。

SELECT * FROM sys.dm_exec_cursors(0) 

關(guān)于該動態(tài)管理函數(shù)返回的表的各個字段的解釋,可以參考MSDN文檔。不同數(shù)據(jù)庫版有所區(qū)別。如果要查詢沒有關(guān)閉的游標(biāo),則需要對字段is_open進行過濾(指定游標(biāo)是否處于打開狀態(tài)。1為打開,0表示關(guān)閉)

會話2:查看沒有關(guān)閉的游標(biāo)

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

如果想查看已經(jīng)關(guān)閉,但是沒有釋放的游標(biāo),可以在會話1執(zhí)行關(guān)閉游標(biāo)命令CLOSE Cursor_Test;但是不釋放游標(biāo),如下截圖所示


另外,可以用下面SQL查看服務(wù)器上打開時間超過指定時間(1 小時)的游標(biāo)的信息,根據(jù)需要自行調(diào)整查詢條件。

SELECT creation_time 
,cursor_id 
,name 
,c.session_id 
,login_name 
,c.creation_time 
,c.is_openFROM 
sys.dm_exec_cursors (0) AS c 
JOIN sys.dm_exec_sessions AS s ON c.session_id = s.session_idWHERE 
DATEDIFF(hh, c.creation_time, GETDATE()) > 1;GO

以上所述是小編給大家介紹的SQL Server查看未釋放游標(biāo)的方法,希望對大家有所幫助!

您可能感興趣的文章:
  • Sql Server臨時表和游標(biāo)的使用小結(jié)
  • SQL Server使用游標(biāo)處理Tempdb究極競爭-DBA問題-程序員必知
  • MS SQL Server游標(biāo)(CURSOR)的學(xué)習(xí)使用
  • sqlserver游標(biāo)使用步驟示例(創(chuàng)建游標(biāo) 關(guān)閉游標(biāo))
  • SQLServer用t-sql命令批量刪除數(shù)據(jù)庫中指定表(游標(biāo)循環(huán)刪除)
  • SQL Server 游標(biāo)語句 聲明/打開/循環(huán)實例
  • SQL Server游標(biāo)的使用/關(guān)閉/釋放/優(yōu)化小結(jié)
  • SQL Server遍歷表中記錄的2種方法(使用表變量和游標(biāo))
  • sqlserver中觸發(fā)器+游標(biāo)操作實現(xiàn)
  • SQL Server游標(biāo)的介紹與使用

標(biāo)簽:河北 馬鞍山 福建 南京 廣安 陜西 通遼 阿里

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server查看未釋放游標(biāo)的方法》,本文關(guān)鍵詞  SQL,Server,查看,未,釋放,游,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server查看未釋放游標(biāo)的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL Server查看未釋放游標(biāo)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    淳安县| 农安县| 隆安县| 家居| 丁青县| 绥中县| 肃北| 黄龙县| 海晏县| 富源县| 淅川县| 东山县| 富蕴县| 曲松县| 屏东市| 颍上县| 平阴县| 卓尼县| 绍兴市| 黎川县| 扶沟县| 汝城县| 临泽县| 宜良县| 黄冈市| 平安县| 柳林县| 莎车县| 墨脱县| 惠来县| 英德市| 浮梁县| 桦甸市| 桃源县| 武鸣县| 进贤县| 北宁市| 武城县| 改则县| 乌恰县| 山东|