27,579
社区成员
发帖
与我相关
我的任务
分享
引起数据库死锁的是: 89进程号,其执行的SQL语法如下
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED Select top 20000 u1.FDetailID as FListEntryID,(u1.FQty-u1.FAllHookQTY) as FHookQTY,v1.FVchInterID as FVchInterID,v1.FTranType as FTranType,v1.FInterID as FInterID,u1.FEntryID as FEntryID,v1.Fdate as Fdate。。。。
进程号SPID:7被进程号SPID:79阻塞,其当前进程执行的SQL语法如下
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED Select top 20000 u1.FDetailID as FListEntryID,(u1.FQty-u1.FAllHookQTY) as FHookQTY,v1.FVchInterID as FVchInterID,v1.FTranType as FTranType,v1.FInterID as FInterID,u1.FEntryID as FEntryID,v1.Fdate as Fdate。。。。
kill 89
SPID 89: 正在进行事务回滚。估计回滚已完成: 100%。估计剩余时间: 0 秒。
kill 79
SPID 89: 正在进行事务回滚。估计回滚已完成: 100%。估计剩余时间: 0 秒。
查79,89进程信息 --> 正常是2笔结果.
select spid,blocked,waittype,lastwaittype
from master.dbo.sysprocesses
where spid in (79,89)
查被79,89阻塞的进程信息 --> 正常是0笔结果.
select spid,blocked,waittype,lastwaittype
from master.dbo.sysprocesses
where blocked in (79,89)
查被79,89进程锁定的信息
SELECT * FROM master.dbo.syslockinfo where REQ_SPID
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
Select top 20000 u1.FDetailID as FListEntryID,(u1.FQty-u1.FAllHookQTY) as FHookQTY,v1.FVchInterID as FVchInterID,v1.FTranType as FTranType,v1.FInterID as FInterID,u1.FEntryID as FEntryID,v1.Fdate as Fdate
79 0 0x0000 NETWORKIO
89 0 0x0200 EXCHANGE
89 0 0x0046 MISCELLANEOUS
89 0 0x0046 MISCELLANEOUS
select spid,blocked,waittype,lastwaittype
from master.dbo.sysprocesses
where spid in (79,89)