SQLSERVER 如何跟踪执行的各项事务 语句跟踪

本文介绍如何在SQL Server中使用存储过程跟踪执行的事务和语句。通过创建并设置sp_perfworkload_trace_start存储过程,监控RPC完成、SP:StmtCompleted和SQL:StmtCompleted事件,包括相关列如HostName、Reads、Writtes等信息,并应用过滤器以关注特定的数据库ID和应用程序名称。

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

--创建存储过程
SET NOCOUNT ON;
USE master;
go

IF OBJECT_ID('dbo.sp_perfworkload_trace_start') IS NOT NULL
    DROP PROC dbo.sp_perfworkload_trace_start;
GO

CREATE PROC dbo.sp_perfworkload_trace_start
 @dbid      AS INT
,@tracefile AS NVARCHAR(254)
,@traceid   AS INT OUTPUT
AS
--创建一个队列
DECLARE @rc             AS INT;
DECLARE @maxfilesize    AS BIGINT;

SET @maxfilesize = 5120;   --MB

EXEC @rc = sp_trace_create @traceid OUTPUT, 0, @tracefile, @maxfilesize, NULL
IF (@rc != 0) GOTO ERROR;

--设置要跟踪的事件
DECLARE @on AS BIT;
SET @on=1;
--RPC:Completed     在完成了远程过程调用 (RPC) 时发生
--Columns:HostName, Reads(次), RowCounts, TextData, Writes(次), ApplicationName, CPU(ms), LoginName, SPID, Duration(ms), StartTime, EndTime
EXEC sp_trace_seteven

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值