Comment réactiver les compteurs de performances SQL Server 2008 R2?


11

J'exécute SQL Server 2008 R2 Developer sur Windows 7 x64, en tant qu'instance par défaut. Pour une raison quelconque, les compteurs de performances de SQL Server semblent avoir disparu. SELECT * FROM sys.dm_os_performance_countersrenvoie zéro ligne.

J'ai essayé de courir lodctr /T:perf-MSSQLSERVERsqlctr.ini. Bien qu'il se soit terminé sans erreur, il n'a rien résolu, même après le redémarrage du service Registre distant. En fait, les compteurs sont maintenant absents de perfmon. unlodctr MSSQLSERVERindique toujours que les compteurs ne sont pas installés, mais lodctr /Q:MSSQLSERVERindique qu'ils sont présents et activés. Les compteurs Windows et .NET classiques fonctionnent correctement.

Dans le journal des erreurs Windows, je vois l'erreur 8317:

Impossible d'interroger la valeur 'First Counter' associée à la clé de registre 'HKLM \ SYSTEM \ CurrentControlSet \ Services \ MSSQLSERVER \ Performance'. Les compteurs de performances SQL Server sont désactivés.

Je soupçonne que le problème peut avoir été déclenché par une installation de SQL 2012 RC0 qui a échoué. Des suggestions sur la façon de récupérer, à moins de réinstaller SQL Server 2008 R2?


Vous voulez dire "Visual Studio 11" (pas "2011"?)
gbn

Oui, VS 11. Le problème avec la question sur la défaillance du serveur est qu'aucune des réponses publiées n'a résolu le problème. J'espère que les utilisateurs orientés DBA pourront fournir une aide plus utile.
RickNZ

Réponses:


4

Essayez lodctr /R, il reconstruira tous les compteurs de performances à partir des informations stockées dans le registre.


Dans mon cas, il manquait plus de compteurs, pas seulement ceux de SQL Server. lodctr /Ra fait l'affaire et les a tous restaurés. Merci beaucoup pour l'astuce.
Endrju

4

Lisez ceci:

http://blogs.msdn.com/b/psssql/archive/2009/03/03/troubleshooting-sql-server-2005-2008-performance-counter-collection-problems.aspx

Les instructions exactes ne sont pas correctes à 100%. Vous devez le faire, en supposant que vous utilisez l'instance par défaut:

unlodctr MSSQLSERVER
lodctr perf-MSSQLSERVERsqlperf.ini
lodctr /T:MSSQLSERVER

Redémarrez ensuite.


J'ai trouvé que le chemin symbolfile dans mon perf-MSSQLSERVERsqlctr.ini était incorrect. Je l'ai corrigé, exécuté lodctr /T:perf-MSSQLSERVERsqlctr.ini, lodctr perf-MSSQLSERVERsqlctr.ini et redémarré SQL Server.
Der_Meister


2

Il semble que les compteurs de performances pour SQL Server sont désactivés ou que les entrées de registre des compteurs de performances sont endommagées.

lodctr /E:MSSQLSERVER rechargera les paramètres de registre du compteur de performances.


0

Si vous exécutez une version 32 bits de SQL Server sur une installation 64 bits de Windows, vous devez utiliser la version 32 bits de l'Analyseur de performances pour afficher les compteurs comme expliqué dans ce blog MSDN . Pour ce faire, utilisez l'une des méthodes suivantes:

  1. Exécuter à perfmon.exepartir du %windir%\SysWOW64dossier
  2. Exécutez la commande mmc /32 perfmon.msc

Assurez-vous également que vous exécutez SQL Server avec le dernier Service Pack et les derniers correctifs. L'article 2708726 de MSKB décrit un problème où les fichiers .dll de l'Analyseur de performances ne sont pas mis à jour correctement lors de l'application de mises à jour à SQL Server 2008 R2 ou SQL Server 2012.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.