• Sqlserver 死锁问题


    关于数据库死锁,建议先查到出死锁点,根据死锁点再分析问题所在,进而优化或改正问题

    那么,第一步就是死锁查询:

    1、sp_who 或 sp_who2
    2、Select * from sysprocesses where blocked <> 0
    3:、企业管理器->服务器->管理工具->活动->当前活动 然后把他kill掉。。。 

    进程信息中,如果发现旁边有一个锁状的图标,就表明这个进程是死锁,kill掉

    4、SQL code 先执行 sp_lock Mode 是 X 代表的是死锁 然后 kill 对应的ID
    5、SQL事件探查器,监控一下,看主要是那些处理引起的死锁.然后做相应的处理.
    用事件探查器new一个trace,监视一下造成你sqlserver停顿的情况。。。

    上述方式,只能查看到死锁点。综合上述方式,可以快速定位。

    那怎么分析死锁产生原因呢?

    我的建议:

    从死锁点开始,通过sp_who和事件探查器来跟踪相应的调用,来分析所使用sql是否产生死锁因子。

    从而优化或改进。

    如果没有跟踪出问题,建议你做db优化、其次硬件升级;

    最后,归结下,仔细编写并检查自己的代码,避免死锁的发生

  • 相关阅读:
    Web 2.0网站命名的7个建议
    梦猪课堂视频系列
    计算机英文术语完全介绍
    PPT高手的思路
    在线RSS阅读器大比拼
    【百度现有服务】
    转载VFW编程实例(详)
    实现MFC扩展DLL中导出类和对话框 (转)
    Windows下编译 OpenSceneGraph(转)
    OSG静态编译 (转)
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/1694853.html
Copyright © 2020-2023  润新知