我们如何找到数据库中锁定的表?请建议.
您可以使用sp_lock
(和sp_lock2
),但在SQL Server 2005及更高版本中,不推荐使用此选项,以支持查询sys.dm_tran_locks
:
select object_name(p.object_id) as TableName, resource_type, resource_description from sys.dm_tran_locks l join sys.partitions p on l.resource_associated_entity_id = p.hobt_id
sp_lock的
在读取sp_lock信息时,使用OBJECT_NAME()函数从其ID号中获取表的名称,例如:
SELECT object_name(16003073)
编辑:
microsoft提供了另一个proc,它报告没有ID转换的对象:http://support.microsoft.com/kb/q255596/