sql server查询链接数据库_sqlserver查询死锁

sql server查询链接数据库_sqlserver查询死锁在SQL Server中有几种方法可以找到活动的 SQL 连接。让我们看看一些使用 T-SQL 查询的简单快捷的方法。 SP_WHO SP_WHO 是 SQL Server 内置的系统存储过程, 其他

在 SQL Server 中查找活动连接和死锁

在SQL Server中有几种方法可以找到活动的 SQL 连接。让我们看看一些使用 T-SQL 查询的简单快捷的方法。

SP_WHO

SP_WHO 是 SQL Server 内置的系统存储过程, 其他方法相比,SP_WHO 将具有最少的列,但是一种快速列出活动连接的方法。

以下是在 SQL Server Management Studio 中的执行示例:

EXEC SP_WHO

image

具体的字段解释请参阅官方文档 SP_WHO
其中比较重要的列是:

  • spid: 会话ID
  • loginname: 登录账号
  • blk: 阻塞进程的会话ID(如果存在)。否则,此列为零, 可以使用该列排查死锁

SYS.SYSPROCESSES

另一种查找活动 SQL 连接的绝妙方法是使用系统兼容性视图 SYS.SYSPROCESSES
此视图有很多列,其中包含很多信息,这些信息有助于您找出活动的 sql 连接,尤其是当您想要查找被阻塞的进程时。但是,这是向后兼容的视图,不建议使用,因为未来的版本可能会删除它

以下是在 SQL Server Management Studio 中的执行示例:

SELECT * FROM SYS.SYSPROCESSES

image

具体的字段解释请参阅官方文档 SYS.SYSPROCESSES

SYS.DM_EXEC_SESSIONS (建议使用)

SYS.DM_EXEC_SESSIONS 是替代旧系统表 sysprocesses 的动态管理视图之一。SYS.DM_EXEC_SESSIONS 的优点是它的列 is_user_process 。使用此列,您可以轻松过滤掉系统进程。

以下是在 SQL Server Management Studio 中的执行示例:

SELECT * FROM SYS.DM_EXEC_SESSIONS where is_user_process = 1

image

具体的字段解释请参阅官方文档 SYS.DM_EXEC_SESSIONS

用于查找 SQL Server 中的死锁的 T-SQL 查询

下面是我用来快速查找死锁的查询。此语句基于SYS.DM_EXEC_REQUESTS 动态管理视图。在此语句中,blocking_session_id 列为您提供了阻塞连接的 session_id,而 wait_type 列为您提供了导致 deadlock 的 等待类型。获得blocking_session_id 后,您可以使用 SYS.DM_EXEC_SESSIONS 来获取有关会话或连接的更多详细信息。

SELECT
    session_id,
    start_time, 
    [status],
    command,
    blocking_session_id,
    wait_type,
    wait_time,
    open_transaction_count,
    transaction_id,
    total_elapsed_time,
    Definition = CAST(text AS VARCHAR(MAX))
FROM
    SYS.DM_EXEC_REQUESTS
    CROSS APPLY sys.dm_exec_sql_text(sql_handle) 
WHERE blocking_session_id != 0

image

上图我们得到了正在发生阻塞的会话信息和所执行的SQL语句(Definition)

原文地址:https://www.cnblogs.com/broadm/archive/2022/07/15/16482308.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5011.html

(0)
上一篇 2023-05-26
下一篇 2023-05-26

相关推荐

  • 通过Python收集MySQL MHA 部署及运行状态信息的功能实现[亲测有效]

    通过Python收集MySQL MHA 部署及运行状态信息的功能实现[亲测有效]一. 背景介绍 当集团的MySQL数据库实例数达到2000+、MHA集群规模数百个时,对MHA的及时、高效管理是DBA必须面对的一个挑战。MHA 集群 节点信息 和 运行状态 是管理的基础。本篇幅主要

    2023-04-23
    154
  • 远程工具 批量管理程序[亲测有效]

    远程工具 批量管理程序[亲测有效]远程工具 批量管理程序远程桌面是微软公司为了便于网络管理员管理维护服务器推出的一项服务。从windows 2000 server版本开始引入,网络管理员时候远程桌面连接器连接到网络任意一台开启了远程…

    2023-02-23
    145
  • Python 循环引用问题引发了什么?

    Python 循环引用问题引发了什么?在Python编程中,循环引用问题是一个经常出现的问题。循环引用指的是当两个或多个对象相互引用时,会导致这些对象不能被垃圾回收器回收,从而造成内存泄漏和内存溢出问题。这篇文章将介绍Python中的循环引用问题,以及这个问题引发的影响。

    2024-08-20
    28
  • Redis-_redis 列表

    Redis-_redis 列表Redis简要知识点概括,看到就能回忆起相关内容为最妙~~

    2023-06-18
    153
  • 利用PyQt5 Label处理界面元素

    利用PyQt5 Label处理界面元素在现代软件开发中,图形用户界面(GUI)是必不可少的一部分。常见的GUI框架有Qt、Tkinter、wxWidgets和GTK+等。其中,Qt是使用最广泛的框架之一,PyQt5是Python与Qt的绑定库,可以使用Python语言开发GUI应用程序。在PyQt5中,Label是GUI中最常用的元素之一,可以用于显示静态文本、动态文本、图片以及链接等。

    2024-05-04
    69
  • pikachu—SQL注入[通俗易懂]

    pikachu—SQL注入[通俗易懂] 1、产生原因 SQL注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击者可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执行,导致数据库信息泄漏…

    2023-03-19
    873
  • mysql dml语句_oracle常用sql语句

    mysql dml语句_oracle常用sql语句SQL语言大致分为`DCL`、`DDL`、`DML`三种,本文主要介绍`MySQL 5.7`版本的`DCL`语句。

    2023-03-18
    171
  • 不用激活成功教程版的 Navicat 了,几款免费且好用的 SQL 客户端送给你

    不用激活成功教程版的 Navicat 了,几款免费且好用的 SQL 客户端送给你我是风筝,公众号「古时的风筝」。 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。 没别的意思,今天就是为了给你推荐几款 MySQL 客户端,这几款

    2023-03-19
    150

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注