首页 > 代码库 > Azure sql database 监控存储过程的传参情况
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;
先执行该存储过程,通过查询sys.sysprocess 的spid 来查看存储过程脚本
执行监控语句
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;
基本上解决监控查看存储过程传参的问题。
如遇到sys.sysprocess无法查询到需监控的存储过程,可以试着调整需监控的存储过程如下:
再执行上述监控语句。
注意
需有执行上述监控语句的权限。
Azure sql database 监控存储过程的传参情况
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。