亚洲3P视频,日韩BBW无码,亚洲制服麻豆网站,88re伊人,九草精品视频在线观看,国产精品久久夜,色青青狠狠色,无码熟女一区二区三区,日本一区二区成人网站

新聞建站cms系統(tǒng)、政府cms系統(tǒng)定制開發(fā)

廣州網(wǎng)站建設(shè)公司-閱速公司

asp.net新聞發(fā)布系統(tǒng)、報(bào)紙數(shù)字報(bào)系統(tǒng)方案
/
http://m.duxiu2008.cn/
廣州網(wǎng)站建設(shè)公司
您當(dāng)前位置:首頁>sqlserver數(shù)據(jù)庫

sqlserver數(shù)據(jù)庫

SQL 系統(tǒng)進(jìn)程的運(yùn)行(status)狀態(tài)(Runnable、Running、Suspended、Sleeping、Pending、Dormant、Background、Spinlock)

發(fā)布時(shí)間:2025/7/15 12:13:30  作者:Admin  閱讀:43  

廣告:

1、狀態(tài)(status)解釋

  • “pending”(等待),代表這個(gè)process,既沒有Thread可用,也沒有CPU可用,正在同時(shí)等待這兩項(xiàng)系統(tǒng)資源。
  • “runnable”,代表這個(gè)process,有Thread可用,但沒有CPU可用,所以它正在等待CPU這項(xiàng)系統(tǒng)資源。
  • “running”,代表這個(gè)process,有Thread可用,有CPU可用。
  • “suspended”(暫停),代表這個(gè)process,正在「等待」別的process執(zhí)行,等待的系統(tǒng)資源可能是Disk I/O或數(shù)據(jù)庫的Lock。(若這個(gè)process執(zhí)行的SELECT沒加上NOLOCK關(guān)鍵字,而別的process正在進(jìn)行「交易」或?qū)懭耄〞覮ock),則這個(gè)SELECT的process就會呈現(xiàn)“suspended”的狀態(tài)。)
  • “sleeping”,代表這個(gè)process,目前沒在做任何事,正在等待進(jìn)一步的指令。(sleeping 代表建立了數(shù)據(jù)庫連接,但程序沒有發(fā)出SQL命令. 因?yàn)閼?yīng)用程序?yàn)榱藴p少打開和關(guān)閉連接的開銷,在完成數(shù)據(jù)庫中的操作后,仍然保持?jǐn)?shù)據(jù)庫的連接,這些連接的最主要目的是重用。
  • “dormant”(暫時(shí)擱置),代表SQL Server正在對這個(gè)process做reset。
  • “background”,代表這個(gè)process正在SQL Server背景執(zhí)行。即使你看到有很多“background”process正在執(zhí)行,也不必?fù)?dān)心。
  • “Spinlock”(自旋鎖),本質(zhì)上意味著查詢處于某種運(yùn)行模式,它在CPU中忙于等待自己的輪詢。

2、查看的幾種方式:

//1
SELECT * FROM sys.sysprocesses;
//2
EXEC sp_who2;
//3
SELECT sqltext.TEXT, req.session_id, req.status, req.command, req.cpu_time, req.blocking_session_id, req.total_elapsed_time
FROM sys.dm_exec_requests req (NOLOCK)
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext

3、sys.sysprocesses 主要字段解釋

  • Spid:Sql Servr 會話ID
  • Kpid:Windows 線程ID
  • Blocked:正在阻塞求情的會話 ID。如果此列為 Null,則標(biāo)識請求未被阻塞
  • Waittype:當(dāng)前連接的等待資源編號,標(biāo)示是否等待資源,0 或 Null表示不需要等待任何資源
  • Waittime:當(dāng)前等待時(shí)間,單位為毫秒,0 表示沒有等待
  • DBID:當(dāng)前正由進(jìn)程使用的數(shù)據(jù)庫ID
  • UID:執(zhí)行命令的用戶ID
  • Login_time:客戶端進(jìn)程登錄到服務(wù)器的時(shí)間。
  • Last_batch:上次執(zhí)行存儲過程或Execute語句的時(shí)間。對于系統(tǒng)進(jìn)程,將存儲Sql Server 的啟動時(shí)間
  • Open_tran:進(jìn)程的打開事務(wù)個(gè)數(shù)。如果有嵌套事務(wù),就會大于1
  • Status:進(jìn)程ID 狀態(tài),dormant = 正在重置回話 ; running = 回話正在運(yùn)行一個(gè)或多個(gè)批處理 ; background = 回話正在運(yùn)行一個(gè)后臺任務(wù) ; rollback = 會話正在處理事務(wù)回滾 ; pending = 回話正在等待工作現(xiàn)成變?yōu)榭捎?; runnable = 會話中的任務(wù)在等待獲取 Scheduler 來運(yùn)行的可執(zhí)行隊(duì)列中 ; spinloop = 會話中的任務(wù)正在等待自旋鎖變?yōu)榭捎?; suspended = 會話正在等待事件完成
  • Hostname:建立鏈接的客戶端工作站的名稱
  • Program_name:應(yīng)用程序的名稱,就是 連接字符串中配的 Application Name
  • Hostprocess:建立連接的應(yīng)用程序在客戶端工作站里的進(jìn)程ID號
  • Cmd:當(dāng)前正在執(zhí)行的命令
  • Loginame:登錄名

檢查死鎖進(jìn)程的方式

//方式1
declare @spid int,@bl int 
DECLARE s_cur CURSOR FOR  select 0 ,blocked  from (select * from sys.sysprocesses where blocked>0 ) a 
where not exists(select * from (select * from sys.sysprocesses where blocked>0 ) b  where a.blocked=spid) 
union
select spid,blocked from sys.sysprocesses where blocked>0  OPEN s_cur  FETCH NEXT FROM s_cur INTO @spid,@bl  WHILE @@FETCH_STATUS = 0 
begin  if @spid =0      
select ' 引起數(shù)據(jù)庫死鎖的是: '+ CAST(@bl AS VARCHAR(10)) + ' 進(jìn)程號, 其執(zhí)行的SQL 語法如下'  else       
select ' 進(jìn)程號SPID :'+ CAST(@spid AS VARCHAR(10))+ ' 被' + ' 進(jìn)程號SPID :'+ CAST(@bl AS VARCHAR(10)) +' 阻塞, 其當(dāng)前進(jìn)程執(zhí)行的SQL 語法如下'
DBCC INPUTBUFFER (@bl )  FETCH NEXT FROM s_cur INTO @spid,@bl  end  CLOSE s_cur 
DEALLOCATE s_cur
 
//方式2
use master
go
--檢索死鎖進(jìn)程
select spid, blocked, loginame, last_batch, status, cmd, hostname, program_name
from sysprocesses
where spid in
( select blocked from sysprocesses where blocked <> 0 ) or (blocked <>0)

廣告:

相關(guān)文章
運(yùn)行(status)狀態(tài)
cms新聞系統(tǒng)購買咨詢
掃描關(guān)注 廣州閱速軟件科技有限公司
掃描關(guān)注 廣州閱速科技
孝感市| 南乐县| 永嘉县| 嘉荫县| 云霄县| 桐城市| 新乡县| 壶关县| 孝感市| 安塞县| 米泉市| 白朗县| 锡林浩特市| 贵港市| 怀化市| 普陀区| 怀集县| 肃北| 历史| 青河县| 南宫市| 锡林郭勒盟| 定安县| 浦东新区| 阳信县| 南阳市| 西贡区| 扎鲁特旗| 阿拉善左旗| 离岛区| 锡林浩特市| 游戏| 鄢陵县| 日照市| 集安市| 吴江市| 迁西县| 东乌| 徐闻县| 壤塘县| 祁东县|