fly'sBlog

导航

SqlServer 查看数据库用到的sql或表

select * from syscomments where text like '%  %'

SELECT
Name,--存储过程名字
Definition --存储过程内容
FROM sys.sql_modules AS m
INNER JOIN sys.all_objects AS o ON m.object_id = o.object_id
WHERE m.definition like '%SELECT * INTO %'--存储过程内容

SELECT
Name,--存储过程名字
Definition --存储过程内容
FROM sys.sql_modules AS m
INNER JOIN sys.all_objects AS o ON m.object_id = o.object_id
WHERE o.[type] = 'P'--表名

 

 

 

 


SELECT 
    r.session_id,  -- 会话ID
    s.login_name,  -- 登录名
    s.host_name,   -- 客户端主机名
    s.program_name,-- 客户端程序名(如应用程序标识)
    r.status,      -- 会话状态
    r.cpu_time,    -- 累计CPU时间(毫秒)
    SUBSTRING(qt.text, 
              (r.statement_start_offset/2)+1,
              ((CASE r.statement_end_offset
                WHEN -1 THEN DATALENGTH(qt.text)
                ELSE r.statement_end_offset
               END - r.statement_start_offset)/2)+1
             ) AS current_query,  -- 当前执行的SQL片段
    qt.text AS full_sql_text,  -- 完整SQL文本
    r.start_time  -- 开始时间
FROM 
    sys.dm_exec_requests r
JOIN 
    sys.dm_exec_sessions s ON r.session_id = s.session_id
CROSS APPLY 
    sys.dm_exec_sql_text(r.sql_handle) qt
WHERE 
    qt.text LIKE '%WAITFOR DELAY @strDelayTime%'  -- 筛选包含目标语句的会话
    AND r.session_id <> @@SPID  -- 排除当前查询会话
ORDER BY 
    r.cpu_time DESC;

posted on 2023-03-30 11:03  fly'sBlog  阅读(263)  评论(0)    收藏  举报