zoukankan      html  css  js  c++  java
  • SQL Server 锁表、查询被锁表、解锁相关语句


    --锁表(其它事务不能读、更新、删除)
    BEGIN TRAN
    SELECT * FROM <表名> WITH(TABLOCKX);
    WAITFOR delay '00:00:20'
    COMMIT TRAN


    --锁表(其它事务只能读,不能更新、删除)
    BEGIN TRAN
    SELECT * FROM <表名> WITH(HOLDLOCK);
    WAITFOR delay '00:00:20'
    COMMIT TRAN

    --锁部分行
    BEGIN TRAN
    SELECT * FROM <表名> WITH(XLOCK) WHERE ID IN ('81A2EDF9-D1FD-4037-A17B-1369FD3B169B');
    WAITFOR delay '00:01:20'
    COMMIT TRAN

    --查看被锁表
    select request_session_id 锁表进程,OBJECT_NAME(resource_associated_entity_id) 被锁表名
    from sys.dm_tran_locks where resource_type='OBJECT';

    --解锁
    declare @spid int
    Set @spid = 55 --锁表进程
    declare @sql varchar(1000)
    set @sql='kill '+cast(@spid as varchar)
    exec(@sql)

  • 相关阅读:
    RIP 动态路由
    9.28 二叉树计数
    9.31 取数理论
    花园
    迟滞变化
    AutoHotkey之自问自答
    几种常见的滤波处理
    快速排序(Quicksort)
    浅谈VBA
    新的开始
  • 原文地址:https://www.cnblogs.com/zhoading/p/11857369.html
Copyright © 2011-2022 走看看