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

Posted jil.wen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 监控存储过程的传参情况的主要内容,如果未能解决你的问题,请参考以下文章

通过本地Agent监控Azure sql database

Azure SQL Database (22) Azure SQL Database支持中文值

Azure SQL Database (22) 迁移部分数据到Azure Stretch Database

Azure SQL Database (23) Azure SQL Database Dynamic Data Masking动态数据掩码

Java连接Azure SQL Database

Java连接Azure SQL Database