OVH Cloud OVH Cloud

Incohérence données de DBCC SHOWCONTIG

4 réponses
Avatar
David T
Bonjour,

je travaille sur une proc=E9dure qui analyse le r=E9sultat du=20
DBCC SHOWCONTIG afin de faire une d=E9fragmentation=20
s=E9lective. (sql 2000 sp3)

Entre autre j'estime la taille qu'aurait un index apr=E8s=20
d=E9fragmentation, =E0 partir de "AverageRecordSize". Le=20
probl=E8me est que je re=E7ois parfois des donn=E9es=20
incoh=E9rentes du SHOWCONTIG. (2 fois en 10 tables, =E7a me=20
parait une fr=E9quence un peu trop =E9lev=E9e...)
Exemple :
MinRecSize 76
MaxRecSize 90
AvgRecSize 217.12 !

J'ai fait une checkdb / checktable. Aucune erreur signal=E9e.

Apr=E8s un DBREINDEX sur la table j'obtiens au SHOWCONTIG=20
suivant :
MinRecSize 76
MaxRecSize 90
AvgRecSize 80


Quelqu'un a-t-il d=E9j=E0 eu ce probl=E8me et surtout qq aurait-
il une solution pour que cette stat soit juste ?

Merci de votre aide.

David Trillaud
Ubisoft Entertainment

4 réponses

Avatar
Evariste
voir SHUTDOWN [ WITH NOWAIT ] dans l'aide en ligne.
Sinon tu peux aussi le faire en commande dos Net stop + nom du service et
net start pour le relancer.




"David T" a écrit :

Bonjour,

je travaille sur une procédure qui analyse le résultat du
DBCC SHOWCONTIG afin de faire une défragmentation
sélective. (sql 2000 sp3)

Entre autre j'estime la taille qu'aurait un index après
défragmentation, à partir de "AverageRecordSize". Le
problème est que je reçois parfois des données
incohérentes du SHOWCONTIG. (2 fois en 10 tables, ça me
parait une fréquence un peu trop élevée...)
Exemple :
MinRecSize 76
MaxRecSize 90
AvgRecSize 217.12 !

J'ai fait une checkdb / checktable. Aucune erreur signalée.

Après un DBREINDEX sur la table j'obtiens au SHOWCONTIG
suivant :
MinRecSize 76
MaxRecSize 90
AvgRecSize 80


Quelqu'un a-t-il déjà eu ce problème et surtout qq aurait-
il une solution pour que cette stat soit juste ?

Merci de votre aide.

David Trillaud
Ubisoft Entertainment



Avatar
Med Bouchenafa
Cela peut provenir de la manière que le DBCC SHOWCONTIG évalue la taille moyenne d'un
enregistrement.
Je ne connais pas cet algorithme et je suppose qu'il doit diviser la taille des page par le nombre
d'enregistrement présents sur ces pages.
Pour peu que les pages contiennent un certain nombre de trous dus notamment à des DELETE, cela va
gonfler la moyenne.
Le fait de passer DBCC DBREINDEX élimine ces trous et tu te retrouves avec une moyenne plus proche
de la réalité.

--
Bien cordialement
Med Bouchenafa

"David T" a écrit dans le message de news:
1fed01c4f709$b48c0ca0$
Bonjour,

je travaille sur une procédure qui analyse le résultat du
DBCC SHOWCONTIG afin de faire une défragmentation
sélective. (sql 2000 sp3)

Entre autre j'estime la taille qu'aurait un index après
défragmentation, à partir de "AverageRecordSize". Le
problème est que je reçois parfois des données
incohérentes du SHOWCONTIG. (2 fois en 10 tables, ça me
parait une fréquence un peu trop élevée...)
Exemple :
MinRecSize 76
MaxRecSize 90
AvgRecSize 217.12 !

J'ai fait une checkdb / checktable. Aucune erreur signalée.

Après un DBREINDEX sur la table j'obtiens au SHOWCONTIG
suivant :
MinRecSize 76
MaxRecSize 90
AvgRecSize 80


Quelqu'un a-t-il déjà eu ce problème et surtout qq aurait-
il une solution pour que cette stat soit juste ?

Merci de votre aide.

David Trillaud
Ubisoft Entertainment
Avatar
self
extrait du BOL:
dbcc updateusage consigne et corrige les imprécisions dans la table
sysindexes, ce qui peut avoir comme résultat des rapports d'utilisation
d'espace incorrecte

si Showcontig s'appuie sur sysindexes pour ces résultats, essaie
l'updateusage avant.

Sébastien
a+

"Med Bouchenafa" a écrit dans le message de
news:%23HQ7%
Cela peut provenir de la manière que le DBCC SHOWCONTIG évalue la taille


moyenne d'un
enregistrement.
Je ne connais pas cet algorithme et je suppose qu'il doit diviser la


taille des page par le nombre
d'enregistrement présents sur ces pages.
Pour peu que les pages contiennent un certain nombre de trous dus


notamment à des DELETE, cela va
gonfler la moyenne.
Le fait de passer DBCC DBREINDEX élimine ces trous et tu te retrouves avec


une moyenne plus proche
de la réalité.

--
Bien cordialement
Med Bouchenafa

"David T" a écrit dans le message de


news:
1fed01c4f709$b48c0ca0$
Bonjour,

je travaille sur une procédure qui analyse le résultat du
DBCC SHOWCONTIG afin de faire une défragmentation
sélective. (sql 2000 sp3)

Entre autre j'estime la taille qu'aurait un index après
défragmentation, à partir de "AverageRecordSize". Le
problème est que je reçois parfois des données
incohérentes du SHOWCONTIG. (2 fois en 10 tables, ça me
parait une fréquence un peu trop élevée...)
Exemple :
MinRecSize 76
MaxRecSize 90
AvgRecSize 217.12 !

J'ai fait une checkdb / checktable. Aucune erreur signalée.

Après un DBREINDEX sur la table j'obtiens au SHOWCONTIG
suivant :
MinRecSize 76
MaxRecSize 90
AvgRecSize 80


Quelqu'un a-t-il déjà eu ce problème et surtout qq aurait-
il une solution pour que cette stat soit juste ?

Merci de votre aide.

David Trillaud
Ubisoft Entertainment




Avatar
David
j'y avais pensé après ... mais pour l'instant je n'ai pas
trouvé d'autres tables avec les mêmes symptomes parmi les
milliers que j'ai testé. donc les cas doit être très rares.

merci de l'idée qd même
a+
David

-----Original Message-----
extrait du BOL:
dbcc updateusage consigne et corrige les imprécisions


dans la table
sysindexes, ce qui peut avoir comme résultat des rapports


d'utilisation
d'espace incorrecte

si Showcontig s'appuie sur sysindexes pour ces résultats,


essaie
l'updateusage avant.

Sébastien
a+

"Med Bouchenafa" a écrit dans


le message de
news:%23HQ7%
Cela peut provenir de la manière que le DBCC




SHOWCONTIG évalue la taille
moyenne d'un
enregistrement.
Je ne connais pas cet algorithme et je suppose qu'il




doit diviser la
taille des page par le nombre
d'enregistrement présents sur ces pages.
Pour peu que les pages contiennent un certain nombre de




trous dus
notamment à des DELETE, cela va
gonfler la moyenne.
Le fait de passer DBCC DBREINDEX élimine ces trous et




tu te retrouves avec
une moyenne plus proche
de la réalité.

--
Bien cordialement
Med Bouchenafa

"David T" a écrit




dans le message de
news:
1fed01c4f709$b48c0ca0$
Bonjour,

je travaille sur une procédure qui analyse le résultat




du
DBCC SHOWCONTIG afin de faire une défragmentation
sélective. (sql 2000 sp3)

Entre autre j'estime la taille qu'aurait un index après
défragmentation, à partir de "AverageRecordSize". Le
problème est que je reçois parfois des données
incohérentes du SHOWCONTIG. (2 fois en 10 tables, ça me
parait une fréquence un peu trop élevée...)
Exemple :
MinRecSize 76
MaxRecSize 90
AvgRecSize 217.12 !

J'ai fait une checkdb / checktable. Aucune erreur




signalée.

Après un DBREINDEX sur la table j'obtiens au SHOWCONTIG
suivant :
MinRecSize 76
MaxRecSize 90
AvgRecSize 80


Quelqu'un a-t-il déjà eu ce problème et surtout qq




aurait-
il une solution pour que cette stat soit juste ?

Merci de votre aide.

David Trillaud
Ubisoft Entertainment






.