内容简介:sqlserver中怎么锁表、解锁、查看销表呢,下面我以三个不同的实例给各位朋友详细介绍一下有需要的朋友可参考一下
sqlserver中怎么锁表、解锁、查看销表呢,下面我以三个不同的实例给各位朋友详细介绍一下有需要的朋友可参考一下
锁定数据库的一个表
代码如下:
SELECT * FROM table WITH (HOLDLOCK)
注意: 锁定数据库的一个表的区别
代码如下:
SELECT * FROM table WITH (HOLDLOCK)
其他事务可以读取表,但不能更新删除
代码如下:
SELECT * FROM table WITH (TABLOCKX)
其他事务不能读取表,更新和删除
SELECT 语句中“加锁选项”的功能说明
SQL Server提供了强大而完备的锁机制来帮助实现数据库系统的并发性和高性能。用户既能使用SQL Server的缺省设置也可以在select
语句中使用“加锁选项”来实现预期的效果。 本文介绍了SELECT语句中的各项“加锁选项”以及相应的功能说明
查看被锁表:
代码如下:
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id)
tableName
from sys.dm_tran_locks where resource_type='OBJECT'
spid 锁表进程
tableName 被锁表名
[@more@]
解锁:
创建一个临时Table
CREATE TABLE #HarveyLock
(
SPID INT,
DBID INT,
OBJID INT,
INDID INT,
TYPE VARCHAR(100),
RESOURCE VARCHAR(100),
MODE VARCHAR(100),
STATUS VARCHAR(100)
)
将Lock信息存入该Table
INSERT INTO #HarveyLock EXEC SP_LOCK
3.在Table中下条件查询得到的LOCK
SELECT * FROM #HarveyLock
4.KILL 相关LOCK
KILL @SPID
例
declare @spid int
Set @spid = 57 --锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Python 3 查看字符编码方法
- Linux 查看硬盘信息方法总结
- ss:查看网络连接的另一种方法
- 在wireshark中查看https http2包内容的配置方法
- jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令
- Linux 查看网络流量
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
图解Java多线程设计模式
[日] 结城浩 / 侯振龙、杨文轩 / 人民邮电出版社 / 2017-8 / 89.00元
本书通过具体的Java 程序,以浅显易懂的语言逐一说明了多线程和并发处理中常用的12 种设计模式。内容涉及线程的基础知识、线程的启动与终止、线程间的互斥处理与协作、线程的有效应用、线程的数量管理以及性能优化的注意事项等。此外,还介绍了一些多线程编程时容易出现的失误,以及多线程程序的阅读技巧等。在讲解过程中,不仅以图配文,理论结合实例,而且提供了运用模式解决具体问题的练习题和答案,帮助读者加深对多线......一起来看看 《图解Java多线程设计模式》 这本书的介绍吧!