Подтвердить что ты не робот

Найти заблокированную таблицу в SQL Server

Как мы можем найти, какая таблица заблокирована в базе данных? Пожалуйста, предложите.

4b9b3361

Ответ 1

Вы можете использовать sp_locksp_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

Ответ 2

sp_lock

При чтении информации sp_lock используйте функцию OBJECT_NAME(), чтобы получить имя таблицы из ее идентификационного номера, например:

SELECT имя_объекта (16003073)

ИЗМЕНИТЬ:

Существует еще один proc, предоставляемый microsoft, который сообщает объекты без преобразования ID: http://support.microsoft.com/kb/q255596/