Как получить самые медленные запросы на SQL 2005, не требуя изменения совместимости?

Я читал этот невероятный список сценариев sql dba на http://www.sqldbtools.com/Scripts.aspx , не связанных с ними. И я хочу выполнить этот запрос ...

select top 10
    qs.execution_count,
    st.dbid,
    DB_NAME(st.dbid) as DbName,
    st.text from sys.dm_exec_query_stats as qs cross
apply sys.dm_exec_sql_text(sql_handle)
st order by execution_count desc

Но для нашего производственного сервера слишком рискованно менять режим совместимости, есть ли сценарий, который я могу использовать, который не требует этого?

6.11.2009 18:57:09
1 ОТВЕТ

Ваш запрос будет работать на SQL Server 2005, если вы не выполняете его в контексте базы данных с более низким уровнем совместимости

USE master
GO
select top 10
    qs.execution_count, st.dbid, DB_NAME(st.dbid) as DbName, st.text
from 
    sys.dm_exec_query_stats as qs
    cross apply
    sys.dm_exec_sql_text(sql_handle) st order by execution_count desc

Из заблуждения Пола Рэндалла о работе DMV в базах данных с более низким уровнем совместимости

3
6.11.2009 19:04:48
Но это более низкий уровень совместимости, мне нужны данные о самых медленных запросах ... Я могу запустить их на нашем сервере разработки. Но я не хотел рисковать стабильностью сервера, меняя уровень производительности на производстве.
crosenblum 8.11.2009 17:46:31