Summary: La base de données Exchange peut se bloquer de façon inattendue si elle est corrompue, incohérente ou endommagée. Elle peut également s'arrêter si les services Exchange sont stoppés ou si le support de stockage sur lequel la base de données ou les journaux sont stockés manque d'espace ou n'est plus suffisant. Dans de tels cas, vous devez remettre et remonter la base de données. Pour ce faire, vous devez parfois utiliser un logiciel avancé de réparation de base de données Exchange.
Une panne de base de données dans Exchange Server est un problème grave qui empêche les utilisateurs d’accéder à leurs boîtes aux lettres ou d’envoyer et de recevoir des courriels. S’il n’est pas résolu, il peut entraîner des temps d’arrêt inattendus et des pertes de données.
Cela peut être dû à un problème sous-jacent de votre serveur Exchange ou à des raisons générales telles qu’un arrêt brutal ou une panne, l’intrusion d’un logiciel malveillant ou d’un virus, une coupure de courant, etc.
Dans ce blog, nous vous aidons à résoudre la déconnexion inattendue de la base de données sur Exchange Server 2010, 2013, 2016 et 2019.
Correction d’une erreur lors du démontage inattendu de la copie de la base de données
Si la déconnexion inattendue de la base de données Exchange du serveur se produit fréquemment, vous devriez d’abord vérifier l’Observateur d’événements.
Triez les événements par source MSExchangeIS sous Application et recherchez les erreurs avec ID 1001, 1002 ou 4999 comme ci-dessous :
Nom du journal : Application
Source : MSExchangeIS
ID de l'événement : 1001
Catégorie de tâche : Général
Niveau : Erreur
Une erreur de logique interne s’est produite dans le magasin d’informations de Microsoft Exchange Server. Le texte de l’erreur interne est (Impossible d’appliquer l’insertion de maintenance, corruption d’index ?
Nom du journal : Application
Source : MSExchangeIS
ID de l'événement : 1002
Catégorie de tâche : Général
Niveau : Erreur
Exception non gérée (Microsoft.Exchange.Diagnostics.ExAssertException : ASSERT : L’insertion de maintenance ne peut pas être appliquée, l’index est corrompu ?
Nom du journal : Application
Source : MSExchange General
Event ID : 4999
Catégorie de tâche : Général
Niveau : Erreur
Le rapport Watson est sur le point d’être envoyé pour le processus ID : 11204, avec les paramètres : E12, c-RTL-AMD64, 15.00.0712.024, M.E.Store.Worker, M.E.S.Storage.LazyIndexing,
M.E.S.S.L.LogicalIndex.HandleIndexCorruptionInternal, M.E.Diagnostics.ExAssertException, 213a, 15.00.0712.000. ErrorReportingEnabled : True
Si vous trouvez l’erreur, il se peut que le service Microsoft Exchange Information Store soit tombé en panne ou se soit arrêté.
Dans ce cas, vous pouvez appuyer sur Windows+R, taper services.msc et appuyer sur Entrée. Recherchez ensuite le service Microsoft Exchange Information Store. Enfin, cliquez avec le bouton droit de la souris sur le service et sélectionnez Démarrer ou Redémarrer.
Montez ensuite la base de données à l’aide de la cmdlet Mount-Database dans le Exchange Management Shell ou l’interface web du Centre d’administration Exchange (EAC).
Cependant, si ce problème se produit fréquemment ou à chaque fois que vous exportez une boîte aux lettres, il se peut que vous deviez réparer votre serveur Exchange ou le mettre à jour avec la dernière mise à jour cumulative. Cela peut résoudre le problème de l’interruption inattendue de la base de données Exchange.
Vous pouvez également suivre les solutions énumérées ci-dessous pour tenter de résoudre le problème d’interruption inattendue de la base de données Exchange.
Désactiver l’indexation
Vous pouvez également essayer de désactiver l’indexation. Vous pourrez ainsi vérifier si l’index est endommagé. Si c’est le cas, cela pourrait affecter votre base de données et entraîner des annulations inattendues.
La désactivation de l’index signifie que chaque requête de recherche est lente et a un impact négatif sur les performances de la base de données.
Pour la désactiver, vous pouvez utiliser le cmdlet PowerShell Set-MailboxDatabase dans le Shell de gestion Exchange.
Cependant, avant de commencer, vous devez vérifier les performances du serveur. Vérifiez si des mises à jour ont été installées récemment et dressez-en la liste. Vérifiez également si des modifications ont été apportées au serveur en termes de logiciels tiers tels qu’un antivirus ou un logiciel de sauvegarde et, bien sûr, vérifiez l’état général du serveur.
Set-MailboxDatabase "EX01DB01" -IndexEnabled $False
Pour réactiver l’index ultérieurement, vous pouvez exécuter la commande ci-dessus avec le paramètre $True à la fin de la commande (à la place de $False).
Une autre option consiste à arrêter le service Microsoft Exchange Search. Vous pouvez utiliser le cmdlet PowerShell suivant.
Stop-Service MSExchangeFastSearch Set-Service MSExchangeFastSearch -StartupType Disabled
Pour annuler cela, vous devez soit utiliser la console de service pour régler le démarrage sur automatique, soit démarrer le service. Vous pouvez le faire dans PowerShell comme suit.
Set-Service MSExchangeFastSearch -StartupType Automatique Démarrage du service MSExchangeFastSearch
Vous pouvez également utiliser la console Services pour arrêter le service Microsoft Exchange Search. Veillez à le marquer comme désactivé afin qu’il ne démarre pas automatiquement.
Attendez un peu et vérifiez si le problème se reproduit.
Si ce n’est pas le cas, vous pouvez essayer de réindexer votre base de données. Pour ce faire, arrêtez les services Microsoft Exchange Search et Microsoft Exchange Host Responsible.
L’étape suivante consiste à supprimer le dossier existant du catalogue CI ou à le déplacer vers un autre bureau.
Redémarrez ensuite les services dans l’ordre suivant :
- Service de recherche Microsoft Exchange
- Responsable de l’hôte Microsoft Exchange
Selon la capacité de votre base de données et le nombre de boîtes aux lettres/courriels, cette opération peut prendre un certain temps.
Déplacer des boîtes aux lettres vers une autre base de données
Si le problème persiste, vous devez essayer de déplacer les boîtes aux lettres vers une autre base de données. Par exemple, vous pouvez déplacer les boîtes aux lettres vers une autre base de données existante ou créer une nouvelle base de données pour déplacer les boîtes aux lettres.
Cela est nécessaire car la base de données pourrait être corrompue, ce qui pourrait entraîner des annulations inattendues.
Vous pouvez utiliser l’outil natif EseUtil sur le serveur Exchange pour réparer la base de données endommagée, puis déplacer les boîtes aux lettres vers une base de données nouvelle ou existante.
Ce décalage est important car si vous exécutez EseUtil sur une base de données, le paramètre du nombre de réparations passe de 0 à n°1.
Si vous avez déjà contacté le soutien de Microsoft et qu’il constate que le nombre est supérieur à 0, il n’essaiera pas de résoudre le problème mais suggérera de passer à une autre base de données.
Procédez comme suit :
- Exécutez la commande suivante pour vérifier l’état de la base de données
EseUtil /mh <DatabasePath.edb>
- Vérifiez les perspectives pour la valeur Status :. Si l’état de la base de données est “Clean Shutdown”, vous pouvez ignorer le déplacement des boîtes aux lettres. Si l’état est Dirty Shutdown, exécutez la commande suivante pour effectuer une récupération douce des données.
Eseutil /r E01 /l <chemin vers le journal>/d <chemin vers la base de données>
- Vérifiez à nouveau l’état de la base de données à l’aide de la commande suivante.
EseUtil /mh <DatabasePath.edb>
- Si l’état est affiché comme Arrêt net, vous pouvez monter la base de données avec EAC, puis déplacer les boîtes aux lettres de la base de données remise en état vers une nouvelle base de données en suivant les étapes suivantes.
REMARQUE : Si l’état est toujours un dirty shutdown, vous pouvez effectuer une récupération des données (EseUtil /p). Cependant, cette opération peut entraîner une perte de données, car les données irrécupérables seront supprimées. Utilisez plutôt le logiciel de récupération Exchange pour remettre toutes vos boîtes aux lettres de l’ancienne à une nouvelle base de données sur votre serveur Exchange.
Pour passer à une autre base de données, procédez comme suit :
- Ouvrez l’EAC, cliquez sur Receiver et ensuite sur Migration.
- Cliquez sur le bouton + et cliquez sur Déplacer vers une autre base de données.
- Ajoutez les utilisateurs que vous souhaitez déplacer et cliquez sur Suivant.
- Saisissez un nom pour la migration et sélectionnez la base de données cible pour la boîte aux lettres et l’archive.
- Sélectionnez également le mode de migration – boîte aux lettres uniquement ou archive, le cas échéant.
- Indiquez la limite pour les éléments défectueux. Cette limite signifie que le processus est arrêté si 10 erreurs (par défaut) sont trouvées dans la base de données.
Sélectionnez ensuite un destinataire qui doit recevoir le rapport de notification lorsque la migration est terminée. Dès que cela est fait, démarrez la migration. Vous pouvez voir la progression dans l’EAC ou attendre de recevoir la notification par courriel.
Attendez que la synchronisation (migration) soit terminée. Une fois que les boîtes aux lettres ont été déplacées, vous pouvez les vérifier et supprimer la base de données qui a été désenregistrée de manière inattendue.
Considérations finales
Comme le problème de la base de données de boîtes aux lettres s’arrête inopinément, vous devez vérifier la base de données, la remettre en état si nécessaire, puis déplacer les boîtes aux lettres par petits lots vers une nouvelle base de données. Ceci est important pour éviter que le processus de migration ne soit annulé si la base de données problématique s’arrête de manière inattendue pendant la synchronisation. Dans ce cas, vous devez relancer le processus.
Vous pouvez également utiliser New-MailboxExportRequest pour exporter les boîtes aux lettres de la base de données qui a été démantelée de manière inattendue vers des fichiers PST. Utilisez ensuite New-MailboxImportRequest pour les importer dans la nouvelle base de données ou dans une autre base de données.
Cependant, cette tâche peut prendre beaucoup de temps, sans compter les problèmes que vous pouvez rencontrer.
La meilleure solution pour réparer la base de données avec une intégrité complète et déplacer les boîtes aux lettres de votre base de données Exchange corrompue vers une nouvelle base de données est d’utiliser un logiciel de récupération Exchange Server tel que Stellar Repair for Exchange.
Le logiciel peut ouvrir n’importe quel fichier EDB, quel que soit son degré d’endommagement ou de corruption. Il vous aide à remettre rapidement les boîtes aux lettres en état et à les transférer vers de nouveaux fichiers PST. Vous pouvez également les exporter directement vers une nouvelle base de données sur un serveur Exchange vivant ou un locataire Office 354. Le programme met automatiquement en correspondance les boîtes aux lettres source et destination et utilise une technique de traitement parallèle pour accélérer l’exportation.