2009-11-06 2 views
0

Je lisais cette liste fabuleuse de scripts sql dba au http://www.sqldbtools.com/Scripts.aspx, non affiliés avec eux. Et je veux exécuter cette requête ...Comment obtenir les requêtes les plus lentes sur SQL 2005, sans changement de compatibilité?

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 

Mais pour notre serveur de production, il est trop risqué, pour changer de mode de compatibilité, est-il un script que je peux l'utiliser ne nécessite pas?

Répondre

3

Votre requête fonctionne sur SQL Server 2005, tant que vous ne courez pas dans le contexte de la base de données avec le niveau inférieur compat

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 

De Paul Randall Misconceptions about running DMVs on databases with lower compatibility levels

+0

Mais c'est la plus faible niveau de compat que j'ai besoin des données sur ce que sont les requêtes les plus lentes ... Je peux l'exécuter sur notre serveur de développement. Mais je ne voulais pas prendre de risques avec la stabilité du serveur en changeant le niveau de compat sur la production. – crosenblum

+0

Vous n'avez pas besoin de changer le niveau de compatibilité ... – gbn

Questions connexes