Le serveur Exchange est une application critique qui nécessite des contrôles et une maintenance réguliers pour garantir son bon fonctionnement. Il est possible de déployer Exchange Server de manière autonome ou dans le cadre d’un groupe de disponibilité de base de données qui assure la résilience du site et la protection automatique contre les défaillances de la base de données.
Get-MailboxDatabaseCopyStatus est l’une des commandes PowerShell que vous pouvez utiliser pour garder un œil sur l’état de santé de la réplication des bases de données sur tous les serveurs membres d’un groupe de disponibilité des bases de données.
Vous pouvez utiliser la cmdlet pour vous assurer que les copies actives et passives des bases de données sont synchronisées. Cela permet d’éviter les pertes de données et les temps d’arrêt en cas de catastrophe ou d’incident sur le site ou le serveur principal. La cmdlet PowerShell fonctionne avec Exchange Server 2010, 2013, 2016 et 2019.
Get-MailboxDatabaseCopyStatus Syntaxe
Voici la syntaxe de la commande Get-MailboxDatabaseCopyStatus.
Get-MailboxDatabaseCopyStatus
-Server <MailboxServerIdParameter>
[-Active]
[-DomainController <Fqdn>]
[-ExtendedErrorInfo]
[-UseServerCache]
[<CommonParameters>].
Vous pouvez utiliser cette commande pour collecter des informations sur une base de données spécifique de votre infrastructure ou pour obtenir des informations sur l’ensemble du serveur.
Examinons les paramètres de cette commande.
-Serveur ou -Identité
Ce paramètre vous permet de spécifier le nom du serveur à partir duquel les informations doivent être extraites. Si vous souhaitez spécifier une base de données spécifique dans un serveur spécifique, vous devez remplacer le paramètre -server par -Identity et spécifier la base de données/le serveur.
-Actif
Ce paramètre renvoie les informations concernant l’état de la copie de la base de données active.
-Contrôleur de domaine
Dans ce paramètre, vous devez spécifier le contrôleur de domaine que vous utiliserez pour lire ou écrire les données de l’Active Directory. Vous devez indiquer le contrôleur de domaine pleinement qualifié (FQDN) du serveur, par exemple, activedirectory01.mydomain.lan.
-UseServerCache
Ce paramètre indique s’il faut activer l’état de la mise en cache de l’appel de procédure à distance (RPC) côté serveur pendant 5 secondes.
Vous devez disposer des autorisations nécessaires pour exécuter la cmdlet Get-MailboxDatabaseCopyStatus. Si vous ne connaissez pas les autorisations ou les rôles requis, vous pouvez exécuter la commande suivante.
Get-ManagementRole -Cmdlet Get-MailboxDatabaseCopyStatus
Cette commande fournira les rôles dont vous avez besoin pour exécuter la commande.
Si vous avez besoin d’autorisations complètes en fonction des paramètres, vous devez spécifier les paramètres (comme indiqué ci-dessous) et séparer chaque paramètre par une virgule.
Get-ManagementRole -Cmdlet Get-MailboxDatabaseCopyStatus -CmdLetParamaters extendederrorinfo, useServerCache
Une fois que vous avez obtenu les bonnes informations, vous devez activer l’autorisation pour l’utilisateur d’exécuter la cmdlet. Pour cela, ouvrez le Centre d’administration Exchange (EAC), cliquez sur Permission, puis sur Rôles d’administrateur.
Il est suggéré de créer un nouveau rôle appelé GetMailboxCopyStatus, de définir les autorisations nécessaires et d’affecter les utilisateurs.
Une fois qu’il est prêt, vous pouvez exécuter la commande.
Lors de l’exécution de la commande, vous pouvez rencontrer de nombreuses erreurs. Les plus courantes sont les suivantes :
- Échec
- Ramper
- Statut inconnu
- Échec et suspension
- Échec de l’indexation du contenu
L’une des choses que vous pouvez faire pour dépanner, avant de lancer quoi que ce soit, est de vérifier :
- Tous les services sont hors service
- Il y a beaucoup d’espace
- Il n’y a pas de problèmes de connectivité
- Il n’y a pas de problème de connectivité avec l’Active Directory.
La prochaine chose à faire est d’exécuter les commandes suivantes, en fonction de l’infrastructure.
Dans un groupe de disponibilité de base de données (DAG), exécutez la commande suivante sur les index concernés pour obtenir l’état d’échec.
Get-MailboxDatabase Nom de la base de données | Get-MailboxDatabaseCopyStatus | Select Name,*index*
Exécutez la commande de réparation pour voir si le problème est résolu.
Update-MailboxDatabasecopy <database>\<server> -sourceserver <server> -catalogonly
En fonction de la taille de la base de données et des performances du serveur, cette procédure peut prendre un certain temps.
Dans le cas d’un serveur autonome, vous devez suivre la procédure suivante.
Ouvrez l’invite de commande ou PowerShell et exécutez les commandes suivantes :
Stop-Service MSExchangeFastSearch
Stop-Service HostControllerService
Maintenant, naviguez jusqu’à l’emplacement de la base de données et recherchez le dossier portant le nom avec le nom GUID long et supprimez le dossier. Cela supprimera l’index de contenu de la base de données. Une fois cette opération effectuée, vous devez redémarrer les services.
Démarrage du service MSExchangeFastSearch
Démarrage du service HostControllerService
Après quelques minutes, le dossier sera recréé et l’index du contenu sera reconstruit.
Conclusion
Il ne s’agit là que d’un exemple, car chaque état nécessitera l’exécution de la procédure requise pour tenter d’atténuer le problème. Si tout échoue et que la base de données active ne peut pas se remettre du problème, la réplication entre la copie passive et la copie active (ou vice versa) n’aura pas lieu. En cas de défaillance du serveur ou de basculement, vous risquez de perdre des données.
Pour sortir rapidement de telles situations, vous pouvez compter sur une application certifiée qui vous sortira d’une situation délicate et récupérera la base de données de votre boîte aux lettres sans perte de données. Stellar Repair for Exchange est l’une de ces applications qui peut ouvrir n’importe quel fichier de base de données Exchange Server dans un état sain, corrompu ou sale. Vous pouvez le parcourir et exporter les données vers PST et d’autres formats de fichiers. L’application exporte également les données EDB directement vers une base de données Exchange Server active.
Was this article helpful?