- 相關(guān)推薦
用SQLSERVER查詢正在實(shí)行的SQL的方法
具體操作:
根據(jù)master.dbo.sysprocesses中的spid和blocked查找當(dāng)前阻塞語(yǔ)句的主人,然后使用DBCC INPUTBUFFER ()查看阻塞語(yǔ)句。
例子:
打開三個(gè)查詢分析器 A、B、C
創(chuàng)建一個(gè)測(cè)試用的表 testDia
Create Table testDia(ID int);
在A執(zhí)行以下語(yǔ)句:
Begin tran
Insert Into testDia Values(1);
在B執(zhí)行以下語(yǔ)句:
Select * from testDia
當(dāng)前情況:B中沒有顯示結(jié)果,顯示狀態(tài)為等待
在C執(zhí)行以下語(yǔ)句:
declare @spid int, @blocked int
select top 1 @blocked = blocked
from master.dbo.sysprocesses
where blocked > 0
DBCC INPUTBUFFER (@blocked)
技術(shù)參考:
DBCC INPUTBUFFER (Transact-SQL)
顯示從客戶端發(fā)送到 Microsoft SQL Server 2005 實(shí)例的最后一個(gè)語(yǔ)句。
DBCC INPUTBUFFER ( session_id [ , request_id ] )
[WITH NO_INFOMSGS ]
session_id
與各活動(dòng)主連接關(guān)聯(lián)的會(huì)話 ID。
request_id
要在當(dāng)前會(huì)話中精確搜索的請(qǐng)求(批)。
下面的查詢返回 request_id:
復(fù)制代碼
SELECT request_id
FROM sys.dm_exec_requests
WHERE session_id = @@spidWITH
啟用要指定的選項(xiàng)。
NO_INFOMSGS
取消嚴(yán)重級(jí)別從 0 到 10 的所有信息性消息。
【用SQLSERVER查詢正在實(shí)行的SQL的方法】相關(guān)文章:
用SQL實(shí)現(xiàn)查詢數(shù)據(jù)不顯示錯(cuò)誤數(shù)據(jù)的方法03-29
SQL查詢語(yǔ)句大全04-25
sql語(yǔ)句的各種模糊查詢03-30
Sql Server、Access數(shù)據(jù)排名的實(shí)現(xiàn)方法03-30
MySQL導(dǎo)出導(dǎo)入SQL文件命令方法03-30
有關(guān)清除SQL Server日志的兩種方法03-29
SQL2008定時(shí)任務(wù)作業(yè)創(chuàng)建方法03-29
2016年微軟認(rèn)證模擬試題「SQLServer」03-15
SQL優(yōu)化大全03-08