2011-10-19 24 views
12

Tôi đang sử dụng chế độ xem sys.dm_tran_locks để kiểm tra những vùng nào trong cơ sở dữ liệu của tôi bị khóa khi chúng tôi gặp sự cố về hiệu suất.Cách tìm hiểu xem khóa trang nào thuộc bảng

Sử dụng quan điểm này ....

  • Nếu resource_type là cơ sở dữ liệu tôi có thể sử dụng chức năng db_name để tìm ra những cơ sở dữ liệu có khóa.

  • Nếu đối tượng đối tượng Tôi thường có thể tham gia vào sys.tables để kiểm tra xem bảng đó là gì.

Tuy nhiên nếu resource_type là Trang hoặc chính được Có cách nào để theo dõi này để bảng cha của nó vì vậy tôi có thể có được một ý tưởng tốt trong đó bảng được khóa?

Trả lời

30

Đây là cột resource_associated_entity_id dành cho (Example query).

SELECT dm_tran_locks.request_session_id, 
     dm_tran_locks.resource_database_id, 
     DB_NAME(dm_tran_locks.resource_database_id) AS dbname, 
     CASE 
      WHEN resource_type = 'OBJECT' 
       THEN OBJECT_NAME(dm_tran_locks.resource_associated_entity_id) 
      ELSE OBJECT_NAME(partitions.OBJECT_ID) 
     END AS ObjectName, 
     partitions.index_id, 
     indexes.name AS index_name, 
     dm_tran_locks.resource_type, 
     dm_tran_locks.resource_description, 
     dm_tran_locks.resource_associated_entity_id, 
     dm_tran_locks.request_mode, 
     dm_tran_locks.request_status 
FROM sys.dm_tran_locks 
LEFT JOIN sys.partitions ON partitions.hobt_id = dm_tran_locks.resource_associated_entity_id 
LEFT JOIN sys.indexes ON indexes.OBJECT_ID = partitions.OBJECT_ID AND indexes.index_id = partitions.index_id 
WHERE resource_associated_entity_id > 0 
    AND resource_database_id = DB_ID() 
ORDER BY request_session_id, resource_associated_entity_id 
1

Bạn phải tìm object_id được liên kết với tài nguyên đó và có thể liên quan đến việc tham gia một bảng khác. Ví dụ:

SELECT *, OBJECT_NAME(p.object_id) 
FROM sys.dm_tran_locks l  
JOIN sys.partitions p 
ON l.resource_associated_entity_id = p.hobt_id 
WHERE resource_type = 'KEY' 

Tra cứu sys.dm_tran_locks trong sách trực tuyến để tìm hiểu xem bảng tham gia nên là gì cho mỗi tài nguyên.

Các vấn đề liên quan