Как мы можем найти, какая таблица заблокирована в базе данных? Пожалуйста, предложите.Найти заблокированную таблицу в SQL Server
29
A
ответ
6
При чтении информации sp_lock, используйте функцию ИМЯ_ОБЪЕКТА(), чтобы получить имя таблицы из своего идентификационного номера, например:
ВЫБОР имя_объекта (16003073)
EDIT:
Существует еще одна процедура, предоставленный корпорацией Майкрософт, которая передает объекты без идентификационного перевода: http://support.microsoft.com/kb/q255596/
81
Вы можете использовать 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