Défragmenter une banque d’informations sous Microsoft Exchange Server 2003
Bien qu’Exchange défragmente automatiquement ses bases de données chaque nuit, lorsque vous effectuez (par exemple) des déplacements de BAL massifs, vous pouvez être amené à défragmenter manuellement vos banques d’informations afin de récupérer l’espace disque disponible.
Pour éviter de faire des erreurs, il faut vous assurer de ne pas agir dans l’urgence et d’organiser méthodiquement toutes vos opérations. N’oubliez pas que ce sont de nombreuses BAL utilisateurs avec lesquelles vous aller travailler !
Préparation de la défragmentation
Une première petite astuce consiste à se connecter sur le serveur Exchange puis à consulter l’Observateur d’événements (partie Applications) pour repérer les ID 1221 les plus récents.

Généralement, on considère qu’une défragmentation se justifie au-delà de 3 Go d’espace disponible. Cette valeur est néanmoins totalement modulable selon vos besoins, votre environnement et vos contraintes. Dans la capture écran ci-dessus, vous remarquerez que l’on peut récupérer environ 4,7 Go sur la base de données concernée. Il va donc falloir effectuer une défragmentation hors ligne. Pour cela, on utilisera l’exécutable en ligne de commande eseutil qui se trouve par défaut dans C:\Program Files\Exchsrvr\bin.

Il faut savoir que la défragmentation de disque est un processus qui mobilise beaucoup de ressources processeur. Par conséquent, non seulement on évitera de réaliser des opérations de maintenance en journée, mais on prendra également soin de déporter ces opérations sur un autre serveur quand cela est possible (dans ce cas, ne manquez pas de lire cet article !).
Pour faire simple, copiez l’intégralité du répertoire bin vers une autre machine et assurez vous d’avoir au minimum deux fois la taille totale de la banque d’informations à défragmenter disponible pour éviter de vous retrouver dans une situation délicate. Vous êtes désormais prêt à commencer les opérations.
Interruption de service
Dans le Gestionnaire système Exchange, repérez votre banque d’information à défragmenter et faites clic droit > Démonter la banque d’informations.
![]()
Un message d’avertissement vous rappelle que toutes les connexions vers les BAL présentes dans la banque d’informations seront déconnectées. Idéalement, vous aurez prévenu vos utilisateurs pour qu’ils n’aient pas la surprise de ne pouvoir consulter leurs mails. Rappelez-vous qu’un utilisateur peut en théorie se connecter à n’importe quel moment, ne serait-ce de chez lui avec le webmail.

Une fois la banque démontée, son icône change et confirme la réussite de l’opération.
![]()
Il est à présent temps d’effectuer une copie de la banque d’informations démontée vers le serveur qui effectuera la défragmentation. On copie donc deux fichiers indissociables : un .edb et un .stm

Le serveur de destination contient donc la base à défragmenter ainsi que le dossier bin où se trouve eseutil.exe. Les opérations peuvent être lancées.
Lancement de la défragmentation
L’utilitaire se lance à partir du dossier bin. Une bonne pratique consiste à vérifier que la banque a bien été fermée, au moyen de la commande eseutil /mh
La mention Clean Shutdown vous permet ainsi d’être rassuré concernant les opérations à venir.
C:\exch\bin>eseutil /mh "C:\exch\TEST_1.edb"
Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating FILE DUMP mode...
Database: C:\exch\TEST_1.edb
File Type: Database
Format ulMagic: 0x89abcdef
Engine ulMagic: 0x89abcdef
Format ulVersion: 0x620,11
Engine ulVersion: 0x620,11
Created ulVersion: 0x620,11
DB Signature: Create time:05/03/2009 15:54:30 Rand:664847310 Computer:
cbDbPage: 4096
dbtime: 107989262 (0x66fc90e)
State: Clean Shutdown
Log Required: 0-0 (0x0-0x0)
Streaming File: Yes
[suite tronquée...]
Pour lancer la défragmentation, nous utiliserons deux arguments :
- /d pour la défragmentation
- /t pour spécifier un répertoire de destination pour la nouvelle base de données
Si vous omettez /t, votre nouvelle base sera créé dans bin. Pour éviter cela et vous créer des sueurs froides en ne voyant pas la nouvelle base, pensez toujours à spécifier une destination et un nouveau nom de fichier.
C:\exch\bin>eseutil /d "C:\exch\TEST_1.edb" /t "C:\exch\TEST_1temp.edb" Microsoft(R) Exchange Server Database Utilities Version 6.5 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating DEFRAGMENTATION mode... Database: C:\exch\TEST_1.edb Streaming File: C:\exch\TEST_1.STM Temp. Database: C:\exch\TEST_1temp.edb Temp. Streaming File: C:\exch\TEST_1temp.STM Defragmentation Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... Note: It is recommended that you immediately perform a full backup of this database. If you restore a backup made before the defragmentation, the database will be rolled back to the state it was in at the time of that backup. Operation completed successfully in 8.0 seconds.
Voilà, votre banque vient d’être défragmentée avec succès. Vous vous trouvez donc maintenant en possession de trois bases de données :
- la base originale sur votre serveur Exchange
- la base copiée sur le serveur de traitement
- la nouvelle base défragmentée sur le serveur de traitement
Je vous conseille de conserver la base originale sur le serveur Exchange et la base copiée sur le serveur de traitement si vous avez la place disque disponible. Renommez les simplement avec l’extension .bak pour vous souvenir que ce sont vos « bonnes » bases dans le cas où la base défragmentée serait corrompue.
Pour finaliser les opérations, il vous suffit de déplacer nouvelle banque d’informations à son emplacement original et de la renommer, également avec son nom original. De retour dans le Gestionnaire système Exchange, remontez la banque d’information (clic droit sur la banque).

Votre travail est terminé.
Articles sur le même thème :
- Créer un connecteur SMTP pour BPOS avec Microsoft Exchange Server 2003
- Déclarer une variable système pour déporter les outils de maintenance d’Exchange Server 2003
- Scripter une sauvegarde ou une restauration de bases avec Microsoft SQL Server 2005
- Migrer une boîte aux lettres Exchange vers Microsoft BPOS
- Configurer le service SNMP sous Microsoft Windows Server 2003



Enfin une explication très claire pour une intervention assez complexe. Bravo!