Comment find l'utilisation du CPU pour la database SQL Server 2005

Comment find l'utilisation du processeur pour SQL Server 2005 Server

5 Solutions collect form web for “Comment find l'utilisation du CPU pour la database SQL Server 2005”

De l'article MSDN sur le dépannage des problèmes de performances dans SQL Server 2005

La requête suivante vous donne une vue de haut niveau sur laquelle les lots ou les procédures actuellement en cache utilisent la plupart des processeurs. La requête agrège la CPU consommée par toutes les instructions avec le même plan__handle (ce qui signifie qu'elles font partie du même lot ou procédure). Si un plan_handle donné a plus d'une déclaration, vous devrez peut-être forer plus loin pour find la requête spécifique qui est le plus grand consortingbuteur à l'utilisation globale de l'UC.

select top 50 sum(qs.total_worker_time) as total_cpu_time, sum(qs.execution_count) as total_execution_count, count(*) as number_of_statements, qs.plan_handle from sys.dm_exec_query_stats qs group by qs.plan_handle order by sum(qs.total_worker_time) desc 

Un peu plus:

  • WMI
  • Compteurs de performance
  • SNMP

Quelques moyens viennent à l'esprit

  • Gestionnaire des tâches
  • Explorateur de process
  • Get-Process sqlservr |select CPU
  • WMI
  • Compteurs de performance via PerfMon

En utilisant sys.dm_exec_query_stats, vous pouvez find les usages de la CPU par différents objects SQL Server. Voici un script:

 SELECT DB_NAME(st.dbid) AS DatabaseName ,OBJECT_SCHEMA_NAME(st.objectid,dbid) AS SchemaName ,cp.objtype AS ObjectType ,OBJECT_NAME(st.objectid,dbid) AS Objects ,MAX(cp.usecounts)AS Total_Execution_count ,SUM(qs.total_worker_time) AS Total_CPU_Time ,SUM(qs.total_worker_time) / (max(cp.usecounts) * 1.0) AS Avg_CPU_Time FROM sys.dm_exec_cached_plans cp INNER JOIN sys.dm_exec_query_stats qs ON cp.plan_handle = qs.plan_handle CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st WHERE DB_NAME(st.dbid) IS NOT NULL GROUP BY DB_NAME(st.dbid),OBJECT_SCHEMA_NAME(objectid,st.dbid),cp.objtype,OBJECT_NAME(objectid,st.dbid) ORDER BY sum(qs.total_worker_time) desc 

Dans ce résultat du script, vous pouvez find le type d'objects et des calculs différents pour le time CPU.

  • SQL Server 2005 Tableau de miroir entre les bases de données sur le même server
  • Serveur SQL 2005 memory manquante
  • Comment désactiver le message de journal des events sur le message d'erreur adhoc lors de l'utilisation de RaisError?
  • Comment installer SQL Server 2000, SQL Server 2005 et SQL Server 2008 sur une seule machine
  • Combien de time un partenaire défaillant peut-il être déconnecté avant qu'une sauvegarde complète ne soit nécessaire pour se synchroniser de nouveau?
  • Comment puis-je donner à un user SQL Server l'autorisation d'exécuter une procédure stockée et rien d'autre?
  • Définir le timeout d'attente de la command à partir de SQL Server 2005 plutôt que via le code?
  • Que se passe-t-il lorsque tempdb ne peut plus grandir?
  • Dans la réplication de fusion SQL Server 2005/2008, quelles permissions sont nécessaires pour le count Merge Agent?
  • Pourquoi le server Sql écrive-t-il les 100 files sur l'information sur le volume du système (tous avec le même nom)
  • Paramètres appropriés pour SQL Server 2005 Profiler User Audit
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.