【问题标题】:Check database locks when locking station锁定站时检查数据库锁
【发布时间】:2026-02-05 15:20:06
【问题描述】:

这个问题是超级用户和数据库管理员的组合。

这发生在我在数据库上运行一些事务并被召集开会之前。该事务随后导致其他开发人员锁定。

更糟糕的情况是周末锁定计算机。

1) 有没有办法在 Windows 锁定屏幕上运行脚本? 2) 是否有脚本可以检查我在任何 Microsoft SQL Server Studio 选项卡中的数据库中是否有任何锁定?

【问题讨论】:

  • 您真的需要首先保留交易吗? MS SQL 的常用方法是按语句(自动提交)或按批次回滚或提交事务。
  • 我说的是数百个插入到 10 个不同的表中。检查它们是否正确需要一些时间,我可能会忘记我在不同的选项卡上打开了交易。

标签: sql windows sql-server-2008 tsql windows-10


【解决方案1】:

有办法找到锁并杀死此类进程,但无法确定这些进程是否“合法”或者它们是否属于已离开工作站的人。

这里有一些关于使用sp_who2sp_lock的信息:How to find what is locking my tables

【讨论】:

  • 我说的是我造成的锁。我知道我可以从 SQL 中检查它们,但我想知道是否可以从 Windows 脚本中检查它们。如果我可以在尝试锁定我的电台时运行此检查脚本。
  • 你试过sp_who2sp_lock吗?在那里,您将找到有关运行相应进程的用户的信息。仍然 - 没有办法确定某事是否合法。您锁定工作站并不等同于“我应该杀死所有进程” - 对吧?