查看执行的sql产生了哪些锁

上一篇 / 下一篇  2009-10-29 10:24:35 / 个人分类:性能测试

-`9NF:k B(`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')

c"g,gq$p\y;{0

fVoDtM3?0drop proc P_test
s.x0H&W @B0go51Testing软件测试网m8n,k UB
Create proc P_test51Testing软件测试网 y9{?#g6S y,Ms
@spid int
R2W$u-C(A m0as51Testing软件测试网/P,Jqu/tx-~5|
dbcc inputbuffer(@spid)
g o$ld e4P8}0go51Testing软件测试网v;ep?$B
 51Testing软件测试网u|'e| ek ~^
 Create table #LockInfo(51Testing软件测试网EoEZBS 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
  );

n$su D]R.Ej051Testing软件测试网:dd)wif0_s:| s

 CREATE Table #Lock(spid int,
aheo ~^`g0     dpid int,51Testing软件测试网G)M8i?R2P1RG/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 \%Ao dj8}g0 
zM znY#@0   51Testing软件测试网 KF,}o#iZ0G^ e$h
 INSERT INTO #Lock51Testing软件测试网i i2}@D
     EXEC sp_lock 
6EN&i(m E@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软件测试网jO T$N#o/ct

51Testing软件测试网5] {mLBQv

51Testing软件测试网^-[te)rQ6mC
 DECLARE crsr Cursor FOR   
BI~k$K%ss0 select spid from #lock where Mode<>'S';  51Testing软件测试网eZ%F4L)oJW*F
 

ZGKZ)X0

oX ~| VPN2B0 declare @PreccessID int;
.E3}+Z-ha4t&B c0 open crsr;
Y%wrry`N!x0 Fetch next from crsr into @PreccessID;

0p5T$D9]bz a5{051Testing软件测试网1SW v B M\4d4i5r

 WHILE (@@FETCH_STATUS = 0)51Testing软件测试网:mN W0}y9EW
 BEGIN
'p9\g"Lj(?t0 51Testing软件测试网k Ag+ItW5|#Uf
  insert into #LockInfo exec P_test @PreccessID;51Testing软件测试网"q)if\ z9Gw5U
  --dbcc inputbuffer(@PreccessID)51Testing软件测试网 zx9qUv(?q
  FETCH NEXT FROM crsr INTO @PreccessID;51Testing软件测试网$?C@Cl#Yk ?
 END51Testing软件测试网w I%QG#I8DV
 close crsr;
.z4iZ0h*F Z6J0 
P'MA;t'eT0 select #LockInfo.*,#Lock.Mode,#Lock.spid as Processid from #LockInfo, #lock51Testing软件测试网?#m|DWoS`#l7Y
 drop table #LockInfo;51Testing软件测试网$?{@R"T
 DROP Table #Lock;51Testing软件测试网/kw5G@+ia Q
 51Testing软件测试网d[w5t8m2I Ch
 DEALLOCATE crsr;

^-S.v?_[)Kv0

4Li}[D"{0go

*U whG&w+H:BnY0

2fiF ^AfISc0 

kHZ8N5w-jr0

TAG:

 

评分:0

我来说两句

Open Toolbar