鸿 网 互 联 www.68idc.cn

当前位置 : 主页 > 数据库 > mssql > >

Azure sql database 监控存储过程的传参情况

来源:互联网 作者:佚名 时间:2017-09-20 14:51
背景 实施开发的同事找到我,反馈说项目中使用Azure sql database 之后,无法使用Profiler来监控自己开发的存储过程的参数传参情况。确实profiler这些实例级别的工具在Azure sql database下是不支持的,那我们有没有办法,变相实现监控参数情况,特写一篇博

背景

实施开发的同事找到我,反馈说项目中使用Azure sql database 之后,无法使用Profiler来监控自己开发的存储过程的参数传参情况。确实profiler这些实例级别的工具在Azure sql database下是不支持的,那我们有没有办法,变相实现监控参数情况,特写一篇博客记录一下。  

测试环境

Microsoft SQL Azure (RTM) - 12.0.2000.8  Mar 30 2017 01:30:03  Copyright (C) 2016 Microsoft Corporation. All rights reserved.  

实现过程

新建一个测试传参存储过程
 1 CREATE PROCEDURE test_p_azure
 2     (
 3       @name NVARCHAR(50) ,
 4       @flag INT
 5     )
 6 /*
 7 测试存储过程传参
 8 */
 9 AS
10     BEGIN 
11         SET NOCOUNT ON;
12         SELECT  1;
13         SET NOCOUNT OFF;
14     END; 

a

先执行该存储过程,通过查询sys.sysprocess 的spid 来查看存储过程脚本 b
执行监控语句
1     SELECT  a.spid ,
2             b.text
3     FROM    sys.sysprocesses a
4             CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) b
5     WHERE   a.spid > 50
6             AND spid <> @@SPID;
c 基本上解决监控查看存储过程传参的问题。 如遇到sys.sysprocess无法查询到需监控的存储过程,可以试着调整需监控的存储过程如下: d   再执行上述监控语句。  

注意

需有执行上述监控语句的权限。
网友评论
<