有时候需要抓取执行存储过程时某个参数的值,有时候程序调用存储过程执行后结果不太对,不确定是程序的问题还是存储过程的问题,需要单独执行存储过程看结果

即可用下面的方法

--================================================================================================
--创建对某个存储过程的执行情况的跟踪
--注意修改路径 和 object_id
--================================================================================================
-- Create a Queue
declare @rootPath NVARCHAR(200) = 'D:\TraceLog\'
declare @path nvarchar(500)
declare @rc int
declare @TraceID int
declare @maxfilesize bigint
set @maxfilesize = 20
declare @intfilter int
set @intfilter =  object_id('dbo.sp_name')SET @path = @rootPath --+ CONVERT(VARCHAR(6), GETDATE(), 112) + '\'  --年月的目录+ REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120), '-',''),' ',''),':','');
--select @path  --D:\InOut\TraceLog\201709\20170927110926-- Please replace the text InsertFileNameHere, with an appropriate
-- filename prefixed by a path, e.g., c:\MyFolder\MyTrace. The .trc extension
-- will be appended to the filename automatically. If you are writing from
-- remote server to local drive, please use UNC path and make sure server has
-- write access to your network shareexec @rc = sp_trace_create @TraceID output, 0, @path, @maxfilesize, NULL
if (@rc != 0) goto error-- Client side File and Table cannot be scripted-- Set the events
declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 43, 1, @on
exec sp_trace_setevent @TraceID, 43, 9, @on
exec sp_trace_setevent @TraceID, 43, 2, @on
exec sp_trace_setevent @TraceID, 43, 3, @on
exec sp_trace_setevent @TraceID, 43, 6, @on
exec sp_trace_setevent @TraceID, 43, 8, @on
exec sp_trace_setevent @TraceID, 43, 10, @on
exec sp_trace_setevent @TraceID, 43, 11, @on
exec sp_trace_setevent @TraceID, 43, 12, @on
exec sp_trace_setevent @TraceID, 43, 13, @on
exec sp_trace_setevent @TraceID, 43, 14, @on
exec sp_trace_setevent @TraceID, 43, 15, @on
exec sp_trace_setevent @TraceID, 43, 22, @on
exec sp_trace_setevent @TraceID, 43, 34, @on
exec sp_trace_setevent @TraceID, 43, 35, @on-- Set the Filtersdeclare @bigintfilter bigint
--set @intfilter = 1055342824 --select object_id('dbo.sp_name')
exec sp_trace_setfilter @TraceID, 22, 0, 0, @intfilter-- Set the trace status to start
exec sp_trace_setstatus @TraceID, 1-- display trace id for future references
select TraceID=@TraceID
goto finisherror:
select ErrorCode=@rcfinish:
go--================================================================================================
--查询跟踪到的结果 注意需要更改ID  id= @TraceID
--================================================================================================
declare @file nvarchar(256)
select @file= path from sys.traces where id=@traceID and status=1 AND [path] IS NOT NULL
SELECT * FROM ::fn_trace_gettable(@file, DEFAULT) a
ORDER BY starttime desc--================================================================================================
--停止跟踪、关闭跟踪并删除跟踪定义。  注意修改 @TraceID
--================================================================================================SELECT * FROM ::fn_trace_getinfo(default)  -- First stop the trace.
EXEC sp_trace_setstatus @TraceID, 0  -- Close and then delete its definition from SQL Server.
EXEC sp_trace_setstatus @TraceID, 2 

转载于:https://www.cnblogs.com/davidhou/p/7601329.html

sqlserver 创建对某个存储过程执行情况的跟踪相关推荐

  1. linux查看db2存储过程,DB2查看存储过程里SQL语句的执行情况

    动态SQL可以用snapshot查看,存储过程里SQL语句的执行情况用event monitor查看. 但是event monitor没有记录SQL语句,而是记录了package id和Section ...

  2. sqlserver 创建存储过程及基本语法

    本文记录sqlserver 创建存储过程及基本语法的讲解,附上作者实现功能的实例 背景:作者的task是需要两个数据库之间进行数据迁移,本可以用java程序来实现,后面觉得可以学习下存储过程,故采用这 ...

  3. SQL Server -- SQLserver 存储过程执行错误记录到表

    SQLserver 存储过程执行错误记录到表    From: http://blog.csdn.net/leshami/article/details/51333650 对于在执行存储过程中碰到的一 ...

  4. 为什么sqlserver创建存储过程成功,却找不到这个存储过程呢

    1.为什么sqlserver创建存储过程成功,却找不到这个存储过程呢? 需要点击工具上,创建存储过程,在那个里面去写存储过程,然后再刷新存储过程就会出现了 注意:如果是在新建查询上面,直接写sql创建 ...

  5. 6-C++中继承的权限有三种情况、创建和销毁的执行过程、多继承、菱形继承、多态的相关知识点

    目录 1.继承的权限有三种 (1)public继承 (2)protected继承 (3)private继承 总结 2.创建和销毁的执行过程 (1)类中有成员对象情况 (2)继承时情况 (3)创建和销毁 ...

  6. SQLSERVER查看阻塞和CPU占用的会话,存储过程执行性能排行

    SELECT * FROM sys.sysprocesses WHERE DB_NAME(dbid)='TEST'; --TEST数据库的进程数 SELECT cpu_count,scheduler_ ...

  7. sqlserver创建程序集

    sqlserver创建程序集 适用对象: SQL ServerAzure SQL 数据库Azure SQL 数据仓库并行数据仓库 托管数据库对象(如存储过程或触发器)先经过编译,然后部署到称为程序集的 ...

  8. SQL SERVER 查询作业(Job)基本信息及执行情况

    首先SqlServer的作业(job)是定期执行某个语句或者存储过程的任务,类似于windows里面的执行计划.  作业是在SqlServer代理里面,如下面的截图:  关于具体如何创建作业,网上资料 ...

  9. SQL SERVER 查询作业(Job)基本信息及执行情况的sql

    首先SqlServer的作业(job)是定期执行某个语句或者存储过程的任务,类似于windows里面的执行计划. 作业是在SqlServer代理里面,如下面的截图: 关于具体如何创建作业,网上资料太多 ...

最新文章

  1. ModuleNotFoundError: No module named 'tools.nnwrap' pytorch 安装
  2. 数据结构实验之链表二:逆序建立链表
  3. VS2019使用说明
  4. 关于 Bootstrap的知识
  5. 使用CSS3属性aspect-ratio做横屏检测优化用户体验,附demo完整代码
  6. MySQL 数据库 like 语句通配符模糊查询小结
  7. np.linalg.norm()用法
  8. 堆排序c语言6,C语言:十种排序(七) - 堆排序
  9. 在Eclipse中使用Maven创建多模块的层级项目
  10. 怎样在两台计算机之间建立硬盘共享,如何让两台电脑硬盘共享在一起
  11. Allegro 导装配图
  12. 软件服务化:管理当先
  13. AD 如何查看元器件库中的3D模型?
  14. 不一般的Cover Letter
  15. 供应链,产业链,价值链及其之间的关系-商业模式名词解释12-14
  16. springboot中使用freemarker生成word循环输出图片(二维码)
  17. 阿里p9教你Java学到什么程度才能叫精通?
  18. 计算机组装win7实训报告,计算机基础1实验报告win7基本操作.docx
  19. np.cov np.var
  20. 什么样的品牌公关事件会引人注目?

热门文章

  1. oracle32位11g中文乱码,win7 64位系统 Oracle32bit + PL/SQL访问Orale服务,Oracle 11g的安装,中文乱码问题的解决...
  2. qt如何提前jpg文件里的缩略图_如何去捕获和编辑H5制作软件Hype中的海报图像
  3. python 打开targz文件_Python下使用pandas打开excel文件并进行处理
  4. Python 如何创建多维的list
  5. 计算机408考研专题(建议收藏)
  6. 地表最强的MySQL安装一键式安装,信不信你下完我就给你装好!附各种Mysql安装失败的解决办法(什么你安装失败了?快来看这个)
  7. [深度学习] Keras 如何使用fit和fit_generator
  8. verilog 不可综合语句 总结 汇总(Z)
  9. python join() 函数的用法
  10. sklearn的认识