查看执行的sql产生了哪些锁
上一篇 / 下一篇 2009-10-29 10:24:35 / 个人分类:性能测试
-`9NF:kB(` X Z0查看DBname数据除了共享锁之外的,所有锁,及当前执行是那个sql语句51Testing软件测试网7V"zcuf
f
_5O+q5Q0use master
?0F}Y
D|i,v.^0if Exists(select * from sys.procedures where name='P_test')
fVoDtM3?0drop proc P_test
s.x0H&W
@B0go51Testing软件测试网m8n,k U B
Create proc P_test51Testing软件测试网y9{?#g6S
y,Ms
@spid int
R2W$u-C(A
m0as51Testing软件测试网/P,Jqu/tx-~5|
dbcc inputbuffer(@spid)
g o$lde4P8}0go51Testing软件测试网v;ep?$B
51Testing软件测试网u|'e|
ek
~^
Create table #LockInfo(51Testing软件测试网Eo EZBS x
EventType nvarchar(4000),51Testing软件测试网:U6`Le_e&U:{9Mw
[Parameters] int,
|u(`8|z-gX/C0 EventInfo nvarchar(4000),51Testing软件测试网Z$Z)R]4}v:R
);
CREATE Table #Lock(spid int,
aheo ~^`g0 dpid int,51Testing软件测试网G)M8i?R2P1R G/h
objid int,51Testing软件测试网1y eL
gX,E
indld int,51Testing软件测试网cW7g"\$vyg
[Type] nvarchar(20),51Testing软件测试网Ty*?-h'x
Resource nvarchar(50),
EBH
Y4P|'[G`0 Mode nvarchar(10),
~6iaBMc'A-WA7H0 Status nvarchar(10)51Testing软件测试网*rT#f)?Q[
);
)C \%Aodj8}g0
zM znY#@0 51Testing软件测试网
KF,}o#iZ0G^e$h
INSERT INTO #Lock51Testing软件测试网ii2}@D
EXEC sp_lock
6EN&i(mE@0
T:@+aA!D&b,~0 51Testing软件测试网/O-Km0?6SA
declare @shardid int
&q!f8?6wu0]D!n:@0 select @shardid=dbid from sysdatabases where name='DBname'
X]a+@6lP~0 51Testing软件测试网f?Y8z:n#CK)as
delete from #Lock where dpid<>@shardid or Mode='S'51Testing软件测试网jOT$N#o/ct
51Testing软件测试网^-[te)rQ6mC
DECLARE crsr Cursor FOR
BI~k$K%ss0 select spid from #lock where Mode<>'S'; 51Testing软件测试网eZ%F4L)oJW*F