Share via


Monitorare i gruppi di disponibilità del database

È possibile usare i dettagli in questo argomento per il monitoraggio delle copie del database delle cassette postali per i gruppi di disponibilità del database (DAG), per la raccolta di informazioni di diagnostica e per la configurazione della soglia di monitoraggio dello spazio su disco ridotto.

Cmdlet MailboxDatabaseCopyStatus

Usare il cmdlet Get-MailboxDatabaseCopyStatus per visualizzare le informazioni sullo stato delle copie del database delle cassette postali. Questo cmdlet consente di visualizzare informazioni su tutte le copie di un particolare database, informazioni su una specifica copia di un database su un server specifico, oppure informazioni su tutte le copie del database su un server. Nella seguente tabella sono descritti i possibili valori per lo stato di una copia del database delle cassette postali.

Stato della copia del database

Stato della copia del database Descrizione
Esito negativo La copia del database delle cassette postali è nello stato Failed quando non è stata sospesa e non è in grado di copiare o rieseguire i file di registro. Se lo stato è Failed e la copia non è sospesa, il sistema controlla periodicamente se il problema che ha causato l'impostazione dello stato Failed per la copia è stato risolto. Una volta rilevata la risoluzione del problema, a condizione che non vi siano altri problemi, lo stato della copia diventa automaticamente Healthy.
Semina La copia del database delle cassette postali, l'indice del contenuto per la copia del database delle cassette postali o entrambi gli elementi sono sottoposti a seeding. Al completamento del seeding, lo stato della copia cambia in Initializing.
SeedingSource La copia del database delle cassette postali è utilizzata come origine per l'operazione di seeding della copia del database.
Sospeso La copia del database delle cassette postali è nello stato Suspended a seguito della sospensione manuale della copia del database da parte di un amministratore che ha eseguito il cmdlet Suspend-MailboxDatabaseCopy.
Sano La copia del database delle cassette postali esegue correttamente la copia e la riesecuzione dei file di registro, oppure ha completato correttamente la copia e la riesecuzione di tutti i file di registro disponibili.
ServiceDown Il servizio Replica di Microsoft Exchange non è disponibile o in esecuzione nel server che ospita la copia del database delle cassette postali.
Inizializzazione La copia del database delle cassette postali è in uno stato di inizializzazione quando è stata creata una copia del database, quando il servizio Replica di Microsoft Exchange viene avviato o appena avviato e durante le transizioni da Sospeso, ServiceDown, Non riuscito, Seeding o SinglePageRestore a un altro stato. Quando la copia è in questo stato, il sistema verifica che il database e il flusso di registro abbiano uno stato coerente. Nella maggior parte dei casi, lo stato della copia rimane Initializing per circa 15 secondi, ma in ogni caso non deve rimanere tale per più di 30 secondi.
Risincronizzazione La copia del database delle cassette postali e i suoi file di registro vengono confrontati con la copia attiva del database per verificare eventuali divergenze tra le due copie. La copia rimane in questo stato fino a quando non sono state rilevate e risolte tutte le divergenze.
Montato La copia attiva è online e sta accettando le connessioni dei client. Solo la copia attiva della copia del database delle cassette postali può assumere lo stato Mounted.
Smontato La copia attiva è offline e non sta accettando le connessioni dei client. Solo la copia attiva della copia del database delle cassette postali può assumere lo stato Dismounted.
Montaggio La copia attiva sta per diventare online e non sta ancora accettando le connessioni dei client. Solo la copia attiva della copia del database delle cassette postali può assumere lo stato Mounting.
Smontaggio La copia attiva sta per diventare offline e sta terminando le connessioni dei client. Solo la copia attiva della copia del database delle cassette postali può assumere lo stato Dismounting.
DisconnessoAndHealthy La copia del database delle cassette postali non è più connessa alla copia del database attiva ed era nello stato Healthy quando si è verificata la perdita della connessione. Questo stato rappresenta la copia del database rispetto alla connettività alla copia del database di origine. Può essere segnalato durante gli errori di rete del gruppo di disponibilità del database tra la copia di origine e la copia del database di destinazione.
DisconnessoAndResynchronizing La copia del database delle cassette postali non è più connessa alla copia del database attiva ed era nello stato Resynchronizing quando si è verificata la perdita della connessione. Questo stato rappresenta la copia del database rispetto alla connettività alla copia del database di origine. Può essere segnalato durante gli errori di rete del gruppo di disponibilità del database tra la copia di origine e la copia del database di destinazione.
FailedAndSuspended Gli stati Failed e Suspended sono stati impostati contemporaneamente dal sistema in quanto è stato rilevato un errore la cui risoluzione richiede esplicitamente l'intervento dell'amministratore. Un esempio è il caso in cui il sistema rileva una divergenza irreversibile tra il database delle cassette postali attivo e una copia del database. A differenza dello stato Failed, il sistema non controlla periodicamente se il problema è stato risolto e non esegue il ripristino automatico. Deve intervenire un amministratore per risolvere la causa dell'errore prima che la copia del database possa passare a uno stato di integrità.
SinglePageRestore Questo stato indica che sulla copia del database delle cassette postali si è verificata un'operazione di ripristino della singola pagina.

Il cmdlet Get-MailboxDatabaseCopyStatus restituisce, inoltre, i dettagli sulle reti di replica in uso, incluse IncomingLogCopyingNetwork, che viene restituita per le copie dei database passivi, e OutgoingConnections, che viene restituita per i database attivi che presentano più di una copia, nonché per eventuali copie di database utilizzate come origine per un'operazione di seeding del database. Le informazioni sulle connessioni in uscita vengono fornite per le copie di database che sono in replica modalità file. Le informazioni sulle connessioni in uscita non vengono fornite per le copie di database che sono in replica modalità blocco.

Esempi di Get-MailboxDatabaseCopyStatus

Negli esempi riportati di seguito viene utilizzato il cmdlet Get-MailboxDatabaseCopyStatus. In ciascun esempio i risultati vengono inviati al cmdlet Format-List affinché siano visualizzati in formato elenco.

Con questo esempio vengono restituite le informazioni di stato per tutte le copie del database DB2.

Get-MailboxDatabaseCopyStatus -Identity DB2 | Format-List

Con questo esempio viene restituito lo stato per tutte le copie del database sul server di cassette postali MBX2.

Get-MailboxDatabaseCopyStatus -Server MBX2 | Format-List

Con questo esempio viene restituito lo stato per tutte le copie del database sul server di cassette postali locale.

Get-MailboxDatabaseCopyStatus -Local | Format-List

Per ulteriori informazioni sull'uso del cmdlet Get-MailboxDatabaseCopyStatus, vedere Get-MailboxDatabaseCopyStatus.

Cmdlet Test-ReplicationHealth

È possibile utilizzare il cmdlet Test-ReplicationHealth per visualizzare le informazioni sullo stato di replica continua delle copie del database delle cassette postali. Il cmdlet può essere utilizzato per controllare tutti gli aspetti dello stato di replica e riesecuzione per fornire una panoramica completa di uno specifico server di cassette postali in un gruppo di disponibilità del database.

Il cmdlet Test-ReplicationHealth è progettato per il monitoraggio preventivo della replica continua e della pipeline di replica continua, della disponibilità di Active Manager e dell'integrità e dello stato del Servizio cluster, del quorum e dei componenti di rete sottostanti. Può essere eseguito in locale o in modalità remota su qualsiasi server di cassette postali in un DAG. Il cmdlet Test-ReplicationHealth esegue i test elencati nella seguente tabella.

Test del cmdlet Test-ReplicationHealth

Nome del test Descrizione
ClusterService Verifica che il Servizio cluster sia in esecuzione e raggiungibile sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.
ReplayService Verifica che il servizio Replica di Microsoft Exchange sia in esecuzione e raggiungibile nel membro del gruppo di disponibilità del database specificato o, se non è specificato alcun membro del gruppo di disponibilità del database, nel server locale.
ActiveManager Verifica che l'istanza di Active Manager in esecuzione sul membro del gruppo di disponibilità del database specificato (o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database) sia in un ruolo valido (primario, secondario o autonomo).
TasksRpcListener Verifica che la chiamata di procedura remota (RPC) delle attività sia in esecuzione e raggiungibile sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.
Tcplistener Verifica che il listener della copia del registro TCP sia in esecuzione e raggiungibile sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.
ServerLocatorService Verifica i processi client/server di Active Manager nei membri del gruppo di disponibilità del database e nel server accesso client che eseguono ricerche in Active Directory e Active Manager per determinare dove è attivo il database delle cassette postali di un utente.
DagMembersUp Verifica che tutti i membri del gruppo di disponibilità del database siano disponibili, in esecuzione e raggiungibili.
ClusterNetwork Verifica che tutte le reti gestite dal cluster sul membro del gruppo di disponibilità del database specificato (o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database) siano disponibili.
QuorumGroup Verifica che il gruppo di cluster predefinito (gruppo di quorum) sia in uno stato integro e online.
FileShareQuorum Verifica che il server di controllo, la directory di controllo e la condivisione configurata per il gruppo di disponibilità del database siano raggiungibili.
DatabaseRedundancy Verifica che sia disponibile almeno una copia integra dei database nel membro del gruppo di disponibilità del database specificato oppure, se non è stato specificato alcun membro del gruppo di disponibilità del database, sul server locale.
DatabaseAvailability Verifica che i database abbiano sufficiente disponibilità nel membro del gruppo di disponibilità del database specificato oppure, se non è stato specificato alcun membro del gruppo di disponibilità del database, sul server locale.
DBCopySuspended Controlla se le copie del database delle cassette postali sono nello stato Suspended sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.
DBCopyFailed Controlla se le copie del database delle cassette postali sono nello stato Failed sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.
DBInitializing Controlla se le copie del database delle cassette postali sono nello stato Initializing sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.
DBDisconnected Controlla se le copie del database delle cassette postali sono nello stato Disconnected sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.
DBLogCopyKeepingUp Verifica che la copia del registro e l'ispezione da parte delle copie passive dei database sul membro del gruppo di disponibilità del database specificato (o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database) siano in grado di tenere il passo dell'attività di generazione del registro sulla copia attiva.
DBLogReplayKeepingUp Verifica che l'attività di riesecuzione per le copie passive dei database sul membro del gruppo di disponibilità del database specificato (o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database) sia in grado di tenere il passo dell'attività di ispezione e copia del registro.

Esempio di Test-ReplicationHealth

Con questo esempio viene utilizzato il cmdlet Test-ReplicationHealth per verificare lo stato della replica per il server di cassette postali MBX1.

Test-ReplicationHealth -Identity MBX1

Registrazione degli eventi del canale Crimson

Windows include due categorie di registri eventi: i registri Windows e i registri applicazioni e servizi. La categoria dei registri di Windows include i registri eventi disponibili nelle versioni precedenti di Windows: applicazioni, protezione e sistema. Include inoltre due nuovi registri: il registro dell'installazione e il registro ForwardedEvents. I registri di Windows sono progettati per archiviare gli eventi delle applicazioni legacy e gli eventi relativi all'intero sistema.

I registri applicazioni e servizi sono una nuova categoria di registri eventi. Questi registri archiviano gli eventi di una singola applicazione o di un singolo componente, anziché gli eventi che possono avere un impatto sull'intero sistema. Questa nuova categoria di registri eventi è definita canale Crimson di un'applicazione.

La categoria dei registri applicazioni e servizi include quattro sottotipi: amministrazione, operativo, analitico e debug. Gli eventi nei registri di amministrazione sono di particolare interesse se si utilizzano i record del registro eventi per la risoluzione dei problemi. Gli eventi nel registro di amministrazione forniscono una guida sulla modalità di risposta agli eventi. Gli eventi nel registro operativo sono altrettanto utili, ma richiedono una maggiore interpretazione. I registri di amministrazione e di debug non sono di facile comprensione per gli utenti. I registri analitici (che per impostazione predefinita sono nascosti e disabilitati) archiviano gli eventi che analizzano un problema; al loro interno viene spesso registrato un elevato volume di eventi. I registri di debug sono utilizzati dagli sviluppatori durante il debug delle applicazioni.

Exchange Server registra gli eventi in canali cremisi nell'area Log applicazioni e servizi. È possibile visualizzare questi canali eseguendo la procedura descritta di seguito:

  1. Aprire Visualizzatore eventi.

  2. Nell'albero della console passare a Registri> applicazioni e serviziMicrosoft> Exchange.

  3. In Exchange selezionare un canale cremisi, ad esempio HighAvailability o MailboxDatabaseFailureItems per visualizzare gli eventi dag e relativi alla copia del database oppure ActiveMontoring o ManagedAvailability per visualizzare gli eventi correlati alla disponibilità gestita.

Il canale HighAvailability contiene gli eventi relativi all'avvio e all'arresto del servizio Replica di Microsoft Exchange e ai diversi componenti eseguiti all'interno del servizio Replica di Microsoft Exchange, ad esempio Active Manager, l'API di replica sincrona di terze parti, il server RPC delle attività, il listener TCP e il writer del servizio Copia Shadow del volume (VSS). Il canale HighAvailability è utilizzato anche da Active Manager per registrare gli eventi relativi al monitoraggio del ruolo Active Manager e agli eventi di azione del database, ad esempio un'operazione di installazione del database e di troncamento del registro, e per la registrazione di eventi relativi al cluster sottostante a un gruppo di disponibilità del database.

Il canale MailboxDatabaseFailureItems è utilizzato per registrare eventi associati a qualsiasi errore che influisce su un database delle cassette postali replicato.

Il canale ActiveMonitoring contiene gli eventi di definizione e risultato per probe, monitoraggi e risponditori di disponibilità gestita.

Il canale ManagedAvailability contiene i log delle azioni di ripristino e i risultati e gli eventi correlati.

Monitoraggio spazio su disco insufficiente

Exchange Server Disponibilità gestita monitora centinaia di metriche e componenti di sistema ogni minuto, inclusa la quantità di spazio libero su disco nei volumi usati dal ruolo del server Cassette postali. Prima di Exchange 2013 Service Pack 1 (SP1), Exchange monitorava lo spazio disponibile in tutti i volumi locali, inclusi i volumi che non contengono database o file di log. In Exchange 2016 ed Exchange 2019 vengono monitorati solo i volumi che contengono database e file di log di Exchange. La soglia predefinita per il monitoraggio dello spazio ridotto del volume è 180 GB. È possibile configurare la soglia aggiungendo il valore del Registro di sistema DWORD seguente (in MB) in ogni server Cassette postali che si desidera personalizzare:

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

Valore: SpaceMonitorLowSpaceThresholdInMB

Ad esempio, per configurare la soglia a 100 GB, è necessario configurare il valore del Registro di sistema seguente:

REG_DWORD 186a0 (100000)

Dopo aver configurato o modificato il valore del Registro di sistema precedente, è necessario riavviare il servizio gestione del dag di Microsoft Exchange per rendere effettiva la modifica.

Script CollectOverMetrics.ps1

Exchange Server include uno script denominato CollectOverMetrics.ps1, disponibile nella cartella Scripts. CollectOverMetrics.ps1 legge i registri eventi dei membri del gruppo di disponibilità del database (DAG) per raccogliere informazioni sulle operazioni del database (ad esempio i montaggi, gli spostamenti e i failover del database) in un intervallo di tempo specifico. Per ogni operazione, lo script registra le informazioni seguenti:

  • Identità del database

  • Ora di inizio e di fine dell'operazione

  • Server su cui il database è stato montato all'inizio e alla fine dell'operazione

  • Motivo dell'operazione

  • Se l'operazione ha avuto esito positivo, inclusi i dettagli sull'errore se l'operazione non è riuscita

Lo script scrive queste informazioni nei file CSV con un'operazione per riga. Lo script scrive in un file CSV separato per ciascun gruppo di disponibilità del database (DAG).

Lo script supporta parametri che consentono di personalizzarne il comportamento e l'output. Ad esempio, i risultati possono essere limitati a un subset specificato usando i parametri Database o ReportFilter . Solo le operazioni che corrispondono a tali filtri saranno incluse nel rapporto HTML di riepilogo. I parametri disponibili sono elencati nella tabella seguente.

Parametri dello script CollectOverMetrics.ps1

Parametro Descrizione
Databaseavailabilitygroup Specifica il nome del gruppo di disponibilità del database da cui si desidera raccogliere le metriche. Se questo parametro viene omesso, viene utilizzato il gruppo di disponibilità del database di cui è membro il server locale. I caratteri jolly possono essere utilizzati per raccogliere informazioni da più gruppi di disponibilità del database e creare i relativi rapporti.
Database Fornisce un elenco dei database per cui è necessario generare il report. I caratteri jolly sono supportati, ad esempio, -Database:"DB1","DB2" o -Database:"DB*".
StartTime Specifica la durata del periodo di tempo su cui creare il rapporto. Lo script raccoglie solo gli eventi registrati durante questo periodo. Di conseguenza, lo script può acquisire record di operazioni parziali (ad esempio, solo la fine di un'operazione all'inizio del periodo o viceversa). Se non viene specificato né StartTimeEndTime, lo script assumerà come valore predefinito le ultime 24 ore. Se viene specificato un solo parametro, il periodo sarà 24 ore, con inizio o fine all'ora specificata.
EndTime Specifica la durata del periodo di tempo su cui creare il rapporto. Lo script raccoglie solo gli eventi registrati durante questo periodo. Di conseguenza, lo script può acquisire record di operazioni parziali (ad esempio, solo la fine di un'operazione all'inizio del periodo o viceversa). Se non viene specificato né StartTimeEndTime , lo script viene eseguita per impostazione predefinita nelle ultime 24 ore Se viene specificato un solo parametro, il periodo sarà di 24 ore, a partire o alla fine all'ora specificata.
ReportPath Specifica la cartella utilizzata per archiviare i risultati dell'elaborazione degli eventi. Se il parametro viene omesso, viene utilizzata la cartella Scripts. Quando è specificato, lo script prende un elenco di file CSV generati dallo stesso script e li utilizza come dati di origine per generare un rapporto HTML di riepilogo. Il rapporto è analogo a quello generato con l'opzione -GenerateHtmlReport. I file possono essere generati in più gruppi di disponibilità del database in molti orari diversi o anche in orari sovrapposti e lo script ne unirà tutti i dati.
GenerateHtmlReport Specifica che lo script raccoglie tutte le informazioni registrate, raggruppa i dati per tipo di operazione, quindi genera un file HTML che include le statistiche di ogni singolo gruppo. Il rapporto comprende il numero totale di operazioni in ogni gruppo, il numero di operazioni non riuscite e le statistiche del tempo impiegato in ciascun gruppo. Il rapporto contiene anche un'analisi dei tipi di errori che hanno causato le operazioni non riuscite.
ShowHtmlReport Specifica che il report HTML generato deve essere visualizzato in un Web browser subito dopo la generazione.
RicapitolandoCsvFiles Specifica che lo script legge i dati dai file CSV esistenti precedentemente generati dallo script stesso. I dati vengono quindi utilizzati per generare un rapporto di riepilogo simile a quello generato dal parametro GenerateHtmlReport.
ActionType Specifica il tipo di azioni operative prese in considerazione dallo script. I valori per questo parametro sono Move, Mount, ismounte Remount. Il Move valore fa riferimento a qualsiasi momento in cui il database modifica il server attivo, sia tramite spostamenti controllati che tramite failover. I Mountvalori , Dismounte Remount si riferiscono alle volte in cui il database modifica lo stato montato senza passare a un altro computer.
ActionTrigger Specifica quali operazioni amministrative devono essere prese in considerazione dallo script. I valori per questo parametro sono Admin o Automatic. Le azioni Automatico sono quelle eseguite automaticamente dal sistema (ad esempio, un failover quando un server passa alla modalità offline). Amministrazione azioni sono azioni eseguite da un amministratore tramite Exchange Management Shell o l'interfaccia di amministrazione di Exchange.
RawOutput Specifica che lo script scrive i risultati che avrebbero dovuto essere scritti nei file CSV direttamente con il flusso di output, come nel caso di write-output. Tali informazioni possono quindi essere reindirizzate ad altri comandi.
IncludedExtendedEvents Specifica che lo script raccoglie gli eventi che mostrano i dettagli di diagnostica del tempo impiegato per montare i database. L'operazione potrebbe richiedere molto tempo se il registro eventi dell'applicazione sui server è molto grande.
MergeCSVFiles Specifica che lo script raccoglie tutti i file CSV contenenti i dati relativi a ciascuna operazione e li unisce un unico file CSV.
Filtro report Specifica che deve essere applicato un filtro alle operazioni utilizzando i campi visualizzati nei file CSV. Questo parametro usa lo stesso formato di un'operazione Where , con ogni elemento impostato su $_ e che restituisce un valore booleano. Ad esempio: {$_DatabaseName -notlike "Mailbox Database*"} può essere usato per escludere i database predefiniti dal report.

Esempi di CollectOverMetrics.ps1

Con questo esempio vengono raccolte le metriche per tutti i database corrispondenti a DB* (che include un carattere jolly) nel gruppo di disponibilità del database DAG1. Dopo la raccolta delle metriche, viene generato e visualizzato un report in formato HTML.

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

Negli esempi seguenti vengono dimostrate le modalità di filtraggio del rapporto HTML di riepilogo. Il primo usa il parametro Database , che accetta un elenco di nomi di database. Il rapporto di riepilogo contiene quindi solo i dati relativi a questi database. Nei due esempi successivi viene utilizzata l'opzione ReportFilter . Nell'ultimo esempio vengono filtrati tutti i database predefiniti.

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 è un altro script delle metriche di integrità incluso in Exchange Server. Questo script fornisce una forma attiva di monitoraggio, in quanto raccoglie le metriche in tempo reale durante l'esecuzione dello script. CollectReplicationMetrics.ps1 raccoglie i dati dai contatori di prestazioni relativi alla replica del database. Lo script raccoglie i dati relativi ai contatori da più server Cassette postali, scrive tutti i dati del server in un file CSV e può riportare diverse statistiche per tutti i dati (ad esempio, il periodo di tempo in cui una copia non è riuscita o è stata sospesa, la lunghezza media della coda di riesecuzione o di copia o la quantità di tempo in cui le copie non soddisfacevano i criteri di failover).

I server possono essere specificati singolarmente o per interi gruppi di disponibilità del database. Lo script può essere eseguito per raccogliere i dati e creare il rapporto o può essere eseguito solo per raccogliere i dati o solo per creare il rapporto dei dati già raccolti. È possibile specificare la frequenza con cui i dati devono essere campionati e la durata complessiva di raccolta dei dati.

I dati raccolti da ogni server vengono scritti in un file denominato CounterData.< ServerName>.< TimeStamp>.csv. Il report di riepilogo verrà scritto in un file denominato HaReplPerfReport.< DAGName>.< TimeStamp>.csvo HaReplPerfReport.< TimeStamp>.csv se non è stato eseguito lo script con il parametro DagName .

Lo script avvia i processi Windows PowerShell per raccogliere i dati da ogni server. Questi processi vengono eseguiti per l'intera durata di raccolta dei dati. Se si specifica un gran numero di server, l'operazione può richiedere una notevole quantità di memoria. La fase finale del processo, in cui i dati vengono elaborati in un rapporto di riepilogo, può richiedere anche del tempo per l'elaborazione di grandi quantità di dati. È possibile eseguire la fase di raccolta su un computer, quindi copiare i dati altrove per l'elaborazione.

Lo script CollectReplicationMetrics.ps1 supporta parametri che consentono di personalizzarne il comportamento e l'output. I parametri disponibili sono elencati nella tabella seguente.

Parametri dello script CollectReplicationMetrics.ps1

Parametro Descrizione
DagName Specifica il nome del gruppo di disponibilità del database da cui si desidera raccogliere le metriche. Se questo parametro viene omesso, viene utilizzato il gruppo di disponibilità del database di cui è membro il server locale.
DatabaseNames Fornisce un elenco dei database per cui è necessario generare il report. I caratteri jolly sono supportati per l'uso, ad esempio, -DatabaseNames:"DB1","DB2" o -DatabaseNames:"DB*".
ReportPath Specifica la cartella utilizzata per archiviare i risultati dell'elaborazione degli eventi. Se il parametro viene omesso, viene utilizzata la cartella Scripts.
Durata Specifica il tempo di esecuzione del processo di raccolta. I valori standard sono compresi tra una e tre ore. Le durate magggiori devono essere utilizzate solo con intervalli lunghi tra un campione e l'altro oppure come serie di processi più brevi eseguiti dalle attività pianificate.
Frequenza Specifica la frequenza di raccolta delle metriche dei dati. I valori standard sono 30 secondi, un minuto o cinque minuti. In circostanze normali, intervalli più brevi di questi non visualizzeranno modifiche significative tra ogni campione.
Server Specifica l'identità dei server da cui raccogliere le statistiche. È possibile specificare qualsiasi valore, inclusi caratteri jolly o GUID.
Ricapitolandofile Specifica un elenco di file CSV per generare un rapporto di riepilogo. Questi file sono i file denominati CounterData.< CounterData>* e vengono generati dallo script CollectReplicationMetrics.ps1.
Mode Specifica le fasi di elaborazione eseguite dallo script. È possibile utilizzare i seguenti valori:
CollectAndReport: questo è il valore predefinito. Questo valore indica che lo script deve sia raccogliere i dati dai server che elaborarli per creare il rapporto di riepilogo.
CollectOnly: questo valore indica che lo script deve semplicemente raccogliere i dati e non produrre il report.
ProcessOnly: questo valore indica che lo script deve importare dati da un set di file .csv ed elaborarli per produrre il report di riepilogo. Il parametro SummariseFiles viene utilizzato per fornire allo script l'elenco dei file da elaborare.
MoveFilestoArchive Specifica che lo script deve spostare i file in una cartella compressa dopo l'elaborazione.
LoadExchangeSnapin Specifica che lo script deve caricare i comandi di Exchange Management Shell. Questo parametro è utile quando lo script deve essere eseguito dall'esterno di Exchange Management Shell, ad esempio in un'attività pianificata.

Esempio di CollectReplicationMetrics.ps1

Nell'esempio seguente vengono raccolti i dati relativi a un'ora da tutti i server nel gruppo di disponibilità del database DAG1, campionati a intervalli di un minuto, e viene quindi generato un rapporto di riepilogo. Viene inoltre utilizzato il parametro ReportPath, a causa del quale lo script posiziona tutti i file nella directory corrente.

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

Nell'esempio seguente vengono letti i dati da tutti i file che corrispondono a CounterData* e viene quindi generato il rapporto di riepilogo.

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