在SQL Server中,可以通過查詢系統視圖sys.dm_tran_locks來查看表是否被鎖定。
以下是一個示例查詢,用于查看指定表是否被鎖定:
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'
請將“YourTableName”替換為要檢查的表名。這將返回指定表的鎖定信息,包括資源類型、請求類型、請求會話ID和請求狀態等。
如果該表被鎖定,將會顯示相關的鎖定信息。如果沒有顯示任何結果或結果為空,那么該表當前沒有被鎖定。