怎么新建MySQL数据库

发布时间:2021-10-12 作者:admin
阅读:1038

    这篇文章给大家分享几个SQL server中对表的操作方法,也就是锁表、解锁表以及查看锁表的操作,具体怎样实现呢?接下来我们一起来看一下实现的代码,有需要的朋友可以参考。

    锁定数据库的一个表

    代码如下:
    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)
        关于SQL server中对表的操作就介绍到这啦,上述代码对大家学习和理解锁表的操作有一定的帮助,有需要的朋友可以参考,想要了解更多sql表操作,大家可以继续浏览群英网络其他相关的文章。

文本转载自脚本之家

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

二维码-群英

长按识别二维码并关注微信

更方便到期提醒、手机管理

7*24 全天候服务

售前 400-678-4567

售后 0668-2555666

售后 400 678 4567

信息安全 0668-2555 118

域名空间 3004329145