zoukankan      html  css  js  c++  java
  • 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无法查询到需监控的存储过程,可以试着调整需监控的存储过程如下:
    再执行上述监控语句。
     

    注意

    需有执行上述监控语句的权限。
  • 相关阅读:
    MySQL8.0设置远程访问权限
    MySQL创建用户与授权
    input lable水平对齐
    jquery datagrid加载后仅选定第一行
    jquery隐藏按钮
    C# 添加excel批注
    在ashx中使用Server对象
    jquery 获取datagrid行数
    弹出窗体中加载页面
    【MySQL】MySQL零碎积累
  • 原文地址:https://www.cnblogs.com/jil-wen/p/6826554.html
Copyright © 2011-2022 走看看