-- ###### 查看被锁进程 ######
select 标志,
 进程ID=spid,线程ID=kpid,块进程ID=blocked,数据库ID=dbid,
 数据库名=db_name(dbid),用户ID=uid,用户名=loginame,累计CPU时间=cpu,
 登陆时间=login_time,打开事务数=open_tran, 进程状态=status,
 工作站名=hostname,应用程序名=program_name,工作站进程ID=hostprocess,
 域名=nt_domain,网卡地址=net_address
from(
 select 标志='死锁的进程',
  spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran,
  status,hostname,program_name,hostprocess,nt_domain,net_address,
  s1
 from master..sysprocesses a join (
  select blocked from master..sysprocesses group by blocked
  )b
 union all
 select '|_牺牲品_>',
  spid,kpid,blocked,dbid,uid,loginame,cpu,login_time,open_tran,
  status,hostname,program_name,hostprocess,nt_domain,net_address,
  s1

)a order by s1,s2

-- 查询锁对象
, ) AS spid,
       ), DB_NAME (resource_database_id)) AS db_name,
       CASE
          WHEN resource_database_id = DB_ID () AND resource_type = 'OBJECT'
          THEN
             ), OBJECT_NAME (resource_associated_entity_id))
          ELSE
             ), resource_associated_entity_id)
       END
          AS object,
       ), resource_type) AS resource_type,
       ), request_type) AS request_type,
       ), request_mode) AS mode,
       ), request_status) AS status
  FROM sys.dm_tran_locks
 WHERE resource_type = 'OBJECT'
,  DESC

exec sp_lock

EXEC sp_who active

SELECT @@LOCK_TIMEOUT

-- ###### 查first()记录 ######
-- 方法一
SELECT *
  FROM infu_master i
 WHERE i.infu_master_id =
          ( im.infu_master_id
             FROM infu_master im
            WHERE     im.infu_status IN ('R', 'I', 'S')
                  AND im.pati_id = i.pati_id
           ORDER BY im.infu_master_id ASC)
-- 方法二
SELECT *
  FROM infu_master i
 WHERE i.infu_master_id IN (SELECT min (im.infu_master_id) AS infu_master_id
                              FROM infu_master im
                             WHERE im.infu_status IN ('R', 'I', 'S')
                            GROUP BY im.pati_id)
-- 方法三
SELECT *
  FROM (SELECT im.*,
               ROW_NUMBER ()
                  OVER (PARTITION BY im.pati_id ORDER BY im.infu_master_id)
                  RN
          FROM infu_master im
         WHERE im.infu_status IN ('R', 'I', 'S')) t

-- ###### 查引起死锁的操作 ######
USE master
go
DECLARE @spid   INT
--查询出死锁的SPID
SELECT @spid = blocked
FROM (SELECT *
        FROM sysprocesses
       ) a
WHERE NOT EXISTS
         (SELECT *
            FROM (SELECT *
                    FROM sysprocesses
                   ) b
           WHERE a.blocked = spid)
--输出引起死锁的操作
DBCC INPUTBUFFER (@spid)
--exec sp_who2

use master
go
declare @spid int,@bl int
DECLARE s_cur CURSOR FOR
 ,blocked
 ) a
 ) b
where a.blocked=spid)

OPEN s_cur
FETCH NEXT FROM s_cur INTO @spid,@bl

begin

select '引起数据库死锁的是:
)) + '进程号,其执行的SQL语法如下'
else
))+ '被' + '
进程号SPID:)) +'阻塞,其当前进程执行的SQL语法如下'
DBCC INPUTBUFFER (@bl )
FETCH NEXT FROM s_cur INTO @spid,@bl
end
CLOSE s_cur
DEALLOCATE s_cur

-- ###### 查事务隔离级别 ######
SELECT session_id,
       (CASE transaction_isolation_level
            THEN 'ReadUncomitted'
            THEN 'ReadCommitted'
            THEN 'Repeatable'
            THEN 'Serializable'
            THEN 'Snapshot'
        END)
          [transaction_isolation_level]
  FROM sys.dm_exec_sessions
 WHERE session_id = @@SPID;

 DBCC USEROPTIONS

select * FROM sys.dm_tran_locks;

select * from sys.partitions;

 order by [type];

select * from sys.sysdatabases

select * from sys.databases;

select * from sys.schemas;

-- 查被锁表并杀掉死锁进程
SELECT request_session_id spid,
       OBJECT_NAME (resource_associated_entity_id) tableName
  FROM sys.dm_tran_locks
 WHERE resource_type = 'OBJECT';

kill #{pid};

sqlserver(查看被锁进程)的更多相关文章

  1. SqlServer 查看死锁的进程

    版权声明:本文为 走错路的程序员 原创文章,欢迎转载. https://blog.csdn.net/phker/article/details/78612974搞sqlsever 好多年, 从来没锁过 ...

  2. sqlserver查看被锁表、解锁

    查看别锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.d ...

  3. SqlServer 查看被锁的表和解除被锁的表

    查看被锁的表 1 2 select   request_session_id   spid,OBJECT_NAME(resource_associated_entity_id) tableName   ...

  4. SqlServer 查看事务锁及执行语句

    一.查看当前锁定的事务 ,) ,用户机器名称,) ,是否被锁住),blocked) ,数据库名称,),cmd 命令,waittype as 等待类型 ,last_batch 最后批处理时间,open_ ...

  5. Oracle查看有锁进程,删除锁

    查看锁表进程SQL语句1: select sess.sid,     sess.serial#,     lo.oracle_username,     lo.os_user_name,     ao ...

  6. SqlServer 查看数据库锁,解除锁,此种情况一般常见都是由于事务所造成

    检查数据库锁 SELECT request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableNameFROM sys.dm ...

  7. 知方可补不足~sqlserver中使用sp_who查看sql的进程

    回到目录 在SQLSERVER中每个会话,即每个查询分析器窗口都会产生一个SQL进程,对于那些持续时间短的进程,它们转瞬即失,而对于持续时间比较长的,我们需要希望查看它的运行状态,就可以借助SQL提供 ...

  8. SqlServer查看锁表与解锁

    某些情况下,sqlserver的表会被锁住,比如某个会话窗口有数据一直没提交,窗口又没关闭,这时表就会被锁住 其他任何连接查询表数据时都不会返回 这时需要手工杀掉产生死锁的会话ID,才能恢复正常 查看 ...

  9. mysql查看被锁住的表,正在进行的进程,已经杀掉进程的方法

    mysql查看被锁的进程 //查看所有进程show processlist; //查询是否锁表show OPEN TABLES where In_use > 0; //查看被锁住的 SELECT ...

随机推荐

  1. Java 常用数据结构对象的实现原理 集合类 List Set Map 哪些线程安全 (美团面试题目)

    Java中的集合包括三大类,它们是Set.List和Map, 它们都处于java.util包中,Set.List和Map都是接口,它们有各自的实现类. List.Set都继承自Collection接口 ...

  2. Python之路1-变量、数据类型、循环语法

    1.python语言介绍 编程语言主要从以下几个角度进行分类,编译型和解释型,静态语言和动态语言,强类型定义语言和弱类型定义语言. 编译和解释区别 编译器是把源程序的每一条语句都编译成机器语言,并保存 ...

  3. RCTF 2017 easyre-153

    die查一下发现是upx壳 直接脱掉 ELF文件 跑一下: 没看懂是什么意思 随便输一个数就结束了 ida打开 看一下: pipe是完成两个进程之间通信的函数 1是写,0是读 fork是通过系统调用创 ...

  4. Python pip Unable--

    It is possible that pip does not get installed by default. One potential fix is: python -m ensurepip ...

  5. [luogu3380][bzoj3196]【模板】二逼平衡树【树套树】

    题目地址 [洛谷传送门] 题目大意 区间查询k的排名,查找k排名的数,单点修改,区间前驱,区间后继. 感想 真的第一次写树套树,整个人都不对了.重构代码2次,发现样例都过不了,splay直接爆炸,可能 ...

  6. emwin 之 LISTWVIEW 控件禁止列滑动

    @2019-02-25 [小记] hHeader = LISTVIEW_GetHeader(hListView); WM_DisableWindow(hHeader);

  7. 【bfs】麻将游戏

    题目 来自:yinzm的blog 在一种"麻将"游戏中,游戏是在一个有W*H格子的矩形平板上进行的.每个格子可以放置一个麻将牌,也可以不放(如图所示).玩家的目标是将平板上的所有可 ...

  8. VirtualBox下安装linux虚拟机

    下载VirtualBox 下载地址:https://www.virtualbox.org/wiki/Downloads 安装VirtualBox 安装虚拟机 如果选择不到64位系统, 开机按 F1 进 ...

  9. pgsql 执行建库脚本时候出现ERROR: relation "xxx_id_seq" does not exist

    1. 问题: ERROR: relation "xxx_id_seq" does not exist 2. 出现原因:由于表中建立了自增字段,id定义为Serial 类型,当执行完 ...

  10. 为什么要使用50ohm阻抗?

    对于接收机我们期望同轴线的损耗越低越好 对于发射机同轴线的功率效率则是越大越好 所以在二者性能最优时阻抗并不相等 https://www.sohu.com/a/109536765_335274