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

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 session‘1025,41‘;
--其中1025为sid,41为serial#.
时间: 2024-10-08 05:39:43

【Sqlserver】各种数据库的锁表和解锁操作的相关文章

oracle数据库查询锁表与解锁语句

今天要删除一个失效的物化视图的时候:老是删除不掉:经理说是锁表了:然后百度了一下 下面是 查询 锁表 和 如何解锁 --查询现在的锁SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time FROM v$locked_object l, all_objects o, v$session

数据库查询锁表以及解锁表的sql

之前程序运行的时候,突然发生页面卡死,后台不报错的现象,经过排查是数据库表被锁死,下面的sql是查询被锁的表,以及对应的解锁sql: 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; select b.username,b.sid,b.serial#,logon_time from v$locke

sqlserver锁表、解锁、查看锁表

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 面演示一个实例,它使用sys.dm_tran_locks动态视图监视数据库中锁的活动. 打开一个查询窗口,执行如下语句: USE AdventureWorks BEGIN TRAN SELECT ProductID, ModifiedDate FROM Production.ProductDocument WITH (TABLOCKX) 打开另一个查询窗口

Oracle的锁表与解锁

Oracle的锁表与解锁 SELECT /*+ rule */ s.username, decode(l.type,'TM','TABLE LOCK', 'TX','ROW LOCK', NULL) LOCK_LEVEL, o.owner,o.object_name,o.object_type, s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser FROM v$session s,v$lock l,dba_objects o WHERE

ORACLE查询数据库的锁表情况

  查询数据库的锁表情况语句如下: SELECT p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name FROM v$process p,v$session a, v$locked_object b,all_objects c WHERE p.addr=a.paddr AND a.process=b.process AND c.object_id=b.object_id 如果表因为某些情况出现死

MsSqlserver 查看锁表与解锁

查看被锁表: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT' spid 锁表进程 tableName 被锁表名 解锁: declare @spid int Set @spid = 57 --锁表进程 declare @sql varchar(1000) set @sql='k

企业生产环境数据库备份锁表问题

在MySQL数据库场景,使用mysqldump命令备份时,我们会遇到一个锁表的问题?如果进行锁表了,在备份期间用户就无法访问数,若是备份时长几个小时,那么就表示几个小时内,用户都无法访问数据,会对业务造成很大影响:如果不锁表,又会导致备份的数据不一致,因为在备份的过程中,有可能会有数据写入,这样无法保证备份后的备份文件中的数据是你想要的某个时间点的数据. 如何解决锁表问题?关于MySQL备份时,是否需要锁表,这要根据公司的业务场景进行分析.案例1:某金融咨询公司,公司客户都是以select为主,

mysql锁表和解锁语句分享

对于MySQL来说,有三种锁的级别:页级.表级.行级 页级的典型代表引擎为BDB. 表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM. 行级的典型代表引擎为INNODB. -我们实际应用中用的最多的就是行锁. 行级锁的优点如下: 1).当很多连接分别进行不同的查询时减小LOCK状态. 2).如果出现异常,可以减少数据的丢失.因为一次可以只回滚一行或者几行少量的数据. 行级锁的缺点如下: 1).比页级锁和表级锁要占用更多的内存. 2).进行查询时比页级锁和表级锁需要的I/O要多

Oracle查询锁表和解锁

1.查询是否锁表 SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time FROM v$locked_object l, all_objects o, v$session s WHERE l.object_id = o.object_id AND l.session_id = s.si