La solution de maintenance SQL Server d'Ola Hallengren

J'ai initialement publié ces étapes en 2016, mais avec Ola Hallengren mettant à jour son Solution de maintenance SQL Server récemment, j'ai senti qu'il était temps de revoir, de mettre à jour et d'actualiser mon article de blog. Tout cela pour dire qu'il s'agit d'un mélange de contenu de 2016 et d'aujourd'hui. J'ai remarqué qu'il y avait eu des changements mineurs dans le script au fil du temps, rien de majeur que j'ai vu, mais il y a quelques différences.

Les performances de SQL Server sont l'un des éléments les plus importants qui affecteront les performances du SCCM. Par conséquent, lorsque vous demanderez de l'aide sur les performances du SCCM, vous serez presque toujours dirigé vers la solution d'Ola Hallengren. Cependant, de nombreux administrateurs ConfigMgr sont NE PAS Experts SQL Server, alors comment installer cette solution ? Cet article de blog répond à cette question.

Installation de la solution de maintenance SQL Server

  1. Commencez par consulter le billet de blog d'Ola : https://ola.hallengren.com/.
  2. Ensuite, téléchargez MaintenanceSolution.sql à partir du lien du billet de blog.

Solution de maintenance SQL Server - Propriétés

  1. Comme il s'agit d'un script SQL, il peut être bloqué par un logiciel AV. Gardez un œil sur cela et débloquez le script s'il est bloqué.

Solution de maintenance SQL Server - SSMS

  1. Ouvert Studio de gestion SQL Server (SSMS), connectez-vous à votre serveur SQL et ouvrez le MaintenanceSolution.sql fichier que vous venez de télécharger.

La première chose que vous remarquez est qu'Ola maintient le script à jour. Vous pouvez voir que la copie que j'utilise est du 2020-01-26 et qu'elle prend en charge toutes les versions de SQL de SQL Server 2008 à 2019.

ARRÊTER

Il y a une question que vous devez vous poser. Êtes-vous d'accord pour ajouter des tables à la base de données principale ? Ce script fait cela et je suis partagé à ce sujet. Tout d'abord, je suis d'accord pour permettre ce script faire ça, mais pas avec les autres. Dans ces cas, je ne le permettrais pas et je ferais en sorte que ces autres scripts utilisent leur propre base de données. À la réflexion, en quoi le script d'Ola est-il différent de tout autre script ? Pourquoi ne devrait-il pas être dans sa propre base de données ? Cette deuxième idée vient de mon ami Steve Thompson. Il dirait qu'il n'était PAS d'accord avec le script d'Ola ajoutant des tables à la base de données principale.

Maintenant, juste pour mettre une ride dans le mélange. Si vous utilisez un serveur SQL sous licence ConfigMgr, il est interdit par la lettre de la loi de créer une autre base de données juste pour maintenir ConfigMgr en bonne santé. Cependant, la plupart des administrateurs pensent que dans l'esprit des licences SQL Server, tout va bien. Pourquoi? Parce que le seul but du script est pour ConfigMgr uniquement.

Vous devez décider dans quelle direction vous irez : laissez ce script ajouter des tables à la base de données master ou ne l'autorisez pas à le faire. Pour les besoins de cet article de blog, je vais autoriser le script d'Ola à ajouter des tables à la base de données principale.

  1. Il n'y a qu'une seule ligne à modifier. Ajustez le répertoire de sauvegarde à l'endroit où vous souhaitez stocker votre sauvegarde. Dans mon cas, il s'agit de E:\SQLbak. DECLARE @BackupDirectory nvarchar(max) = 'E:\SQLbak' — Spécifiez le répertoire racine de sauvegarde. Si aucun répertoire n'est spécifié, le répertoire de sauvegarde par défaut est utilisé.

Solution de maintenance SQL Server - Exécuter

  1. Cliquez sur le bouton Exécuter.

SQLServerAgent n'est pas en cours d'exécution de message

Noter: Si vous recevez un message indiquant : "SQLServerAgent n'est pas en cours d'exécution, il ne peut donc pas être informé de cette action”, comme celui ci-dessus, cela signifie que votre service d'agent SQL Server n'est pas en cours d'exécution. Corrigez cela et exécutez à nouveau la requête. Pour obtenir des conseils sur la façon d'activer l'agent, consultez mon article de blog, "Comment activer le service Agent SQL Server ?"

Message de commandes terminées avec succès

  1. Environ une minute plus tard, vous devriez recevoir ce message dans la fenêtre des messages : « Commandes terminées avec succès ».

Confirmation de l'installation réussie de la solution de maintenance SQL Server

  1. Comment pouvez-vous confirmer que le Solution de maintenance SQL Server terminé avec succès ou qu'il est installé? Il y a deux endroits à vérifier.

Nœud de tâches

A. Sous le Travaux nœud, vous trouverez un certain nombre de tâches configurées (surlignées ci-dessus). Une fois que vous voyez ces travaux, vous savez que le script d'Ola s'est installé avec succès. Le principal pour la plupart des administrateurs ConfigMgr est celui-ci : IndexOptimize - USER_DATABASES

Solution de maintenance SQL Server - Nouvelle table

B. Dans la base de données principale, vous verrez une nouvelle table appelée dbo.CommandLog. Vous pouvez interroger la table en tapant Select * from dbo.CommandLog. Vous devriez voir des résultats similaires à ceux de la capture d'écran ci-dessus. Lorsque vous verrez ces résultats, vous saurez que le script d'Ola s'est terminé avec succès. Gardez à l'esprit que les résultats peuvent être nuls jusqu'à ce que vous exécutiez la première tâche.

  1. Maintenant que vous avez confirmé que la solution d'Ola est installée avec succès et que les travaux sont créés, testez d'abord le travail IndexOptimize - USER_DATABASES. C'est une bonne idée de le tester avant de le programmer, donc je vous conseille vivement de le tester d'abord. N'oubliez pas que cette tâche prend un certain temps, donc cela peut prendre des heures avant qu'elle ne se termine la première fois !
  2. Une fois que vous êtes satisfait du travail, vous pouvez le planifier. Je recommande d'ajuster l'heure prévue à tout ce qui a du sens pour vous. Personnellement, j'aime effectuer une indexation quotidienne, mais vous devrez évaluer votre propre environnement pour voir si cela a du sens. Je vous recommande également de ne pas faire cette tâche se produire sur l'incrément d'un quart d'heure. Pourquoi? Un certain nombre d'autres tâches dans SCCM se produisent le quart d'heure, vous voulez donc que cette tâche s'exécute à une heure aléatoire au milieu de la nuit. Idéalement, c'est lorsque le temps d'utilisation de SQL Server est le plus bas.

Si vous souhaitez plus de détails sur la façon d'exécuter un travail ou de planifier un travail, veuillez consulter mon article de blog, "Comment sauvegarder votre base de données ConfigMgr à l'aide de SQL Server. " N'hésitez pas à me contacter au @GarthMJ si vous avez des questions supplémentaires.

Découvrez comment Right Click Tools change la façon dont les systèmes sont gérés.

Augmentez immédiatement votre productivité grâce à notre version Community Edition limitée et gratuite.

Commencez dès aujourd'hui avec Right Click Tools :

Assistance

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

Contact

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

En soumettant ce formulaire, vous comprenez que Recast Software peut traiter vos données comme décrit dans le Recast Software Politique de confidentialité.

fr_FRFrench