日期:2014-05-18  浏览次数:20519 次

SQLServer2005 如何察看被锁的表,和解锁?
看到好多PID   -2   的东西,表可能被锁住了
望赐教


------解决方案--------------------
SELECT resource_type, resource_associated_entity_id,
request_status, request_mode,request_session_id,
resource_description
FROM sys.dm_tran_locks
WHERE resource_database_id = <dbid>

------解决方案--------------------
SELECT resource_type, resource_associated_entity_id,
request_status, request_mode,request_session_id,
resource_description
FROM sys.dm_tran_locks
WHERE resource_database_id = <dbid>
------解决方案--------------------
PID -2
----------------
这是在那里看到的?

SqlServer不发现死锁都是会自动解开的,如果没有解开那么一定是还有人在使用,用的人多事务多,锁自然也多

如何察看当前数据库被锁的表
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableName from sys.dm_tran_locks
where resource_type = 'OBJECT '

spid 就是锁住表的进程
tableName 就是被锁的表名

解锁
kill [spid]



------解决方案--------------------
执行存储过程 sp_lock

------解决方案--------------------
sp_lock