首页 > 数据库技术 > 详细

【Sqlserver】各种数据库的锁表和解锁操作

时间:2017-08-17 18:09:30      阅读:502      评论:0      收藏:0      [点我收藏+]

SqlServer 查询被锁住的表和解锁表

 

--1.查看被锁表 
SELECT request_session_id as spid,OBJECT_NAME(resource_associated_entity_id) as tableName FROM sys.dm_tran_locks WHERE resource_type=OBJECT 
--spid   锁表进程 ;tableName   被锁表名 
--2.解锁 
declare @spid  int  Set @spid  = 被锁表的进程号 declare @sql varchar(1000) set @sql=kill +cast(@spid  as varchar) exec(@sql)

 

Oracle 查询被锁住的表和解锁表

--1.锁表查询的代码有以下的形式: 
SELECT count(*) FROM v$locked_object; SELECT * FROM v$locked_object; 
--2.查看哪个表被锁 
SELECT b.owner,b.object_name,a.session_id,a.locked_mode FROM v$locked_object a,dba_objects b WHERE b.object_id = a.object_id; 
--3.查看是哪个session引起的 
SELECT b.username,b.sid,b.serial#,logon_time FROM v$locked_object a,v$session b WHERE a.session_id = b.sid order by b.logon_time;  
--4.杀掉对应进程 
alter system kill session1025,41; 
--其中1025为sid,41为serial#.

 

【Sqlserver】各种数据库的锁表和解锁操作

原文:http://www.cnblogs.com/shuilangyizu/p/7383183.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!