You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Studio的SQL Server Profiler能否分析Azure SQL Database存储过程内的SELECT语句?是否因模板受限?

Azure SQL Database中分析存储过程内部SELECT语句的问题
  • 可以分析存储过程内部的SELECT语句,但Azure Data Studio自带的SQL Server Profiler做不到——针对Azure SQL Database,Profiler确实只提供受限模板,默认仅捕获存储过程级别的执行事件,不会深入到内部的单条语句。
  • 要捕获存储过程内部的SELECT语句,推荐使用Extended Events(扩展事件),这是Azure SQL Database官方推荐的性能监控方案,比Profiler更轻量且功能完整:
    1. 在Azure Data Studio中启动扩展事件向导,创建新的事件会话。
    2. 选择sql_statement_completed或sql_statement_starting事件,这类事件会捕获所有执行的SQL语句,包括存储过程内部的语句。
    3. 添加sql_text、session_id、object_name等字段,方便过滤和识别目标语句。
  • 另外,也可以通过动态管理视图查询存储过程内部语句的执行统计,示例代码:
SELECT 
    OBJECT_NAME(st.objectid) AS proc_name,
    SUBSTRING(st.text, (qs.statement_start_offset/2)+1, 
        ((CASE qs.statement_end_offset 
          WHEN -1 THEN DATALENGTH(st.text) 
          ELSE qs.statement_end_offset 
         END - qs.statement_start_offset)/2)+1) AS sql_statement,
    qs.total_worker_time,
    qs.execution_count
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
WHERE st.objectid IS NOT NULL
AND OBJECT_NAME(st.objectid) = '你的存储过程名称';

内容的提问来源于stack exchange,提问作者gordon613

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:26:26