SQLServer出现死锁,高手进来,绝对送分!

pragma 2003-08-28 11:41:43
我有一个流量很大的系统,VC+ADO开发,程序里访问数据库的部分都使用了临界区进行保护,数据量一般时运行正常,但有时候会出现这样一种现象:这个VC程序还在正常运行,看不出任何异常,但实际上数据并没写到SQLServer2000数据库里去,而这时候如果在查询分析器里去查这个VC程序所访问的数据库中的一个表,会一直处于查询状态,感觉就是死锁了。不知有没有兄弟碰到过这种情况,急死了,帮帮忙啊
...全文
104 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
kai27ks 2010-06-07
  • 打赏
  • 举报
回复
mark!
engine_ 2003-09-18
  • 打赏
  • 举报
回复
mark!
ninglng 2003-09-17
  • 打赏
  • 举报
回复
h很好啊,学习
z_hongbao 2003-09-15
  • 打赏
  • 举报
回复
gz
lqy661 2003-09-15
  • 打赏
  • 举报
回复
gz
wenmingxing516 2003-09-12
  • 打赏
  • 举报
回复
up
NullGate 2003-09-10
  • 打赏
  • 举报
回复
up
yk80 2003-09-07
  • 打赏
  • 举报
回复
可以用sp_who来查看死锁情况,blk字段不为0时出现死锁,用kill杀掉。
solomn_mt 2003-09-04
  • 打赏
  • 举报
回复
虽然有些东西不太理解,但是终于学到了
kysyuan 2003-09-03
  • 打赏
  • 举报
回复
兄弟们,你们遇到的问题,我也遇到,不过现在我的问题已经解决了,而且解决得精人的简单,简单得别人都不相信,其实我们在做数据库操作进都希望数据库访问尽可能的快,所以就用了很多的线程或者进程来访问它,其实数据库在处理类似问题时也遇到用到排队,在有多线程的情况下, 一个线程访问了数据库,如果是更新数据库之类的操作将会把数据库锁住,但没有完成,CPU时间已经到了,要轮到其它的线程 访问数据库了,但其它线程又因为前一线程将数据库锁住,所以形成了死锁。大家分析一下原因,在这种数据密集型的应用程序中,实际上多线程是形成死锁的直接原因,所以要想解决此问题的最有效的办法就改用单线程,但是单线程一般来说又不满足应用程序的需要,所以我们在项目中做了一个线程池,将多个线程放在一个线程池中,访问数据库时,在线程池中的每一个线程都做一个互斥体来同步,也就是保证同时只有一个线程访问数据库,这样程序就没有死锁发生,而且性能也很好,不过此时一般要做一个队列,其实楼上也有一个哥们说到用COM+,在COM+中人家也是这么做的,COM+的线程模型就是干这个的,还有说到用MSMQ也是一个好办法, 那样你就不用自己写对列了!
IUNKNOWN_COM 2003-09-03
  • 打赏
  • 举报
回复
gz
pragma 2003-09-01
  • 打赏
  • 举报
回复
兄弟们,我使用数据库短连接解决了此问题,郁闷了这多天,终于轻松了,多谢大家的意见,以后有问题,再来请教你们啊:)
lzd 2003-09-01
  • 打赏
  • 举报
回复
关注。。。。。。。。。。
youling 2003-09-01
  • 打赏
  • 举报
回复
aa
szh2002 2003-09-01
  • 打赏
  • 举报
回复
我也遇到这样的问题,请问什么叫数据库短连接
shaken 2003-08-29
  • 打赏
  • 举报
回复
确实是阻塞,看看是不是由于网络方面引起的
zarge 2003-08-29
  • 打赏
  • 举报
回复
这不是死锁,是阻塞
你用sp_who2查一下是什么进程阻塞了
停止对应的程序或者直接用kill spid杀掉该进程
pragma 2003-08-29
  • 打赏
  • 举报
回复
肯定提交了,因为只是数据量大的时候或者访问SQLServer的客户端多的时候才出现
hatedeadlock 2003-08-29
  • 打赏
  • 举报
回复
(黄山光明顶) 老兄 可我的論壇中 從上到下從左到右 都沒有看到 “提問”這兩個字呀
leimin 2003-08-29
  • 打赏
  • 举报
回复
这样的问题如果简单的KILL调就太简单了,而且还会造成数据丢失,那就不需要DBA和DEVELOPER了。

第一种方案你可以找出锁死的原因,找到是哪一个SESSION在一直HOLD,没有RELEASE,然后进行优化。
第二种方案,可以采用COM+MSMQ的技术,通过排队来解决TIMEOUT的问题(比较可靠)。
加载更多回复(10)

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧