Welcome 微信登录

首页 / 数据库 / MySQL / 实例分析由于数据库死锁造成网站无法访问的解决方法

本文通过实例来分析数据库死锁造成网站无法访问的解决方法。 问题:网站访问不了,主机重启之后,网站运行正常。 解决对策:由于数据库死锁造成。 死锁原因: 提取查询数据相应数据,修改Stat表,都是修改同一条数据,进行大数据量的操作,多用户同时操作时,造成数据库死锁和阻塞; 知识拓展: 1、SQL死锁和阻塞。 2、死锁测试方法:程序中将数据库操作,循环操作1万次,打开多个窗口同时执行。 3、查找数据库死锁原因的方法。 下面的SQL语句运行之后,便可以查找出SQLServer的死锁和阻塞的源头。
use mastergodeclare @spid int,@bl intDECLARE s_cur CURSOR FORselect 0 ,blockedfrom (select * from sysprocesses where blocked>0 ) awhere not exists(select * from (select * from sysprocesses where blocked>0 ) bwhere a.blocked=spid)union select spid,blocked from sysprocesses where blocked>0OPEN s_curFETCH NEXT FROM s_cur INTO @spid,@blWHILE @@FETCH_STATUS = 0beginif @spid =0select "引起数据库死锁的是:"+ CAST(@bl AS VARCHAR(10)) + "进程号,其执行的SQL语法如下"elseselect "进程号SPID:"+ CAST(@spid AS VARCHAR(10))+ "被" + "进程号SPID:"+ CAST(@bl AS VARCHAR(10)) +"阻塞,其当前进程执行的SQL语法如下"DBCC INPUTBUFFER (@bl )FETCH NEXT FROM s_cur INTO @spid,@blendCLOSE s_curDEALLOCATE s_curexec sp_who2
4、查看当前进程,或死锁进程,并能自动杀掉死进程:
  • 1
  • 2
  • 下一页
【内容导航】
第1页:实例分析由于数据库死锁造成网站无法访问的解决方法第2页:实例分析由于数据库死锁造成网站无法访问的解决方法
Oracle技巧分享oracle10g 知识篇相关资讯      于数据库死锁  本文评论 查看全部评论 (0)
表情: 姓名: 字数