在SQL Server中,可以通過查詢系統(tǒng)視圖sys.dm_tran_locks來查看表是否被鎖定。
以下是一個(gè)示例查詢,用于查看指定表是否被鎖定:
SELECT
object_name(p.object_id) AS TableName,
resource_type AS ResourceType,
request_type AS RequestType,
request_session_id AS RequestSessionID,
request_status AS RequestStatus
FROM sys.dm_tran_locks l
JOIN sys.partitions p ON l.resource_associated_entity_id = p.hobt_id
WHERE object_name(p.object_id) = 'YourTableName'
請(qǐng)將“YourTableName”替換為要檢查的表名。這將返回指定表的鎖定信息,包括資源類型、請(qǐng)求類型、請(qǐng)求會(huì)話ID和請(qǐng)求狀態(tài)等。
如果該表被鎖定,將會(huì)顯示相關(guān)的鎖定信息。如果沒有顯示任何結(jié)果或結(jié)果為空,那么該表當(dāng)前沒有被鎖定。