数据库中的死锁是否会影响其他数据库或挂起整个服务器?

时间:2012-05-08 00:32:11

标签: sql sql-server deadlock

这听起来很奇怪,但是我们在服务器中有一堆数据库中出现了问题,我们可以通过日志上的输出来判断,但这似乎影响了另一个数据库,因为系统挂起时发生僵局。

我们已经确定了死锁事件中涉及的对象,但是没有一个存在于我们正在使用的系统的数据库中。

我仍然需要查看过程体,但这可能吗?来自其他数据库的进程是否进入死锁并整个服务器或其他数据库?

3 个答案:

答案 0 :(得分:4)

死锁在MS Sql Server中不是致命事件(例如,在代码中不同)。这是因为Sql Server会定期扫描死锁,然后选择其中一个进程来杀死。当你收到日志消息时就是这样。

如果没有Sql Server错误(我从未遇到过),我认为订单更可能发生逆转 - 挂起的服务器/数据库会阻止查询的正常执行,从而导致错误处于死锁状态,因为程序执行时间较长。

答案 1 :(得分:2)

我已经看到,当死锁中的两个进程也在TempDB中锁定了对象时会发生这种情况。

tempdb中的锁定对象然后阻止其他进程创建对象,从而挂起。

这是旧版本的SQL Server(2000)的一个问题,但我不记得在更新版本上看到它。

答案 2 :(得分:0)

有可能。如果您的服务器无法对任何中断做出反应,则无法正确执行其他请求。