sqlserver存过sp_who_run

本文介绍了一个用于监控 SQL Server 中活动进程的存储过程 sp_who_run。该存储过程能够显示每个会话的详细信息,包括会话 ID、数据库名称、用户名、状态、等待类型、正在执行的查询文本等。通过对这些信息的分析,可以更好地理解当前 SQL Server 的运行情况并进行必要的优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

USE [master]

GO

/****** Object:  StoredProcedure [dbo].[sp_who_run]    Script Date: 07/11/2016 14:41:30 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

 

 

create PROCEDURE [dbo].[sp_who_run]

AS

BEGIN

    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

 

    SELECT [Spid] = session_Id

    , ecid

    , [Database] = DB_NAME(sp.dbid)

    , [User] = nt_username

    , [Status] = er.status

    , [Wait] = wait_type

    , [Individual Query] = SUBSTRING (qt.text,

             er.statement_start_offset/2,

    (CASE WHEN er.statement_end_offset = -1

           THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2

        ELSE er.statement_end_offset END -

                                er.statement_start_offset)/2)

    ,[Parent Query] = qt.text

    , Program = program_name

    , Hostname

    , nt_domain

    , start_time

    ,logical_reads

    FROM sys.dm_exec_requests er

    INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid

    CROSS APPLY sys.dm_exec_sql_text(er.sql_handle)as qt

    WHERE session_Id > 50              -- Ignore system spids.

    AND session_Id NOT IN (@@SPID)     -- Ignore this current statement.

    ORDER BY start_time

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值