每个数据库运行时查询最长

use*_*967 2 sql sql-server sql-server-2005

我用这个:

SELECT 
    *
FROM 
    sys.dm_exec_query_stats s
    CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
ORDER BY
    s.max_elapsed_time DESC
Run Code Online (Sandbox Code Playgroud)

在服务器级别上获得运行时间最长的查询.

如何获得每个数据库运行时间最长的查询?我想一次只关注一个数据库.

gbn*_*gbn 7

BOL条目sys.dm_exec_query_stats提及sys.dm_exec_query_plan

SELECT *
FROM
    sys.dm_exec_query_stats s
    CROSS APPLY
    sys.dm_exec_sql_text( s.sql_handle ) t
    CROSS APPLY
    sys.dm_exec_query_plan(s.plan_handle) foo
WHERE
    foo.dbid = DB_ID('My_DB')
ORDER BY
    s.max_elapsed_time DESC
Run Code Online (Sandbox Code Playgroud)

编辑:我没试过.我一般担心服务器负载......