Plus d'un an plus tard, je veux que tout le monde connaisse mon expérience et le résultat final de cette question / sujet.
J'ai commencé par créer des choses par moi-même. Au départ, j'ai suivi l'article Collecter et stocker les données historiques du compteur de performances SQL Server avec les CMV de Tim Ford pour obtenir quelque chose et l'étendre avec toutes les données que je voulais collecter. Donc, une fois par jour, j'exécute plusieurs procédures stockées sur chaque serveur SQL qui collectent des informations spécifiques à partir des DMV et stockent les résultats sur le serveur local à l'intérieur d'une base de données. Cela inclut l'utilisation d'index, les index manquants, les entrées de journal spécifiques comme la croissance automatique, les paramètres du serveur, les paramètres de la base de données d'application, la fragmentation, l'exécution des travaux, les informations du journal des transactions, les informations sur les fichiers, les statistiques d'attente et plus encore.
De plus, j'ai ajouté les résultats d'exécution régulière de sp_blitz de Brent Ozar à ce référentiel pour collecter des indications supplémentaires utiles pour travailler, améliorer et signaler.
Toutes les données sont ensuite collectées à partir de là dans un serveur SQL de surveillance dédié et de cette façon, je crée un magasin groupé pour obtenir des informations pertinentes sur les performances de tous mes serveurs et l'utiliser comme base pour les enquêtes et les rapports.
Ensuite, j'ai créé des feuilles Excel et des rapports en utilisant des services de reporting pour analyser et interpréter. Certains échantillons:
J'ai également configuré certains compteurs de performances de surveillance à l'aide de TYPEPERF inspiré de l'article « Collecter des données de performances dans une table SQL Server » de Fedor Georgiev.
À partir de mon instance de surveillance SQL, je déclenche typeperf pour exécuter et collecter un nombre configurable d'échantillons avec un intervalle d'échantillonnage configurable et stocker les résultats dans ma base de données de surveillance centrale.
Cela me permet d'observer les valeurs de performance à long terme, échantillon:
Après un certain temps à utiliser cela pour collecter des informations de base, il s'est avéré que beaucoup de travaux de maintenance devaient être consacrés à la recherche des travaux échoués, des procédures de débogage (par exemple, dans le cas où une base de données était mise hors ligne, certains scripts ont échoué), le maintien des paramètres après le remplacement d'un serveur ...
De plus, la base de données collectant tous les enregistrements elle-même nécessite une maintenance et un réglage des performances, donc des travaux supplémentaires sont nécessaires pour garder les données utiles ...
Ce qui manque finalement complètement, c'est la capacité de regarder les choses qui se produisent en direct. Dans le meilleur des cas, je serai en mesure de dire ce qui se passait peut-être le lendemain après l'exécution des collecteurs de données. De plus, tous les détails manquent. Je n'ai pas accès aux graphiques de blocage, je ne peux pas regarder les plans de requête des requêtes qui s'exécutaient dans un délai suspect ...
Tout cela m'a poussé à facturer la gestion pour dépenser de l'argent pour une solution professionnelle que je ne suis pas en mesure de créer par moi-même.
Le choix final a été d'acheter SentryOne car par rapport aux autres, il est convaincant et fournit de nombreuses informations nécessaires pour identifier nos points faibles.
En conclusion, je conseillerais à quiconque cherche des réponses à une question similaire de ne pas essayer de créer des choses par lui-même tant que vous n'avez pas un petit environnement fondamentalement sain en place. Si vous avez quelques systèmes et beaucoup de problèmes, mieux vaut opter immédiatement pour une solution professionnelle et utiliser l'assistance du fournisseur sur vos problèmes au lieu de dépenser beaucoup de temps et d'argent pour créer quelque chose de moins utile. Cependant, cette route était toujours très intéressante et m'a fait apprendre beaucoup de choses que je ne veux pas manquer.
J'espère que vous trouverez cela utile une fois que vous aurez rencontré ce fil de questions.
EDIT 20 avril 2017:
Brent Ozar a récemment publié l'article suivant sur Facebook qui est une sorte d'approche similaire adoptée par l'équipe SQL Tiger: https://blogs.msdn.microsoft.com/sql_server_team/sql-server-performance-baselining -rapports-déchaînés-pour-surveillance-entreprise /