OVH Cloud OVH Cloud

Lancer un DBCC DBREINDEX en cours d'utilisation

2 réponses
Avatar
Pierre
Bonjour,
y'a t-il des inconvénients à lancer une réindexation d'une base de donnée
en cours d'utilisation ?
Merci de votre reponse urgente.

2 réponses

Avatar
Fred BROUARD
Dans l'aide en ligne MS SQL Server :

"
Contrairement à DBCC DBREINDEX ou à toute génération d'index général, DBCC
INDEXDEFRAG est une opération en ligne qui ne contient pas de verrous à long
terme susceptibles de bloquer les requêtes ou les mises à jour en cours
d'exécution. Selon l'importance de la fragmentation, DBCC INDEXDEFRAG peut être
sensiblement plus rapide que DBCC DBREINDEX, car la défragmentation d'un index
relativement non fragmenté peut être plus rapide que la génération d'un nouvel
index. L'autre avantage de DBCC INDEXDEFRAG est que l'index est toujours
disponible, contrairement à DBREINDEX. Une fragmentation importante peut
ralentir l'exécution de DBCC INDEXDEFRAG sensiblement par rapport à DBCC
DBREINDEX et influer éventuellement sur les capacités en ligne de la commande.
DBCC INDEXDEFRAG n'est d'aucune utilité lorsque deux index sont entrelacés sur
le disque, car INDEXDEFRAG mélange les pages. Pour améliorer l'organisation des
pages en clusters, régénérez l'index.
"

En conclusion oui il y a des inconvénient, notamment l'absence d'index pendant
le temps de la manoeuvre

Pierre a écrit:
Bonjour,
y'a t-il des inconvénients à lancer une réindexation d'une base de donnée
en cours d'utilisation ?
Merci de votre reponse urgente.



--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
lionelp
Bonjour,

Fred indique qu'il est préférable de lancer un indexdefrag plutôt que
dbreindex.
Il faut cependant savoir que dans les 2 cas:
une transaction est ouverte
l'index en cours de traitement est verrouillé
un shared schema lock est posé sur la table

donc dans la pratique il peut être nécessaire de ne pas lancer un
indexdefrag/dbreindex pour toute la base ou par table mais de lancer la
commande par index en commençant par l'index cluster. les transactions gérées
seront plus petites dureront moins longtemps.

Cordialement,
LionelP


"Pierre" wrote:

Bonjour,
y'a t-il des inconvénients à lancer une réindexation d'une base de donnée
en cours d'utilisation ?
Merci de votre reponse urgente.