我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL Server 查杀会话连接

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL Server 查杀会话连接

SQL Server 查杀会话连接

sysprocesses 表中保存关于运行在 Microsoft® SQL Server™ 上的进程的信息。这些进程可以是客户端进程或系统进程。

Select * From master.sys.sysprocesses
 

一、使用sysprocesses查询当前系统被阻塞的会话

  字段Blocked<>0代表当前的SQL Server会话ID被锁定,锁定当前会话ID的SQL Server会话ID就是Blocked中的值。

  查询当前系统被锁定的会话信息  

        Select * From master.sys.sysprocesses Where Blocked <> 0

二、查询某个会话所执行的SQL语句

        --    dbcc inputbuffer(spid) 如:
        dbcc inputbuffer(3) 

三、杀死某个会话

  SQL Server系统库对应的会话不能Kill,可以用dbid>4进行判断;dbid<=4的代表系统库

        --kill spid 如
        kill 63

四、查看当前所有数据库的连接情况

Select db_name(dbid) as [Database Name],  count(dbid) as [No Of Connections], loginame as [Login Name] 
From master.sys.sysprocesses 
Where dbid > 4 
Group By dbid, loginame
 

五、杀死某个数据库上的所有会话 

Use master
Go
Alter Proc Proc_KillSpidByDatabaseName
@dbname varchar(50)
As
Begin
    If DB_ID(@dbname) Is Null
        Begin
            Print "Database doesn""t exist."
        End
    If DB_ID(@dbname) <= 4
        Begin
            Print "Only user processes can be killed."
            Return
        End

    Declare @KillSpid Varchar(Max)
    Select @KillSpid = Coalesce(@KillSpid+"; ","") + "Kill " + Cast(spid as varchar(10)) from sys.sysprocesses Where dbid = DB_ID(@dbname)
    If Len(@KillSpid) > 0
        Begin
            Print @KillSpid
            Exec (@KillSpid)
            Print "Executed successfully."
        End
    Else
        Begin
            Print "No connecting on " + @dbname
        End
End

六、sys.sysprocesses列名描述

spid smallint SQL Server 进程 ID。 
kpid smallint Microsoft Windows NT 4.0® 线程 ID。 
blocked smallint 分块进程的进程 ID (spid)。 
waittype binary(2) 保留。 
waittime int 当前等待时间(以毫秒为单位)。当进程不处于等待时,为 0。 
lastwaittype nchar(32) 表示上次或当前等待类型名称的字符串。 
waitresource nchar(32) 锁资源的文本化表示法。 
dbid smallint 当前正由进程使用的数据库 ID。 
uid smallint 执行命令的用户 ID。 
cpu int 进程的累计 CPU 时间。无论 SET STATISTICS TIME ON 选项是 ON 还是 OFF,都为所有进程更新该条目。 
physical_io int 进程的累计磁盘读取和写入。 
memusage int 当前分配给该进程的过程高速缓存中的页数。一个负数,表示进程正在释放由另一个进程分配的内存。 
login_time datetime 客户端进程登录到服务器的时间。对于系统进程,是存储 SQL Server 启动发生的时间。 
last_batch datetime 客户端进程上次执行远程存储过程调用或 EXECUTE 语句的时间。对于系统进程,是存储 SQL Server 启动发生的时间。 
ecid smallint 用于唯一标识代表单个进程进行操作的子线程的执行上下文 ID。 
open_tran smallint 进程的打开事务数。 
status nchar(30) 进程 ID 状态(如运行、休眠等)。 
sid binary(85) 用户的全局唯一标识符 (GUID)。 
hostname nchar(128) 工作站的名称。 
program_name nchar(128) 应用程序的名称。 
hostprocess nchar(8) 工作站进程 ID 号。 
cmd nchar(16) 当前正在执行的命令。 
nt_domain nchar(128) 客户端的 Windows NT 4.0 域(如果使用 Windows 身份验证)或信任连接的 Windows NT 4.0 域。 
nt_username nchar(128) 进程的 Windows NT 4.0用户名(如果使用 Windows 身份验证)或信任连接的 Windows NT 4.0 用户名。 
net_address nchar(12) 指派给每个用户工作站上的网络接口卡唯一标识符。当用户登录时,该标识符插入 net_address 列。 
net_library nchar(12) 用于存储客户端网络库的列。每个客户端进程都在网络连接上进入。网络连接有一个与这些进程关联的网络库,该网络库使得这些进程可以建立连接。有关更多信息,请参见客户端和服务器 Net-Library。 
loginame nchar(128) 登录名。

 

个人学习记录(来源网络)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL Server 查杀会话连接

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SQL Server 查杀会话连接

sysprocesses 表中保存关于运行在 Microsoft® SQL Server™ 上的进程的信息。这些进程可以是客户端进程或系统进程。 Select * From master.sys.sysprocesses   一、使用sysprocesses查
SQL Server 查杀会话连接
2020-05-27

oracle查杀连接会话

由于频繁强制启停tomcat不清理连接等情况时可能导致oracle连接爆满,此时可以使用这个方式清理 --查询select sess.sid,sess.serial#,sess.machine,lo.oracle_username,lo.os_user_nam
2016-01-22

SQL Server 查看当前会话状态【sp_WhoIsActive 转载】

一.常见简便的方式通常,DBA使用sp_who和sp_who2系统存储过程或活动监视器来查看SQL实例中的当前会话、用户和进程。 我们还可以从这些过程中确定阻塞会话和活动会话。1.1. Sp_who 如下:1.2 Sp_who2 如下:1.3 通过SQL Se
SQL Server 查看当前会话状态【sp_WhoIsActive 转载】
2019-01-28

sql server 表连接

数据库操作中,我们需要的结果可能在两张表甚至多张表中,这时候就需要表连接操作,多表查询中的各个表之间的字段会存在连接,比如主外键关联,可以使用主外键来关联每张表。表连接方式有以下几种:JOIN: 如果表中有至少一个匹配,则返回行LEFT JOIN(左连接):
sql server 表连接
2022-03-03

Python 连接Sql Server数

Python 想要和MSSql数据库进行交互,首先要下载名为"pymssql"的包,然后import该包即可。地址:https://pypi.python.org/pypi/pymssql/2.1.0#downloads百度云(3.4win
2023-01-31

python连接sql server并执

python操作sql server,可以使用pymssql,成功安装pymssql后,按照如下的方法,可以连接数据库并执行查询操作:import pymssql#数据库服务器信息server="localhost"user="sa"pas
2023-01-31

python连接SQL Server数据

方法一:1、需要安装pymssql  pip install pymssql2、连接代码:import pymssqlconn=pymssql.connect(host='127.0.0.1',user='user',password='p
2023-01-31

eclipse怎么连接sql server

要在Eclipse中连接SQL Server,你可以按照以下步骤进行操作:1. 下载并安装JDBC驱动程序:首先,你需要下载适用于SQL Server的JDBC驱动程序。你可以在Microsoft官方网站上找到适用于你的SQL Server
2023-09-27

SQL SERVER如何实现连接与合并查询

这篇文章主要介绍了SQL SERVER如何实现连接与合并查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建测试表MyStudentInfoCREATE table MyS
2023-06-29

SQL SERVER ERROR 40 无法打开SQL SERVER的连接

这个报错一般两个原因,SQL SERVER实例服务未启动。或者服务未配置1433端口。配置1433端口是需要注意,配置一个本地IP的端口,还需要配置一个IPALL的端口,全都配置为1433。SQL SERVER ERROR 40 无法打开SQL SERVER的
SQL SERVER ERROR 40 无法打开SQL SERVER的连接
2021-08-31

Sql Server 2008 【存储过程】 死锁 查询和杀死

1 . 使用数据库中,可能出现死锁, 导致程序 无法正常使用.Create procedure [dbo].[sp_who_lock] ( @bKillPID Bit=0 -- 0: 查询 1: 结束掉相对应的死锁ID (可能导致数据异常)) as
Sql Server 2008 【存储过程】 死锁 查询和杀死
2018-08-23

SQL Server数据库连接查询和子查询实战案例

子查询(嵌套查询)子查询也称嵌套查询,是指一个SELECT查询语句可以嵌入另一个SELECT查询语句之中,下面这篇文章主要给大家介绍了关于SQL Server数据库连接查询和子查询的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
2023-05-16

编程热搜

目录