SQL Server数据库保持锁定

时间:2010-10-12 09:51:44

标签: sql-server-2005

我有一个SQL Server 2005数据库,它保持锁定并且不会释放。我的应用程序无法提交对数据库的更新,因为有些任务正在等待处理并且我的应用程序不断崩溃。如果我查看活动监视器,等待任务会一直持续上升,直到我终止进程。问题是,我可以看到活动监视器中导致锁定的内容,但是我没有足够的信息,只是说会话ID阻止。

有没有办法使用TSQL来找出该过程究竟是什么以及它在做什么?即使用较长的等待时间查询数据库上的锁,以及如何强制它们释放或阻止它们?

2 个答案:

答案 0 :(得分:0)

尝试sp_lock @ProcessID然后选择排他锁(模式= X或IX)。然后,您可以使用SELECT object_name(id)找出有问题的对象。该ID来自ObjId列。

答案 1 :(得分:0)

在Profiler中使用死锁图事件:请参阅Track Down Deadlocks Using SQL Server 2005 Profiler