麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

SQL Server死鎖的解除方法

2024-08-31 01:01:37
字體:
來源:轉載
供稿:網友
SQL Server死鎖使我們經常遇到的問題,下面就為您介紹如何查詢SQL Server死鎖,希望對您學習SQL Server死鎖方面能有所幫助。
    SQL Server死鎖的查詢方法:
    exec master.dbo.p_lockinfo 0,0 ---顯示死鎖的進程,不顯示正常的進程
    exec master.dbo.p_lockinfo 1,0 ---殺死死鎖的進程,不顯示正常的進程
    SQL Server死鎖的解除方法:
    Create proc p_lockinfo
    @kill_lock_spid bit=1, --是否殺掉死鎖的進程,1 殺掉, 0 僅顯示
    @show_spid_if_nolock bit=1 --如果沒有死鎖的進程,是否顯示正常進程信息,1 顯示,0 不顯示
    as
    declare @count int,@s nvarchar(1000),@i int
    select id=identity(int,1,1),標志,
    進程ID=spid,線程ID=kpid,塊進程ID=blocked,數據庫ID=dbid,
    數據庫名=db_name(dbid),用戶ID=uid,用戶名=loginame,累計CPU時間=cpu,
    登陸時間=login_time,打開事務數=open_tran, 進程狀態=status,
    工作站名=hostname,應用程序名=program_name,工作站進程ID=hostprocess,
    域名=nt_domain,網卡地址=net_address
    into #t from(
    select 標志='死鎖的進程',
    spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran,
    status,hostname,program_name,hostprocess,nt_domain,net_address,
    s1=a.spid,s2=0
    from mastersysprocesses a join (
    select blocked from mastersysprocesses group by blocked
    )b on a.spid=b.blocked where a.blocked=0
    union all
    select '|_犧牲品_>',
    spid,kpid,blocked,dbid,uid,loginame,cpu,login_time,open_tran,
    status,hostname,program_name,hostprocess,nt_domain,net_address,
    s1=blocked,s2=1
    from mastersysprocesses a where blocked<>0
    )a order by s1,s2
    select @count=@@rowcount,@i=1
    if @count=0 and @show_spid_if_nolock=1
    begin
    insert #t
    select 標志='正常的進程',
    spid,kpid,blocked,dbid,db_name(dbid),uid,loginame,cpu,login_time,
    open_tran,status,hostname,program_name,hostprocess,nt_domain,net_address
    from mastersysprocesses
    set @count=@@rowcount
    end
    if @count>0
    begin
    create table #t1(id int identity(1,1),a nvarchar(30),b Int,EventInfo nvarchar(255))
    if @kill_lock_spid=1
    begin
    declare @spid varchar(10),@標志 varchar(10)
    while @i<=@count
    begin
    select @spid=進程ID,@標志=標志 from #t whereid=@i
    insert #t1 exec('dbcc inputbuffer('+@spid+')')
    if @標志='死鎖的進程' exec('kill'+@spid)
    set @i=@i+1
    end
    end
    else
    while @i<=@count
    begin
    select @s='dbcc inputbuffer('+cast(進程ID as varchar)+')' from #t whereid=@i
    insert #t1 exec(@s)
    set @i=@i+1
    end
    select a.*,進程的SQL語句=b.EventInfo
    from #t a join #t1 b on a.id=b.id
    end
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: h色视频网站 | 国产亚洲精品美女久久久 | 精品一区二区三区欧美 | 男女生羞羞视频网站在线观看 | 欧美亚洲一级 | 久久国精品 | 九九热在线视频免费观看 | av国产片 | 亚洲午夜在线 | 一级成人在线 | 性生活视频一级 | 成人性生活视频在线播放 | 成人在线观看免费爱爱 | 欧美 videos粗暴 | 好吊色欧美一区二区三区四区 | 日韩精品dvd | 视频一区二区三区在线播放 | 最近高清无吗免费看 | 看中国一级毛片 | 久久人人爽人人爽人人片av高清 | 羞羞视频免费观看入口 | 国产精品99久久久久久久vr | 毛片免费看的 | 黄色片网站免费 | 欧美一级毛片免费观看 | 黑人一区二区 | 国产免费久久久久 | 成人国产在线看 | 羞羞网站在线观看入口免费 | 欧美男女爱爱视频 | 特级黄一级播放 | 国产成人精品网站 | 色999久久久精品人人澡69 | 欧美韩国日本在线 | 国产免费高清在线视频 | 俄罗斯16一20sex牲色另类 | 午夜视频在线观看免费视频 | 国产日韩亚洲 | 免费网站看v片在线a | 久久av喷吹av高潮av懂色 | av免费在线观看不卡 |