Il peut être utile de connaître la tendance des durées des plans de maintenance en place dans le temps. D’un point vue proactif on peut remarquer par exemple que la durée d’un plan de maintenance atteindra bientôt la limite imposée par la fenêtre de maintenance et engager les actions nécessaires à l’optimisation et la réduction de celui-ci. D’un point de vue statistique, on peut par exemple voir l’évolution des durées des plans de maintenance et corréler ces informations à celle de la base elle même : Y’a t’il eu une évolution de la base ? Quels sont les changements sont intervenus ? Le volume des données est-il devenu beaucoup plus important ? etc…
Archives pour la catégorie SQL Server 2005
Déployer SQL Server 2005 par script
Il y a quelques temps mon client m’a demandé de réfléchir à un template générique d’installation pour SQL Server 2005 pour une équipe non DBA en charge du déploiement sur un certain nombre de serveurs. Dès lors, 2 solutions s’offraient à nous : Créer une documentation d’installation détaillée avec copie d’écran ou installer SQL Server 2005 par script automatique. Cette 2ème solution permettrait de réduire considérablement la documentation à fournir et minimiserait le temps d’installation pour l’équipe de déploiement.
UDF ou SQL ensembliste ?
Ces derniers jours chez un client, j’ai dû faire face à une soudaine augmentation de l’activité CPU qui était en moyenne à 85% avec des pointes à 100% avec tous les problèmes de ralentissement d’activité que cela implique. Après une première analyse, la configuration hardware et la configuration du serveur SQL n’étaient pas en cause. J’ai donc décidé de lancer une trace avec SQL Profiler pour détecter les requêtes consommatrices en ressources CPU.
Détecter les inter blocages
N’avez vous jamais entendu un utilisateur vous dire « L’application est lente » ou « Nous sommes tous bloqués, nous ne pouvons plus rien faire.. à l’aide !! « . On peut se demander par où commencer. Une 1ère piste serait de regarder les inter blocages existants. Voici un petit script qui permet de les récupérer à partir de sqlserver 2005.
Utilisation du parallélisme et mesure de l’utilisation CPU
Il y a quelques jours, j’ai eu à faire face à un problème d’occupation CPU élevé sur un des serveurs SQL du client chez lequel je me trouve. Après quelques investigations, je me suis posé la question suivante : Est ce que le serveur utilise le parallélisme et comment savoir quels lots de requêtes a recours à un traitement en parallèle ?
SQL Server 64 bits et AWE
Aujourd’hui j’ai eu une discussion avec un de mes collaborateurs de travail au sujet du mécanisme AWE et des architectures 64 bits SQL Server. Celui-ci me disait que AWE n’était pas nécessaire dans ce cas alors que ce mécanisme peut tout à fait être implémenté sur des architectures 64 bits. Voyons pourquoi.
Index , RID lookup et optimisation
En regardant la DMV sys.dm_db_index_usage_stats qui permet de visualiser la façon dont est utilisée les index, j’ai constaté qu’un de ces index (idx_heap_v_b1rvalo) utilisait de manière intensive la recherche (ou lookup) en regardant le compteur de la colonne user_lookups.
UDF CLR ou UDF SQL
Une des nouveautés introduites par sqlserver sont les types et fonctions utilisateurs (UDT / UDF) basés sur le common runtime language (CLR). Bien que cette nouvelle fonctionnalité s’éloigne de la norme SQL, elle permet d’étendre le champ d’action du développeur. Mais dans quel cas est-il judicieux de les utiliser ?
Parallélisme et performance
Pour mon 1er billet, je vais vous faire part d’une discussion intéressante que j’ai eu avec un de mes responsables de travail concernant la parallélisation des requêtes sur SQL Server. En effet les premiers temps où je suis arrivé dans l’entreprise, on m’a présenté l’infrastructure informatique et un des serveurs sur lequel j’allais exercer mes fonctions de DBA.
Ce serveur a des caractéristiques plutôt intéressantes. (2 Processeurs Intel Xeon 2 quadricoeur 2,33GHz avec 8 Go de RAM et un peu plus de 1 Téra Octets d’espace disque pour héberger les données avec une version SQL Server 2005 Entreprise Edition). Ce serveur héberge 16 bases de données qui fonctionnent toutes en environnement OLTP et où l’activité transactionnelle est plutôt soutenue.
Cependant mon responsable a été surpris quand je lui ai annoncé qu’il était bien souvent inutile de laisser la parallélisation activée dans ce genre d’environnement et qu’à l’inverse on risquait de perdre en performance. Il a fallu bien évidemment le lui prouver.