2010-08-27 8 views
1

Je suis dans une situation où je suis entré dans un nouveau travail et je dois prendre en charge plusieurs systèmes existants. Le développeur d'origine n'est plus là. Ces systèmes hérités martèlent vraiment notre SQL Server et meurent des performances. Je sais qu'il y a beaucoup de choses qui peuvent être faites dans le code, mais le code de réécriture est vraiment mon dernier recours.Outils tiers pour la surveillance des performances de SQL Server

Ce que je recherche est une sorte d'outil qui va surveiller les requêtes arrivant dans le serveur et donner des recommandations sur les solutions d'indexation. Je sais que je peux utiliser le SQL Server Profiler mais je cherche quelque chose d'un peu plus convivial et quelque chose qui peut m'aider à prendre les décisions d'indexation.

Je sais que je ne l'ai pas très bien expliqué, mais je suis sûr que c'est une demande courante. Je voudrais prendre des décisions éclairées sur ce qu'il faut indexer et éviter de «tirer de la hanche» et d'indexer tout ce qui est en vue. Merci pour toutes les recommandations!

Répondre

2

Vous n'avez pas besoin d'un outil tiers pour cela. En supposant SQL Server 2005+ tant que vous pouvez utiliser SQL Profiler (en fait, SQL Trace - N'utilisez pas l'interface graphique du Profiler pour que cela réduise le plus possible le surdéplacement) pour collecter une charge de travail représentative, vous pouvez utiliser le Database Tuning Advisor automatiser l'analyse de la charge de travail et faire des recommandations d'indexation.

Vous pouvez également utiliser le Missing Index DMVs pour un aperçu rapide des domaines à étudier, mais le DTA effectuera une analyse plus holistique et prendra en compte les effets indésirables possibles des index sur les déclarations de modification de données.

1

+1 pour Martin's answer, mais puisque vous avez demandé des outils tiers, je vais mentionner un de mes favoris (et non, je ne travaille pas pour l'entreprise). Ignite for SQL Server fait un excellent travail d'analyse de l'activité du serveur en termes de wait time analysis. Il ne fera pas de recommandations pour vous, mais il identifiera rapidement les requêtes les moins performantes sur lesquelles vous devez concentrer vos efforts.

0

SQL Server 2005+ a beaucoup de vues DMV (Dynamic Management) que vous pouvez interroger pour obtenir des informations sur le serveur, ainsi que l'outil Profiler/SQL Trace.

Nous administrons plusieurs grands serveurs de base de données. Idera est un bon outil pour gérer facilement plusieurs serveurs de base de données.

Je pense que vous feriez un bien meilleur DBA si vous en apprenez davantage sur les fonctionnalités intégrées du serveur SQL.

Allez donc parcourir de

http://msdn.microsoft.com/en-us/library/ms188754.aspx

pour en savoir plus sur les fonctions et de DMV.

Un autre problème commun avec les performances pourrait être vos index.

Theres un bon tutoriel qui combine de l'amélioration des index avec DMV ici:

http://searchsqlserver.techtarget.com/tip/Using-dynamic-management-views-to-improve-SQL-Server-index-effectiveness

Idera est vraiment la peine de vérifier si un bon point de départ. Combiné avec la trace SQL de DMV & il ne devrait pas y avoir beaucoup de choses que vous ne pourrez pas résoudre.Idera prend juste la plupart du travail de jambe hors de faire des choses.

http://www.idera.com/Content/Home.aspx

Idera: SQL Diagnostic du

+0

Je ne prévois pas de devenir un DBA comme ma charge de travail actuelle ne lui permettra pas. Nous n'en avons pas, et nous n'en aurons probablement jamais, alors j'essayais de trouver un progiciel qui pourrait absorber une partie de la marge. –

+0

Et "prend la plupart du travail de la jambe hors de faire les choses" est exactement ce que je cherche. Je sais que je ne peux pas l'automatiser complètement et je vais quand même avoir besoin de faire preuve de jugement, mais je cherche juste un raccourci possible. –

Questions connexes