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 :

Fragmentation impossible a réduire ?


Sujet :

Administration SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Consultant
    Inscrit en
    Août 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Août 2010
    Messages : 30
    Points : 34
    Points
    34
    Par défaut Fragmentation impossible a réduire ?
    Bonjour,

    Apres avoir constaté une forte fragmentation sur une base SQL SERVER 2012 SP1 (en développement), et consultation des bonnes pratiques, je viens de mettre en place des plans de maintenance.

    Il se trouve que je garde certaines tables avec un taux élevé de fragmentation.

    Pour ces tables, avec SSMS, j'ai bien essayé de faire un rebuild de l'index ou un reorganize, et rien ni fait.

    J'ai bien cherché, et j'en viens donc a faire ce post au Forum.

    Merci de votre retour.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Quelle est la taille de ces tables ?

  3. #3
    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 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Si votre table fait 3 pages et que les 2 premières sont remplies à 100% et la 3e ne contient qu'une ligne, alors le taux de fragmentation sera de 33% et vous ne pourrez rien y changer, sauf à rajouter artificiellement des lignes qui ne veulent rien dire dans votre table, pour satisfaire le calcul du taux de fragmentation.

    Ainsi il est d'usage de ne pas prendre en compte les "petites" tables, c'est à dire celles de moins d'une dizaine de pages, ou bien de ne pas s'inquiéter si elles restent effectivement fragmentées après défragmentation !

    Ce même phénomène peut être observé avec des tables obèses du fait que chaque ligne doit tenir dans la page...
    A me lire : http://blog.developpez.com/sqlpro/p1...mances_petites
    par exemple si la taille moyenne de vos ligne de table est de 3 000 octets, alors il n'y aura jamais plus de 2 lignes dans chaque page, donc vos pages seront remplies à 6 000 octets sur 8 000, soit un taux de fragmentation de 33%...

    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/ * * * * *

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2013
    Messages : 17
    Points : 57
    Points
    57
    Par défaut
    Bonjour,

    Peut-on calculer simplement la taille d'une ligne d'une table, à partir des types de chacune des colonnes, pour estimer le ratio taille ligne/page ?
    Ce qui permettrait d'une part de trouver les tables mal ficelée et de les remodeler, et aussi éventuellement de jouer sur le seuil pour décider d'une défragmentation...

    Comment cela se passe avec les VARCHAR(x) ? On compte une contribution de "x" ou ils sont stockés "hors page" ?

    Merci,
    Laurent

  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 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Les tailles des lignes pouvant être variables du fait des types de données VARCHAR, NVARCHAR et VARBINARY, seule une estimation peut être fournie via la DMV :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED')
    les colonnes min/max/avg_record_size_in_bytes vous seront utiles.

    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/ * * * * *

Discussions similaires

  1. impossible de réduire la largeur de ma fenêtre.
    Par Invité dans le forum GTK+
    Réponses: 0
    Dernier message: 18/05/2015, 23h41
  2. Réponses: 2
    Dernier message: 03/07/2010, 19h16
  3. Impossible de réduire les journaux de transactions
    Par tibal dans le forum Administration
    Réponses: 11
    Dernier message: 13/03/2010, 10h10
  4. Impossible de réduire la taille de mon DD
    Par starr dans le forum Windows Vista
    Réponses: 6
    Dernier message: 08/03/2008, 22h16
  5. Impossible de réduire le fichier LDF
    Par Whizz6901 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/07/2007, 13h41

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