【发布时间】:2016-05-11 08:18:40
【问题描述】:
我在 SQL Server 2012 中创建了表,当我执行时
select * from tableName
这需要很长时间,有些时间没有结果。
目前它只有 1 行。搜索后我知道它被锁定了,所以请帮助如何解锁或丢弃它?
【问题讨论】:
-
什么进程在锁定它?运行您的选择 *,然后在它等待时运行“exec sp_who2”。 BlkBy 列将显示您的选择语句被另一个进程号阻塞。要清除您要运行“KILL 32”的其他进程(以进程 32 为例)
-
嗨 Rich Benner,我已经使用下面的方法杀死了会话,现在当我触发 select * 查询它给我结果。这是正确的方法吗?以后不会出问题吗?
-
完全取决于你杀死的会话。您可以查看一下编辑导致锁定的代码以使其不被锁定,或者您可以查看 SQL 中的隔离级别,这将允许您解决这个问题。
-
好的,谢谢 Rich Benner。
-
你好 Rich,今天我又在另一个表上出现了同样的问题。这个表已经创建了 6 年,过去从未遇到过任何问题。你能建议我临时解决方案吗?
标签: sql database sql-server-2012