最近数据库老是死锁,系统老是写不进数据,或者很多用户,只有某部分用户才能输入,正在想,是不是程序中用了一些语句把某些表给锁死了呢?

miaomiaoga 2009-04-08 09:43:55
想知道检查的方法,

首先是不是先看看数据库里,哪些表给锁了呢?(如果数据写不进的时候),在SQL 2005管理界面里直接可以看吗?

另外,是不是代码中会引起这样的死锁的?存储过程也有可能的。是吗?

(一个数据库,对应着很多应用程序,这可费时间去查了。。-_-)

之前从来没遇过这样的情况,请大家指导一下小弟了。:)

谢谢。
...全文
327 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zoezs 2009-04-08
  • 打赏
  • 举报
回复

dbcc opentran

写错了,多加了个S
Zoezs 2009-04-08
  • 打赏
  • 举报
回复

dbcc opentrans

看看那些事务,进程锁住了。
miaomiaoga 2009-04-08
  • 打赏
  • 举报
回复
查过了,没有在程序或者SQL里用过LOCK这样的关键字,

我强烈怀疑,是不是在一些SP里,用了TRANSACTION,但是里面有错误,没有把TRANSACTION做COMMIT或者ROLLBACK,而导致了死锁。
sdhdy 2009-04-08
  • 打赏
  • 举报
回复
事务处理完了,但是锁没解除,会出现这个问题。
到你的程序里,搜索一下LOCK这个关键字。
把你的所有存储过程,生成一个SQL脚本,搜索一下LOCK这个关键字。
把目标逐渐缩小,再进行解决。
miaomiaoga 2009-04-08
  • 打赏
  • 举报
回复
只找到了下面的信息。:(

1 BACKGROUND sa . . NULL RESOURCE MONITOR 0 0 04/03 15:14:38 1 0
2 BACKGROUND sa . . NULL LAZY WRITER 15 0 04/03 15:14:38 2 0
3 SUSPENDED sa . . NULL LOG WRITER 15 0 04/03 15:14:38 3 0
4 BACKGROUND sa . . NULL LOCK MONITOR 0 0 04/03 15:14:38 4 0
5 BACKGROUND sa . . master SIGNAL HANDLER 0 0 04/03 15:14:38 5 0
6 sleeping sa . . master TASK MANAGER 0 0 04/03 15:14:38 6 0
7 BACKGROUND sa . . master TRACE QUEUE TASK 0 0 04/03 15:14:38 7 0
8 sleeping sa . . NULL UNKNOWN TOKEN 0 0 04/03 15:14:38 8 0
9 BACKGROUND sa . . master BRKR TASK 0 0 04/03 15:14:38 9 0
10 BACKGROUND sa . . master TASK MANAGER 0 0 04/03 15:14:38 10 0
11 SUSPENDED sa . . master CHECKPOINT 62 149 04/03 15:14:38 11 0
12 BACKGROUND sa . . master BRKR EVENT HNDLR 15 33 04/03 15:14:38 12 0
13 BACKGROUND sa . . master BRKR TASK 0 0 04/03 15:14:38 13 0
14 sleeping sa . . master TASK MANAGER 0 0 04/03 15:14:38 14 0
15 sleeping sa . . master TASK MANAGER 0 5 04/03 15:14:38 15 0
16 sleeping sa . . master TASK MANAGER 0 5 04/03 15:14:38 16 0
17 sleeping sa . . master TASK MANAGER 0 10 04/03 15:14:38 17 0
18 sleeping sa . . master TASK MANAGER 0 5 04/03 15:14:38 18 0
19 sleeping sa . . master TASK MANAGER 0 0 04/03 15:14:38 19 0
20 sleeping sa . . master TASK MANAGER 0 5 04/03 15:14:38 20 0
21 sleeping sa . . master TASK MANAGER 0 6 04/03 15:14:38 21 0
66 RUNNABLE sa LG . master SELECT INTO 47 5 04/08 10:04:58 Microsoft SQL Server Management Studio - Query 66 0
Teng_s2000 2009-04-08
  • 打赏
  • 举报
回复
UP
knifewei 2009-04-08
  • 打赏
  • 举报
回复
用sp_who2 active查看进程被锁定的情况,判断一下原因再看看需要改那里,
miaomiaoga 2009-04-08
  • 打赏
  • 举报
回复
显示的东西。。。看。。。不太懂。。。:(。。。没看到有什么东西锁的。。

No active open transactions.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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