51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5606|回复: 2
打印 上一主题 下一主题

[求助] SQL2000数据库进程死锁。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-11-24 08:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当发生进程死锁时,局域网内的机器都不能访问SQL数据库(访问超时),引起死锁的机器的软件模块没有正在使用,关闭计算机或取消该进程,整个系统就可以正常工作了。请问各位有什么办法解决这个问题??sdlkfj7
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2015-9-18 10:14
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2006-11-24 10:00:30 | 只看该作者
    造成数据库死锁的原因有很多,你是想问死锁的原因,还是系统超时的原因,这两者还是有区别的。


    关于产生数据库性能问题的原因有很多,下面是几点:

    单一类型事务的响应时间过长。造成这类问题的原因也很复杂,可以从几个方面考虑,1.数据库服务器负载过重,2.数据库的设计比较糟糕,3.单一事务的粒度过大,4.批任务对其他事务造成性能的影响。

    并发处理能力差。这类问题主要是由于在并发执行中的某个实例以互斥方式对资源进行访问,造成了其他同类型用户必须等待该实例释放锁定的资源后才能执行。

    锁冲突严重。资源锁定会造成数据库事务超时或死锁。而造成死锁必须具备几个条件:1.互斥条件,2.持有并等待条件,3.不可取代条件,4.环等待条件。
    目前主流数据库管理系统主要是采用并发控制算法,导致应用系统实际使用时频繁发生死锁。

    针对数据库的性能问题,一般的解决步骤有:
    1.监视数据库性能相关的数据
    2.定位资源占用较大的事务并做出必要的优化或调整
    3.定位锁冲突,修改锁冲突发生严重的应用逻辑
    4.对规模较大的数据或者无法通过一般优化解决的锁冲突进行分布处理。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2006-11-24 17:27:42 | 只看该作者
    楼上的分析的真好,我测试的系统也遇到了这个问题,还没有解决呢!sdlkfj5
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 22:52 , Processed in 0.083555 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表