zoukankan      html  css  js  c++  java
  • MSSql高级--阻塞和死锁

     在数据库高并发和高耗资源的情况下易出现死锁,这里我们提供死锁解决方案,后续我们会写高并发和高耗资源相关解决方案文章,敬请期待。快速开发平台

    --当很多连接到你的数据库时,报这种错误“已超过了锁请求超时时段”
    --直接把下在面的存储过程 放到你的Master数据库执行一下就可以了
    USE DBName
    SET ANSI_NULLS ON
    SET QUOTED_IDENTIFIER ON
    go

    create PROC [dbo].[Sp_KillAllProcessInDB] @DbName VARCHAR(100)
    AS
    IF DB_ID(@DbName) = NULL
    BEGIN
    PRINT 'DataBase dose not Exist'
    END
    ELSE
    BEGIN
    DECLARE @killspId VARCHAR(30)
    DECLARE TmpCursor CURSOR
    FOR
    SELECT 'Kill ' + CONVERT(VARCHAR, spid) AS spId
    FROM master..SysProcesses
    WHERE DB_NAME(dbid) = @DbName
    AND spid <> @@spid --终止不是当前进程的进程(不等于当前进程)
    AND dbid <> 0 --数据库ID不是0
    OPEN TmpCursor
    FETCH NEXT FROM TmpCursor

    INTO @killspId --select into @killspId
    WHILE @@FETCH_STATUS = 0
    BEGIN
    EXEC (@killspId)
    FETCH NEXT FROM TmpCursor
    INTO @killspId

    END

    CLOSE TmpCursor
    DEALLOCATE TmpCursor
    END


    --exec Sp_KillAllProcessInDB 'DBName'
    --查询死锁
    select * from master..SysProcesses where db_Name(dbID) = 'DBName'
    and spId <> @@SpId
    and dbID <> 0
    and blocked >0;          

    本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
    转载请注明:文章转载自:华晨软件-云微开发平台 » MSSql高级--阻塞和死锁
    本文标题:MSSql高级--阻塞和死锁

  • 相关阅读:
    UML基本关系
    C++关键字简述
    Install opencv on Centos
    C++编程规范
    YCbCr to RGB and RGB toYCbCr
    Linux目录结构(二)
    Dubbo工作流程
    spring bean的作用域和生命周期
    spring aop原理和实现
    静态代理、jdk动态代理、cglib动态代理
  • 原文地址:https://www.cnblogs.com/frfwef/p/14574999.html
Copyright © 2011-2022 走看看