<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825731
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    轉(zhuǎn):http://database.51cto.com/art/201011/233039.htm
    SQL Server死鎖使我們經(jīng)常遇到的問題,下面就為您介紹如何查詢SQL Server死鎖,希望對您學習SQL Server死鎖方面能有所幫助。

    SQL Server死鎖的查詢方法:

    1. exec master.dbo.p_lockinfo 0,0 ---顯示死鎖的進程,不顯示正常的進程  
    2.  
    3. exec master.dbo.p_lockinfo 1,0 ---殺死死鎖的進程,不顯示正常的進程 

    SQL Server死鎖的解除方法:

    1. Create proc p_lockinfo  
    2. @kill_lock_spid bit=1, --是否殺掉死鎖的進程,1 殺掉, 0 僅顯示  
    3. @show_spid_if_nolock bit=1 --如果沒有死鎖的進程,是否顯示正常進程信息,1 顯示,0 不顯示  
    4. as  
    5.  
    6. declare @count int,@s nvarchar(1000),@i int  
    7. select id=identity(int,1,1),標志,  
    8. 進程ID=spid,線程ID=kpid,塊進程ID=blocked,數(shù)據(jù)庫ID=dbid,  
    9. 數(shù)據(jù)庫名=db_name(dbid),用戶ID=uid,用戶名=loginame,累計CPU時間=cpu,  
    10. 登陸時間=login_time,打開事務數(shù)=open_tran, 進程狀態(tài)=status,  
    11. 工作站名=hostname,應用程序名=program_name,工作站進程ID=hostprocess,  
    12. 域名=nt_domain,網(wǎng)卡地址=net_address  
    13. into #t from(  
    14. select 標志='死鎖的進程',  
    15. spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran,  
    16. status,hostname,program_name,hostprocess,nt_domain,net_address,  
    17. s1=a.spid,s2=0 
    18. from master..sysprocesses a join (  
    19. select blocked from master..sysprocesses group by blocked  
    20. )b on a.spid=b.blocked where a.blocked=0 
    21. union all  
    22. select '|_犧牲品_>',  
    23. spid,kpid,blocked,dbid,uid,loginame,cpu,login_time,open_tran,  
    24. status,hostname,program_name,hostprocess,nt_domain,net_address,  
    25. s1=blocked,s2=1 
    26. from master..sysprocesses a where blocked<>0  
    27. )a order by s1,s2  
    28.  
    29. select @count=@@rowcount,@i=1 
    30.  
    31. if @count=0 and @show_spid_if_nolock=1 
    32. begin  
    33. insert #t  
    34. select 標志='正常的進程',  
    35. spid,kpid,blocked,dbid,db_name(dbid),uid,loginame,cpu,login_time,  
    36. open_tran,status,hostname,program_name,hostprocess,nt_domain,net_address  
    37. from master..sysprocesses  
    38. set @count=@@rowcount  
    39. end  
    40.  
    41. if @count>0  
    42. begin  
    43. create table #t1(id int identity(1,1),a nvarchar(30),b Int,EventInfo nvarchar(255))  
    44. if @kill_lock_spid=1 
    45. begin  
    46. declare @spid varchar(10),@標志 varchar(10)  
    47. while @i<=@count  
    48. begin  
    49.    select @spid=進程ID,@標志=標志 from #t where id=@i  
    50.    insert #t1 exec('dbcc inputbuffer('+@spid+')')  
    51.    if @標志='死鎖的進程' exec('kill'+@spid)  
    52.    set @i=@i+1  
    53. end  
    54. end  
    55. else  
    56. while @i<=@count  
    57. begin  
    58.    select @s='dbcc inputbuffer('+cast(進程ID as varchar)+')' from #t where id=@i  
    59.    insert #t1 exec(@s)  
    60.    set @i=@i+1  
    61. end  
    62. select a.*,進程的SQL語句=b.EventInfo  
    63. from #t a join #t1 b on a.id=b.id  
    64. end  


    posted on 2012-05-28 18:04 Ke 閱讀(1544) 評論(0)  編輯  收藏 所屬分類: sql server
    主站蜘蛛池模板: 亚洲国产精品综合一区在线| 久久久久亚洲AV无码永不| 亚洲中文字幕无码一区| 亚洲网址在线观看你懂的| 亚洲不卡视频在线观看| 日本亚洲中午字幕乱码| 精品乱子伦一区二区三区高清免费播放 | 在线免费观看中文字幕| 又黄又爽无遮挡免费视频| 日韩亚洲人成在线综合日本| 亚洲第一页在线观看| 精品国产日韩亚洲一区91| 你好老叔电影观看免费| 性做久久久久久免费观看| 波多野结衣一区二区免费视频| 亚洲国产一成人久久精品| 久久精品国产亚洲αv忘忧草| 免费看内射乌克兰女| 特级精品毛片免费观看| 日韩免费福利视频| 亚洲av无码一区二区三区乱子伦 | 亚洲第一极品精品无码久久| 亚洲一级黄色大片| 鲁啊鲁在线视频免费播放| 久久国产精品成人片免费| 免费亚洲视频在线观看| 久久亚洲精品无码VA大香大香| 亚洲AV无码男人的天堂| 亚洲一区免费观看| 国产一级理论免费版| 97se亚洲综合在线| 国产亚洲视频在线| www.免费在线观看| 精品国产亚洲男女在线线电影 | 91免费资源网站入口| 亚洲综合国产精品第一页| 亚洲欧洲另类春色校园网站| 国产成人精品免费视频大全| 人禽杂交18禁网站免费| 亚洲av永久无码精品秋霞电影影院| 亚洲αⅴ无码乱码在线观看性色 |