Surveiller les groupes de disponibilité de base de données

Vous pouvez utiliser les informations de cette rubrique pour surveiller l’intégrité et l’état des copies de la base de données de boîtes aux lettres pour les groupes de disponibilité de base de données (DAG), pour recueillir des informations de diagnostic et pour configurer le seuil de détection d’un espace disque faible.

Cmdlet Get-MailboxDatabaseCopyStatus

Utilisez la cmdlet Get-MailboxDatabaseCopyStatus pour afficher des informations sur l'état des copies de la base de données de boîtes aux lettres. Cette cmdlet vous permet de consulter des informations sur toutes les copies d'une base de données spécifique, des informations sur une copie spécifique d'une base de données installée sur un serveur donné ou des informations sur toutes les copies de base de données installées sur un serveur. Le tableau suivant décrit les valeurs possibles de l'état d'une copie de base de données de boîtes aux lettres.

État de copie de la base de données

État de copie de la base de données Description
Échec La copie de la base de données de boîtes aux lettres possède l'état Échec car elle n'est pas suspendue et n'est pas capable de copier ou de relire les fichiers journaux. Lorsque la copie est définie sur l'état Échec et qu'elle n'est pas suspendue, le système vérifie régulièrement si le problème à l'origine de cet état a été résolu. Si le système détecte que le problème est résolu, et à condition qu'il n'y ait aucune autre difficulté, l'état de copie passe automatiquement à Sain.
Seeding La copie de la base de données de boîtes aux lettres ou l'index de contenu est en cours d'amorçage, ou tous deux le sont. Après l'exécution réussie de l'amorçage, l'état de la copie doit passer à Initialisation en cours.
SeedingSource La copie de la base de données de boîtes aux lettres est utilisée comme élément source pour une opération d'amorçage de copie de base de données.
Suspended La copie de la base de données de boîtes aux lettres possède l'état Suspendu car un administrateur a manuellement suspendu la copie de la base de données en exécutant la cmdlet Suspend-MailboxDatabaseCopy.
Healthy La copie de la base de données de boîtes aux lettres est en train de copier et de relire les fichiers journaux ou a déjà effectué cette opération.
ServiceDown Le service de réplication Microsoft Exchange n'est pas disponible ou est en cours d'exécution sur le serveur qui héberge la copie de la base de données de boîtes aux lettres.
Initializing L'état de la copie de la base de données de boîtes aux lettres est « Initialisation en cours » si une copie de base de données a été créée, lorsque le service de réplication d'Microsoft Exchange est en cours de démarrage ou vient juste de démarrer, et pendant le passage de l'état Suspendu, ServiceDown, Échec, Amorçage ou SinglePageRestore à un autre état. Lorsqu'elle est définie sur l'état d'initialisation, le système vérifie que la base de données et l'état du flux de journal sont cohérents. Dans la plupart des cas, l'état de la copie est défini sur Initialisation en cours pendant environ 15 secondes, mais dans tous les cas, il ne doit pas rester défini sur cet état pendant plus de 30 secondes.
Resynchronizing La copie de la base de données de boîtes aux lettres et ses fichiers journaux sont comparés avec la copie active de la base de données pour vous permettre de rechercher d'éventuelles divergences entre les deux copies. L'état de la copie reste tel quel tant que les divergences trouvées n'ont pas été résolues.
Mounted La copie active est en ligne et accepte les connexions des clients. Seule la copie active de la base de données de boîtes aux lettres peut posséder l'état Monté.
Dismounted La copie active est hors ligne et n'accepte pas les connexions des clients. Seule la copie active de la base de données de boîtes aux lettres peut être définie sur Démontée.
Mounting La copie active va être en ligne mais n'accepte pas encore les connexions des clients. Seule la copie active de la base de données de boîtes aux lettres peut posséder l'état Montage.
Dismounting La copie active va passer en mode hors connexion et met fin aux connexions des clients. Seule la copie active de la base de données de boîtes aux lettres peut posséder l'état Démontage.
DisconnectedAndHealthy La copie de la base de données de boîtes aux lettres n'est plus connectée à la copie active de la base de données et possédait l'état Sain lorsque la perte de connexion s'est produite. Cet état représente la copie de la base de données par rapport à la connectivité de sa copie de base de données source. Il peut être signalé lors des défaillances réseau d'un groupe de disponibilité de base de données entre la copie source et la copie cible.
DisconnectedAndResynchronizing La copie de la base de données de boîtes aux lettres n'est plus connectée à la copie active de la base de données et possédait l'état Resynchronisation lorsque la perte de connexion s'est produite. Cet état représente la copie de la base de données par rapport à la connectivité de sa copie de base de données source. Il peut être signalé lors des défaillances réseau d'un groupe de disponibilité de base de données entre la copie source et la copie cible.
FailedAndSuspended Les états Échec et Suspendu ont été définis simultanément par le système en raison de la détection d'une défaillance et parce que sa résolution nécessite l'intervention d'un administrateur. Cela se produit, par exemple, lorsque le système détecte une divergence irrécupérable entre la base de données de boîtes aux lettres active et une copie de la base de données. Contrairement à l'état Échec, le système ne vérifie pas régulièrement si le problème a été résolu et si une récupération automatique a lieu. L'intervention d'un administrateur est indispensable pour corriger la cause sous-jacente de la défaillance afin que la copie de la base de données puisse passer à un état sain.
SinglePageRestore Cet état indique qu'une opération de restauration en page unique a lieu sur la copie de la base de données de boîtes aux lettres.

L’applet de commande Get-MailboxDatabaseCopyStatus retourne également des détails sur les réseaux de réplication en cours d’utilisation, notamment IncomingLogCopyingNetwork, qui est retourné pour les copies de base de données passives, et OutgoingConnections, qui est retourné pour les bases de données actives qui ont plusieurs copies, ainsi que toute copie de base de données utilisée comme source pour une opération d’amorçage de base de données. Des informations de connexion sortante sont fournies pour les copies de base de données qui se trouvent dans la réplication en mode fichier. Des informations de connexion sortante sont fournies pour les copies de base de données qui se trouvent dans la réplication en mode blocage.

Get-MailboxDatabaseCopyStatus - Exemples

Les exemples suivants utilisent la cmdlet Get-MailboxDatabaseCopyStatus. Chaque exemple transfère les résultats à la cmdlet Format-List afin qu'ils soient affichés sous la forme d'une liste.

Cet exemple renvoie les informations relatives à l'état de toutes les copies de la base de données nommée DB2.

Get-MailboxDatabaseCopyStatus -Identity DB2 | Format-List

Cet exemple renvoie l'état de toutes les copies de base de données sur le serveur de boîtes aux lettres nommé MBX2.

Get-MailboxDatabaseCopyStatus -Server MBX2 | Format-List

Cet exemple renvoie l'état de toutes les copies de base de données sur le serveur de boîtes aux lettres local.

Get-MailboxDatabaseCopyStatus -Local | Format-List

Pour plus d'informations sur l'utilisation de la cmdlet Get-MailboxDatabaseCopyStatus, voir Get-MailboxDatabaseCopyStatus.

Cmdlet Test-ReplicationHealth

Vous pouvez utiliser la cmdlet Test-ReplicationHealth pour afficher des informations sur l'état de réplication continue des copies de la base de données de boîtes aux lettres. Cette cmdlet permet de vérifier tous les aspects de l'état de réplication et de relecture afin d'offrir une vue d'ensemble complète d'un serveur de boîtes aux lettres spécifique dans un groupe de disponibilité de base de données.

La cmdlet Test-ReplicationHealth a été conçue pour l'analyse proactive de la réplication continue et du pipeline de la réplication continue, la disponibilité d'Active Manager, l'état du service de cluster sous-jacent, le quorum et les composants réseau. Elle peut être exécutée localement ou à distance sur n'importe quel serveur de boîtes aux lettres dans un groupe de disponibilité de base de données. La cmdlet Test-ReplicationHealth exécute les tests répertoriés dans le tableau suivant.

Tests de la cmdlet Test-ReplicationHealth

Nom du test Description
ClusterService Vérifie que le service de cluster est en cours d'exécution et accessible sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
ReplayService Vérifie que le service de réplication Microsoft Exchange est en cours d'exécution et accessible sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
ActiveManager Vérifie que le rôle de l'instance d'Active Manager en cours d'exécution sur le membre du groupe de disponibilité de base de données (DAG) spécifié, ou si aucun membre de groupe de disponibilité de base de données (DAG) n'a été spécifié, le serveur local, est valide (principal, secondaire ou autonome).
TasksRpcListener Vérifie que le serveur d'appel de procédure distante (RPC) des tâches est en cours d'exécution et accessible sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
TcpListener Vérifie que le port d'écoute TCP de copie du journal est en cours d'exécution et accessible sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
ServerLocatorService Vérifie les processus client/serveur Active Manager sur les membres du DAG et sur le serveur d'accès au client qui effectuent des recherches dans Active Directory et Active Manager afin de déterminer où la base de données de boîtes aux lettres d'un utilisateur est active.
DagMembersUp Vérifie que tous les membres du DAG sont disponibles, en cours d'exécution et accessibles.
ClusterNetwork Vérifie que tous les réseaux gérés par des clusters sur le membre du groupe de disponibilité de base de données (DAG) spécifié, ou si aucun membre du groupe de disponibilité de base de données (DAG) n'est spécifié, le serveur local, sont disponibles.
QuorumGroup Vérifie que le groupe de clusters par défaut (groupe quorum) est sain et en ligne.
FileShareQuorum Vérifie que le serveur témoin, le répertoire témoin et le partage configurés pour le DAG sont accessibles.
DatabaseRedundancy Vérifie l'existence d'au moins une copie saine disponible des bases de données sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
DatabaseAvailability Vérifie que la disponibilité des bases de données est suffisante sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
DBCopySuspended Vérifie si des copies de la base de données de boîtes aux lettres ont l'état Suspendu sur le membre de DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
DBCopyFailed Vérifie si des copies de la base de données de boîtes aux lettres ont l'état Échec sur le membre de DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
DBInitializing Vérifie si des copies de la base de données de boîtes aux lettres ont l'état Initialisation en cours sur le membre de DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
DBDisconnected Vérifie si des copies de la base de données de boîtes aux lettres ont l'état Déconnecté sur le membre de DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.
DBLogCopyKeepingUp Vérifie que la copie du journal et l'inspection par les copies passives des bases de données sur le membre du groupe de disponibilité de base de données (DAG) spécifié, ou si aucun membre du groupe de disponibilité de base de données (DAG) n'est spécifié, sur le serveur local, sont en mesure de suivre la cadence de l'activité de génération du journal sur la copie active.
DBLogReplayKeepingUp Vérifie que l’activité de relecture pour les copies passives de bases de données sur le membre du groupe de disponibilité de base de données (DAG) spécifié, ou si aucun membre du groupe de disponibilité de base de données (DAG) n’est spécifié, sur le serveur local, est en mesure de suivre la cadence de l’activité de copie du journal et d’inspection.

Test-ReplicationHealth - Exemple

Cet exemple utilise la cmdlet Test-ReplicationHealth pour tester l'intégrité de la réplication pour le serveur de boîtes aux lettres MBX1.

Test-ReplicationHealth -Identity MBX1

Journalisation des événements du canal Crimson

Windows comprend deux catégories de journaux d'événements : les journaux Windows et les journaux des applications et des services. La catégorie de journaux Windows inclut les journaux d'événements disponibles dans les versions précédentes de Windows : les journaux des événements d'application, de sécurité et système. Elle inclut également deux nouveaux journaux : le journal d'installation et le journal des événements transmis (ForwardedEvents). Les journaux Windows sont conçus pour le stockage d'événements appartenant à des applications héritées et d'événements qui s'appliquent à la totalité du système.

Les journaux des applications et des services sont une nouvelle catégorie de journaux d'événements. Ces journaux stockent les événements d'une application ou d'un composant unique au lieu des événements qui concernent le système entier. Cette nouvelle catégorie de journaux d'événements est désignée par les termes « canal crimson d'une application ».

La catégorie Journaux des applications et services comprend quatre sous-types : journaux d’activité Administration, opérationnels, analytiques et de débogage. Les événements dans Administration journaux sont particulièrement intéressants si vous utilisez des enregistrements du journal des événements pour résoudre les problèmes. Les événements du journal Administration doivent vous fournir des conseils sur la façon de répondre aux événements. Les événements du journal des opérations sont également utiles, mais peuvent nécessiter une interprétation plus approfondie. Administration et les journaux de débogage ne sont pas aussi conviviaux. Les journaux analytiques (qui sont masqués et désactivés par défaut) stockent les événements qui tracent un problème, et souvent un volume élevé d’événements est journalisé. Les journaux de débogage sont utilisés par les développeurs lors du débogage des applications.

Exchange Server journalise les événements dans les canaux crimson dans la zone Journaux des applications et des services. Vous pouvez afficher ces canaux en procédant comme suit :

  1. Ouvrez l'Observateur d’événements.

  2. Dans l’arborescence de la console, accédez à Journaux >des applications et des servicesMicrosoft> Exchange.

  3. Sous Exchange, sélectionnez un canal pourpre, comme HighAvailability ou MailboxDatabaseFailureItems, pour afficher les événements liés aux groupes de disponibilité de base de données ou à la copie de base de données. Vous pouvez également choisir ActiveMontoring ou ManagedAvailability pour afficher les événements liés à la disponibilité gérée.

Le canal HighAvailability contient des événements liés au démarrage et à la fermeture du service de réplication Microsoft Exchange ainsi que les divers composants qui s'exécutent au sein de ce service Microsoft Exchange, comme Active Manager, l'API de réplication synchrone tiers, le serveur de tâches RPC, le port d'écoute TCP et l'enregistreur VSS (Service de cliché instantané de volumes). Le canal HighAvailability permet également à Active Manager de journaliser les événements associés aux événements d'analyse de rôle et d'action de base de données Active Manager, comme le montage de la base de données et la troncation du journal, et d'enregistrer des événements associés au cluster sous-jacent du DAG.

Le canal MailboxDatabaseFailureItems sert à journaliser les événements associés aux défaillances qui affectent une base de données de boîte aux lettres répliquées.

Le canal ActiveMonitoring contient les événements de définition et de résultat des sondes, moniteurs et répondeurs de disponibilité gérée.

Le canal ManagedAvailability contient les journaux des actions de récupération, ainsi que les résultats et les événements associés.

Moniteur d’espace disque faible

Exchange Server disponibilité managée surveille des centaines de métriques et de composants système chaque minute, y compris la quantité d’espace disque disponible sur les volumes utilisés par le rôle serveur de boîtes aux lettres. Avant Exchange 2013 Service Pack 1 (SP1), Exchange surveillait l'espace disponible sur tous les volumes locaux, y compris ceux qui ne contenaient pas de bases de données ou de fichiers journaux. Dans Exchange 2016 et Exchange 2019, seuls les volumes qui contiennent des bases de données Exchange et des fichiers journaux sont surveillés. Le seuil par défaut pour le moniteur d'espace de volume faible est de 180 Go. Vous pouvez configurer ce seuil en ajoutant la valeur de Registre DWORD suivante (en Mo) sur chaque serveur de boîtes aux lettres à personnaliser :

Chemin : HKEY_LOCAL_MACHINE\Software\Microsoft\ExchangeServer\v15\Replay\Parameters

Valeur : SpaceMonitorLowSpaceThresholdInMB

Par exemple, pour configurer le seuil sur 100 Go, vous devez configurer la valeur de registre suivante :

REG_DWORD 186a0 (100000)

Après avoir configuré ou modifié la valeur de registre ci-dessus, vous devez redémarrer le service de gestion des groupes de disponibilité de base de données (DAG) Microsoft Exchange pour que les modifications soient prises en compte.

Script CollectOverMetrics.ps1

Exchange Server comprend un script appelé CollectOverMetrics.ps1, qui se trouve dans le dossier Scripts. CollectOverMetrics.ps1 lit les journaux des événements relatifs aux membres du DAG pour rassembler des informations sur les opérations relatives aux bases de données (telles que montages, déplacements et basculements de bases de données) sur une période donnée. Pour chaque opération, le script enregistre les informations suivantes :

  • Identité de la base de données

  • Heure de début et de fin de l'opération

  • Serveurs sur lesquels la base de données a été montée au début et à la fin de l'opération

  • Raison de l'opération

  • Si l'opération est un succès et si l'opération est un échec, les détails de l'erreur

Le script consigne ces informations dans des fichiers .csv avec une opération par ligne. Il crée un fichier .csv pour chaque DAG.

Ce script prend en charge des paramètres qui vous permettent de personnaliser son comportement et ses résultats. Par exemple, les résultats peuvent être limités à un sous-ensemble spécifié à l’aide des paramètres Database ou ReportFilter . Seules les opérations correspondant à ces filtres seront consignées dans le rapport récapitulatif au format HTML. Les paramètres disponibles sont répertoriés dans le tableau suivant.

Paramètres du script CollectOverMetrics.ps1

Paramètre Description
DatabaseAvailabilityGroup Spécifie le nom du DAG à partir duquel vous voulez collecter des mesures. Si ce paramètre est omis, le DAG auquel le serveur local appartient sera utilisé. Des caractères génériques peuvent être utilisés pour collecter des informations à partir de plusieurs DAG et créer des rapports.
Database Fournit la liste des bases de données pour lesquelles le rapport doit être généré. Les caractères génériques sont pris en charge, par exemple, -Database:"DB1","DB2" ou -Database:"DB*".
StartTime Spécifie la durée de la période à analyser. Le script analyse uniquement les événements consignés au cours de cette période. Par conséquent, le script peut sélectionner des enregistrements d'opération partiels (par exemple, seulement la fin d'une opération au début de la période ou inversement). Si ni StartTime ni EndTime n’est spécifié, le script est défini par défaut sur les dernières 24 heures. Si un seul des deux paramètres est spécifié, l'analyse du script commencera ou se terminera à l'heure spécifiée pour une période de 24 heures.
EndTime Spécifie la durée de la période à analyser. Le script analyse uniquement les événements consignés au cours de cette période. Par conséquent, le script peut sélectionner des enregistrements d'opération partiels (par exemple, seulement la fin d'une opération au début de la période ou inversement). Si ni StartTime ni EndTime n’est spécifié, le script est défini par défaut sur les dernières 24 heures Si un seul paramètre est spécifié, la période sera de 24 heures, commençant ou se terminant à l’heure spécifiée.
ReportPath Spécifie le dossier utilisé pour stocker les résultats du traitement des événements. Si ce paramètre est omis, le dossier Scripts sera utilisé. Si le paramètre est spécifié, le script génère une liste de fichiers .csv et utilise ces derniers comme données source pour créer un rapport récapitulatif au format HTML. Ce rapport est le même que celui qui est généré avec l'option -GenerateHtmlReport. Les fichiers peuvent être générés sur plusieurs groupes de disponibilité de base de données (DAG) à différents moments ou simultanément et le script fusionne ensuite toutes leurs données.
GenerateHtmlReport Indique au script de rassembler toutes les informations qu'il a enregistrées, de les regrouper ensuite par type d'opération et de générer un fichier HTML comprenant des statistiques pour chacun de ces groupes. Le rapport indique le nombre total d'opérations dans chaque groupe ainsi que le nombre d'opérations ayant échoué et fournit des statistiques sur la durée des opérations dans chaque groupe. Le rapport indique également le type des erreurs qui ont entraîné l'échec des opérations.
ShowHtmlReport Indique que le rapport HTML doit être affiché dans un navigateur Web après avoir été généré.
SummumCsvFiles Indique au script de lire les données des fichiers .csv qu'il a générés. Ces données sont ensuite utilisées pour générer un rapport de synthèse similaire au rapport généré par le paramètre GenerateHtmlReport .
ActionType Indique le type des actions opérationnelles que le script doit collecter. Les valeurs de ce paramètre sont Move, Mount, ismountet Remount. La Move valeur fait référence à chaque fois que la base de données change de serveur actif, que ce soit par déplacement contrôlé ou par basculements. Les Mountvaleurs , Dismountet Remount font référence aux moments où la base de données change son état monté sans passer à un autre ordinateur.
ActionTrigger Indique quelles opérations administratives doivent être collectées par le script. Les valeurs de ce paramètre sont Admin ou Automatic. Les actions automatiques sont des actions effectuées automatiquement par le système (par exemple, un basculement lorsqu'un serveur n'est plus disponible en ligne). Administration actions sont toutes les actions effectuées par un administrateur à l’aide d’Exchange Management Shell ou du Centre d’administration Exchange.
RawOutput Indique au script de consigner les résultats directement dans le flux de sortie, comme c'est le cas dans un scénario d'écriture de sortie (write-output), au lieu de les consigner dans des fichiers .csv. Ces informations peuvent ensuite être transmises à d'autres commandes.
IncludedExtendedEvents Indique au script de collecter les événements qui fournissent des informations de diagnostic sur le temps consacré au montage des bases de données. Cette étape peut prendre du temps si le journal des événements relatifs aux applications est volumineux.
MergeCSVFiles Indique au script de récupérer tous les fichiers .csv contenant des données sur chaque opération et de les fusionner en un seul fichier .csv.
ReportFilter Indique d'appliquer un filtre aux opérations à partir des champs des fichiers .csv. Ce paramètre utilise le même format qu’une Where opération, chaque élément étant défini sur $_ et retournant une valeur booléenne. Par exemple : {$_DatabaseName -notlike "Mailbox Database*"} peut être utilisé pour exclure les bases de données par défaut du rapport.

CollectOverMetrics.ps1 - Exemples

L’exemple suivant illustre la collecte de mesures pour toutes les bases de données correspondant à DB* (avec un caractère générique inclus) dans le groupe de disponibilité de base de données nommé DAG1. Une fois les mesures recueillies, un rapport HTML est généré et affiché.

CollectOverMetrics.ps1 -DatabaseAvailabilityGroup DAG1 -Database:"DB*" -GenerateHTMLReport -ShowHTMLReport

Les exemples suivants montrent différentes manières de filtrer un rapport récapitulatif HTML. Le premier utilise le paramètre Database , qui accepte une liste de noms de base de données. Le rapport récapitulatif contient alors uniquement des données sur ces bases de données. Les deux exemples suivants utilisent l’option ReportFilter . Le dernier exemple filtre toutes les bases de données par défaut.

CollectOverMetrics.ps1 -SummariseCsvFiles (dir *.csv) -Database MailboxDatabase123,MailboxDatabase456
CollectOverMetrics.ps1 -SummariseCsvFiles (dir *.csv) -ReportFilter {$_.DatabaseName -notlike "Mailbox Database*"}
CollectOverMetrics.ps1 -SummariseCsvFiles (dir *.csv) -ReportFilter {($_.ActiveOnStart -like "ServerXYZ*") -and ($_.ActiveOnEnd -notlike "ServerXYZ*")}

Script CollectReplicationMetrics.ps1

CollectReplicationMetrics.ps1 est un autre script de métrique d’intégrité inclus dans Exchange Server. Il fournit une forme active d'analyse, car il collecte des mesures en temps réel, pendant son exécution. CollectReplicationMetrics.ps1 collecte des données à partir des compteurs de performance liés à la réplication des bases de données. Le script rassemble des données de compteur provenant de plusieurs serveurs de boîtes aux lettres, consigne ces données de chaque serveur dans un fichier .csv, puis établit un rapport des différentes statistiques sur la base de l'ensemble de ces données (par exemple, le temps pendant lequel chaque copie était en échec ou suspendue, la longueur moyenne de la file d'attente de copie ou de relecture ou le temps pendant lequel les copies ne correspondaient plus aux critères de basculement).

Vous pouvez spécifier les serveurs individuellement ou vous pouvez spécifier des DAG entiers. Vous pouvez exécuter le script pour commencer par collecter des données et générer ensuite le rapport, ou vous pouvez l'exécuter pour collecter uniquement des données ou pour établir un rapport à partir des données déjà collectées. Vous pouvez spécifier la fréquence à laquelle les données doivent être collectées et la durée totale de la collecte.

Les données collectées sur chaque serveur sont consignées dans un fichier nommé CounterData.<Nom_serveur>.<horodatage>.csv. Le rapport de synthèse sera écrit dans un fichier nommé HaReplPerfReport.< DAGName>.< TimeStamp>.csvou HaReplPerfReport.< TimeStamp>.csv si vous n’avez pas exécuté le script avec le paramètre DagName .

Le script lance des tâches Windows PowerShell pour collecter les données de chaque serveur. Ces tâches sont exécutées pour toute la durée de la collecte des données. Si vous spécifiez un grand nombre de serveurs, ce processus peut consommer une quantité considérable de mémoire. L'étape finale du processus, lorsqu'un rapport récapitulatif est établi à partir des données, peut également prendre beaucoup de temps pour de grands volumes de données. Il est possible d'exécuter l'étape de collecte sur un ordinateur, puis de copier les données ailleurs pour les traiter.

Le script CollectReplicationMetrics.ps1 prend en charge des paramètres qui vous permettent de personnaliser son comportement et ses résultats. Les paramètres disponibles sont répertoriés dans le tableau suivant.

Paramètres du script CollectReplicationMetrics.ps1

Paramètre Description
DagName Spécifie le nom du DAG à partir duquel vous voulez collecter des mesures. Si ce paramètre est omis, le DAG auquel le serveur local appartient sera utilisé.
DatabaseNames Fournit la liste des bases de données pour lesquelles le rapport doit être généré. Les caractères génériques sont pris en charge pour une utilisation, par exemple ou -DatabaseNames:"DB1","DB2"-DatabaseNames:"DB*".
ReportPath Spécifie le dossier utilisé pour stocker les résultats du traitement des événements. Si ce paramètre est omis, le dossier Scripts sera utilisé.
Duration Spécifie la durée pendant laquelle que le processus de collecte doit s'exécuter. Il s'agit en général de valeurs comprises entre une et trois heures. Des durées plus longues doivent être utilisées uniquement pour des intervalles plus importants entre chaque collecte ou pour une série de tâches plus courtes exécutées par des tâches planifiées.
Frequency Spécifie la fréquence à laquelle les mesures de données sont collectées. En général, les valeurs sont 30 secondes, une minute ou cinq minutes. Dans des circonstances normales, des intervalles plus courts que ces valeurs ne montrent pas des changements importants entre chaque collecte.
Servers Indique l'identité des serveurs sur lesquels des statistiques seront collectées. Vous pouvez spécifier n'importe quelle valeur, y compris des caractères génériques ou des GUID.
SummumFichiers Spécifie une liste de fichiers .csv pour générer un rapport récapitulatif. Ces fichiers sont les fichiers nommés CounterData.< CounterData>* et sont générés par le script CollectReplicationMetrics.ps1.
Mode Spécifie les étapes de traitement que le script exécute. Vous pouvez utiliser les valeurs suivantes :
CollectAndReport: il s’agit de la valeur par défaut. Cette valeur signifie que le script doit collecter les données des serveurs et les traiter pour produire le rapport récapitulatif.
CollectOnly: cette valeur signifie que le script doit simplement collecter les données et ne pas produire le rapport.
ProcessOnly: cette valeur signifie que le script doit importer des données à partir d’un ensemble de fichiers .csv et les traiter pour produire le rapport de synthèse. Le paramètre SummumFiles est utilisé pour fournir au script la liste des fichiers à traiter.
MoveFilestoArchive Spécifie que le script doit placer les fichiers dans un dossier compressé une fois qu'ils sont traités.
LoadExchangeSnapin Spécifie que le script doit charger les commandes Exchange Management Shell. Ce paramètre est utile lorsque le script doit s’exécuter en dehors de l’environnement de ligne de commande Exchange Management Shell, par exemple dans une tâche planifiée.

CollectReplicationMetrics.ps1 - Exemple

L’exemple suivant illustre la collecte des données sur une période d’une heure, et à des intervalles d’une minute, à partir de tous les serveurs du groupe de disponibilité de base de données DAG1, puis génère un rapport récapitulatif. Le paramètre ReportPath est également utilisé pour que le script place tous les fichiers dans le répertoire actuel.

CollectReplicationMetrics.ps1 -DagName DAG1 -Duration "01:00:00" -Frequency "00:01:00" -ReportPath

L’exemple suivant illustre la lecture des données de tous les fichiers correspondant à CounterData*, puis génère un rapport récapitulatif.

CollectReplicationMetrics.ps1 -SummariseFiles (dir CounterData*) -Mode ProcessOnly -ReportPath