IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Index - Réorganiser + Reconstruire


Sujet :

Administration SQL Server

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Index - Réorganiser + Reconstruire
    Bonjour,

    je souhaite confirmer avec vous un fonctionnement de SQL Server (2012) lors des taches de maintenance.
    Est ce qu'il est utile de faire à la suite une tache de Réorganisation des indexs suivi tout de suite après d'une tache de Reconstruction des indexs comme présenté sur la capture d’écran?
    Je connais la différence entre la réorg et la reconstruction mais un "consultant" m'a dit que l'on pouvait laisser les deux taches s'enchainer car SQL n'allait faire la reorg des indexs que pour ceux qui en avaient besoin puis SQL ferait la reconstruction pour les indexs trop fragmentés...
    Pour moi ce n'est pas comme ça que ça marche mais du coup j'ai eu un doute...
    Donc selon vous, ce genre d'action de maintenance est-il logique ou pas?

    Nom : CaptureIndexReorg.JPG
Affichages : 262
Taille : 31,0 Ko

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 548
    Points
    52 548
    Billets dans le blog
    5
    Par défaut
    Je vous confirme que c'est absurde ! On fait deux fois le travail. De plus il faut appliquer des seuils :
    ne pas traiter les petits objets (moins de 64 pages)
    • réorganiser entre 10 et 30 % de fragmentation
    • reconstruire si plus de 30%



    Et enfin, encore plus important : recalculer les statistiques, si possible en mode FULLSCAN pour tous les objets non traités par la reconstruction...

    Autrement dit il faut scripter tout cela.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 417
    Points
    1 417
    Par défaut
    Bonjour,

    Je suis d'accord avec la remarque de FB.
    Sauf sur 1 point : appliquer aveuglément les consignes de seuil (préconisation M$ si je ne m'abuse)

    A mon sens il faut aller plus loin dans la réflexion/étude pour inclure :

    - la durée des fenêtres de maintenance
    Ce point n'est pas géré par M$ (contrairement à Oracle).
    Il est classique que le WE on ait plus de temps pour "faire du ménage"
    Peut-être qu'on peut en profiter pour abaisser le seuil de reconstruction voire de ne pas en avoir du tout (à valider)

    - quand est faite la sauvegarde ? qu'attend t'on à trouver en cas de restauration ? (d'ailleurs, comment êtes vous sûr que la restauration va fonctionner le jour J ?)

    - quels sont les effets d'une non exécution des maintenance d'index ? comment les mesures ont été prises ?

    - quels sont les effets du non rafraichissement des statistiques planifié ? comment les mesures ont été prises ?

    Bref, même si les réponses toutes faites sont pratiques, il ne faut pas perdre de vue l'objectif et les enjeux.
    Le savoir est une nourriture qui exige des efforts.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour vos réponses !
    Cela me rassure et m'inquiète à la fois.
    - Rassuré de voir que je n’étais pas à coté de la plaque sur mes connaissances SQL,
    - Inquiet de voir le niveau de l'expert SQL qu'une société de consulting met à notre disposition.

    Sur les serveurs SQL que je gère, j'utilise les scripts SQL de Ola Hallengren.
    Mais j'avoue qu'ils sont exécutés en mode quasi automatique et sans configuration spécifique, faute de temps et de compétences pour les personnaliser.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 548
    Points
    52 548
    Billets dans le blog
    5
    Par défaut
    Ce que j'ai donné est du basique qui convient dans 95% des cas....

    Chez quelques clients je vais plus loin, mais avec des bases de plusieurs To...

    Par exemple je module le seuil de prise en compte en fonction de la longueur moyenne des lignes...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2018
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2018
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Bonjour SebScop

    Concernant les jobs de Ola, voici les paramètres que j'utilise régulièrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    EXECUTE dbo.IndexOptimize
    @Databases = 'USER_DATABASES',
    @FragmentationLow = NULL,
    @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
    @FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
    @FragmentationLevel1 = 5,
    @FragmentationLevel2 = 30,
    @UpdateStatistics = 'ALL',
    @OnlyModifiedStatistics = 'Y'
    Il permet de faire la REORG des index ayant en 5% et 30% de fragmentation, le REBUILD des index ayant au dessus de 30% de fragmentation et de mettre à jour les statistiques s'il y a eu des modifications de lignes depuis la dernière mise à jour des statistiques
    Il y a d'autres options par défaut qui n'apparaissent pas comme le nombre de page minimale de l'index pour qu'il soit pris en compte (1000 par défaut avec le script de Ola).

    Vous pouvez trouver d'autres configuration directement en bas de la page du site de Ola :
    https://ola.hallengren.com/sql-serve...intenance.html

    Cordialement,

    Donovan

Discussions similaires

  1. Reconstruire les Index d'une base
    Par aleios dans le forum MySQL
    Réponses: 4
    Dernier message: 17/11/2008, 17h29
  2. Quand reconstruire les index?
    Par farenheiit dans le forum Administration
    Réponses: 9
    Dernier message: 07/11/2007, 16h14
  3. Pb Réorganisation d'index
    Par marman dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/02/2007, 12h14
  4. Réorganisation indexs de bases répliquées
    Par usf70 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/07/2006, 14h29
  5. Réorganisation d'index entre autres ...
    Par Doctor Z dans le forum Administration
    Réponses: 9
    Dernier message: 08/11/2004, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo