Informazioni sulla registrazione delle transazioni
Si applica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Ultima modifica dell'argomento: 2007-08-30
In questo argomento vengono descritti i dettagli relativi alla registrazione delle transazioni in Microsoft Exchange Server 2007 ed è inclusa una breve descrizione della registrazione circolare.
La registrazione delle transazioni in Exchange Server è un solido meccanismo di ripristino di emergenza del motore ESE (Extensible Storage Engine) progettato per ripristinare in uno stato coerente e in modo affidabile un database di Exchange dopo l'arresto improvviso del database. Il meccanismo di registrazione viene utilizzato anche per il ripristino di backup in linea.
Registrazione delle transazioni in Exchange
Prima di apportare modifiche al file di database di Exchange, in Exchange le modifiche vengono scritte in un file di registro delle transazioni. Dopo averle registrate in modo sicuro, è possibile scrivere le modifiche nel file di database. In genere, le modifiche sono disponibili per gli utenti finali subito dopo la memorizzazione nel registro delle transazioni, ma prima della scrittura nel file di database.
Exchange adotta un sistema avanzato di gestione della memoria interna ottimizzato per elevate prestazioni e in grado di gestire efficacemente la memorizzazione nella cache di decine di gigabyte (GB) di pagine di database. Pertanto, la scrittura fisica delle modifiche nel file di database è un'attività con bassa priorità durante le normali operazioni.
Se un database si arresta improvvisamente, le modifiche memorizzate nella cache non andranno perdute solo perché la memoria cache è stata distrutta. Quando il database viene riavviato, Exchange analizza i file di registro e ricostruisce e applica le modifiche non ancora scritte nel file di database. Questo processo viene denominato riesecuzione dei file di registro. Il database è strutturato in modo tale che Exchange può determinare se una qualsiasi operazione in un file di registro è già stata applicata al database, se deve essere applicata al database o se non appartiene al database.
Anziché scrivere tutte le informazioni di registro in un unico file di grandi dimensioni, Exchange utilizza una serie di file di registro, ognuno dalle dimensioni esatte di un megabyte o di 1.024 kilobyte (KB). Quando un file di registro è pieno, in Exchange il file viene chiuso e rinominato con un numero sequenziale. Il primo file di registro che viene riempito termina con il nome Enn00000001.log. Le lettere nn si riferiscono a un numero di due cifre noto come nome di base o prefisso del registro.
I file di registro per ogni gruppo di archiviazione si distinguono in base ai nomi file con prefissi numerati (ad esempio, E00, E01, E02 o E03). Il file di registro attualmente aperto per un gruppo di archiviazione viene denominato semplicemente Enn.log. Al file non è associato un numero di sequenza fino a quando non viene riempito o chiuso.
Il file del punto di arresto (Enn.chk) consente di tenere traccia del processo di scrittura in corso delle informazioni registrate nei file di database in Exchange. Esiste un file del punto di arresto per ogni flusso di registri e un flusso di registri separato per ciascun gruppo di archiviazione. In un singolo gruppo di archiviazione, tutti i database condividono un unico flusso di registri. Quindi, un unico file di registro spesso contiene operazioni per più database.
I file di registro sono numerati in formato esadecimale, quindi il file di registro successivo a E0000000009.log è E000000000A.log, non E0000000010.log. È possibile convertire i numeri di sequenza dei file di registro nei relativi valori decimali utilizzando l'applicazione Calcolatrice di Windows (Calc.exe) in modalità Scientifica. A tale scopo, eseguire Calc.exe, quindi scegliere Scientifica dal menu Visualizza.
Per visualizzare il numero di sequenza decimale per un file di registro specifico, è possibile esaminarne l'intestazione utilizzando lo strumento Utilità database di Exchange Server (Eseutil.exe). La prima pagina di 4 KB di ciascun file di registro contiene le informazioni di intestazione che descrivono e identificano il file di registro e i database a cui appartiene. Il comando Eseutil /ml [nome file di registro] consente la visualizzazione delle informazioni di intestazione. Per ulteriori informazioni sullo strumento Eseutil, vedere Eseutil.
Se si utilizza l'opzione errata per la visualizzazione dell'intestazione (ad esempio, utilizzando /ml con un'intestazione di database anziché /mh), viene visualizzato un messaggio di errore o le informazioni di intestazione visualizzate possono risultare confuse o errate.
Non è possibile visualizzare l'intestazione di un database mentre viene montato. Non è possibile, inoltre, visualizzare l'intestazione del file di registro corrente (Enn.log) mentre un database del gruppo di archiviazione viene montato. Exchange mantiene aperto il file di registro corrente finché viene utilizzato da un database. È possibile, tuttavia, visualizzare l'intestazione del file del punto di arresto durante il montaggio dei database. Exchange aggiorna il file del punto di arresto ogni trenta secondi e l'intestazione è visualizzabile, tranne al momento dell'aggiornamento.
In quanto amministratore di Exchange, può essere utile interpretare le intestazione dei file di Exchange. Se si interpretano le intestazioni dei file, è possibile determinare quali database e file di registro corrispondono e quali file sono necessari per un corretto ripristino.
Nell'intestazione del file di registro dell'esempio seguente, si notino le prime quattro righe.
Base name: e00
Log file: e00.log
lGeneration: 11 (0xB)
Checkpoint: (0xB,7DC,6F)
Le righe dell'intestazione del file di registro mostrano che si tratta del file di registro corrente, in quanto il nome del file di registro non contiene un numero di sequenza. La riga lGeneration
mostra che il registro è stato riempito ed è chiuso, il numero di sequenza sarà B
, che corrisponde al valore decimale 11
. Il nome di base è e00
, pertanto il nome del file di registro finale sarà E000000000B.log.
Il valore Checkpoint
nell'esempio di intestazione precedente non viene effettivamente letto dall'intestazione del file di registro, ma è visualizzato come se lo fosse. Eseutil.exe legge il valore Checkpoint
direttamente da Enn.chk, quindi non è necessario immettere un comando separato per conoscere il percorso del file del punto di arresto. Se il file del punto di arresto è stato distrutto, il valore Checkpoint
leggerà NOT AVAILABLE
. In questo caso, il file del punto di arresto si trova nel file di registro corrente (0xB
) e i numeri 7DC
e 6F
indicano il punto in cui si trova nel file di registro. In ogni caso, accadrà raramente di mettere in pratica tali informazioni.
Se il file del punto di arresto viene distrutto, Exchange è ancora in grado di ripristinare e rieseguire i file di registro in modo appropriato. A tale scopo, tuttavia, Exchange inizia l'analisi dei file di registro, iniziando dal file meno recente disponibile, anziché iniziare dal registro del punto di arresto. Exchange ignora i dati già applicati al database e procede in sequenza attraverso i registri fino ad arrivare ai dati che devono essere applicati.
In genere, Exchange impiega solo uno o due secondi per analizzare un file di registro già applicato al database. Se il file di registro contiene delle operazioni che è necessario scrivere nel database, il tempo impiegato per applicarle può variare da 10 secondi a diversi minuti. In media, è possibile scrivere il contenuto di un file di registro nel database in 30 secondi o anche meno.
Quando un database di Exchange viene chiuso normalmente, tutti i dati in sospeso vengono scritti nei file di database. Dopo la normale chiusura, l'impostazione del file di database è considerata coerente e il database viene scollegato dal flusso dei registri. Ciò significa che i file di database sono ora completi, ovvero sono completamente aggiornati. I registri delle transazioni non sono necessari per avviare i file di database.
Per verificare che un database è stato arrestato correttamente, eseguire il comando Eseutil /mh ed esaminare le intestazioni dei file.
Se tutti i database di un gruppo di archiviazione sono disconnessi e in uno stato di chiusura normale, è possibile eliminare tutti i file di registro senza danneggiare i database. Se si è in procinto di eliminare tutti i file di registro, Exchange genererà una nuova sequenza di registri iniziando con Enn00000001.log. È anche possibile spostare i file di database in un server o gruppo di archiviazione diverso con file di registro esistenti e i database verranno accodati a un diverso flusso di registri.
Nota
Anche se è possibile eliminare i file di registro dopo l'arresto di tutti i database in un gruppo di archiviazione, in questo modo si comprometterà la possibilità di ripristinare i backup precedenti e di eseguire il roll forward. Per il database corrente non sono più necessari i file di registro esistenti, ma potrebbero essere necessari per ripristinare un database precedente.
Se un database si trova in uno stato di chiusura anomala, tutti i registri delle transazioni esistenti dal del punto di arresto in avanti devono essere disponibili prima di poter montare di nuovo il database. Se i registri non sono disponibili, è necessario riparare il database eseguendo il comando Eseutil /p per renderlo coerente e pronto all'avvio.
Avviso
Se è necessario riparare un database, alcuni dati potrebbero andare perduti. Anche se grave, la perdita di dati in genere è minima. Dopo aver eseguito Eseutil /p su un database, si consiglia di riparare completamente il database con le due operazioni seguenti: In primo luogo, eseguire Eseutil/d per deframmentare il database. Questa operazione consente di eliminare e ricostruire tutti gli indici del database e le strutture di spazio. In secondo luogo, eseguire lo strumento Information Store Integrity Checker (Isinteg.exe) in modalità –fix. Questo strumento ricerca nel database le incoerenze logiche create eliminando i registri delle transazioni in sospeso. Ad esempio, nel database potrebbero essere presenti dei riferimenti non aggiornati reciprocamente. Isinteg.exe tenta di correggere tali problemi con la minor perdita di dati possibile.
Oltre a consentire ad Exchange di eseguire in modo affidabile il ripristino da un arresto imprevisto del database, anche la registrazione delle transazioni è indispensabile per eseguire e ripristinare i backup in linea. Per ulteriori informazioni sull'esecuzione e il ripristino di backup in linea, vedere Backup e ripristino dei database.
Registrazione circolare
Sebbene non sia consigliabile, è possibile configurare Exchange in modo da salvare spazio su disco abilitando la registrazione circolare. La registrazione circolare consente a Exchange di sovrascrivere i file di registro delle transazioni una volta che i dati di tali file sono stati salvati nel database. Tuttavia, quando la registrazione circolare è abilitata, è possibile recuperare solo i dati successivi all'ultimo backup completo.
Nella registrazione delle transazioni standard utilizzata da Exchange 2007, ogni transazione di database in un gruppo di archiviazione viene scritta in un file di registro e quindi nel database. Quando il file di registro raggiunge le dimensioni di 1 MB, viene rinominato e si crea un nuovo file di registro. Con il tempo, si otterrà un insieme di file di registro. Se Exchange si arresta inaspettatamente, è possibile ripristinare le transazioni rieseguendo i dati dai file di registro nel database. La registrazione circolare sovrascrive e riutilizza il primo file di registro dopo che i dati che contiene sono stati scritti nel database.
In Exchange 2007, la registrazione circolare è disabilitata per impostazione predefinita. Se si abilita la registrazione circolare, si riducono i requisiti di spazio di archiviazione nell'unità. Tuttavia, senza un insieme completo di file di registro delle transazioni, non è possibile ripristinare i dati più recenti dell'ultimo backup completo. Pertanto, in un normale ambiente di produzione la registrazione circolare non è consigliata.
Per informazioni su come abilitare e disabilitare la registrazione circolare in Exchange 2007, vedere Come abilitare o disabilitare la registrazione circolare per un gruppo di archiviazione.
Replica continua e registrazione circolare
È possibile combinare la registrazione circolare con la replica continua. In questa configurazione è presente un nuovo tipo di registrazione circolare denominato registrazione circolare a replica continua (Continuous Replication Circular Logging, CRCL), diversa dalla registrazione circolare ESE descritta prima in questo argomento. Mentre la registrazione circolare ESE viene eseguita e gestita dal servizio Archivio informazioni di Microsoft Exchange, la registrazione circolare a replica continua viene eseguita e gestita dal servizio Replica di Microsoft Exchange.
Quando è abilitata, la registrazione circolare ESE non genera file di registro aggiuntivi ma, se necessario, sovrascrive il file di registro corrente. Tuttavia, in un ambiente di replica continua, i file di registro sono necessari per la distribuzione e la riproduzione dei registri. Come risultato, quando si abilita la registrazione circolare a replica continua, il file di registro corrente non viene sovrascritto e vengono generati file di registro chiusi per il processo di distribuzione e riproduzione dei registri. In particolare, il servizio Replica di Microsoft Exchange gestisce la registrazione circolare a replica continua in modo da mantenere la continuità dei registri e, se sono ancora necessari per la replica, i registri non vengono eliminati dall'eliminatore di registri. Pertanto l'abilitazione della registrazione circolare a replica continua non dovrebbe influire negativamente sulla replica.
Nella versione di produzione (RTM) di Exchange 2007, è supportata la combinazione della registrazione circolare con la replica continua cluster o la replica continua locale. Tuttavia, non si consiglia questa di utilizzare opzione perché non consente un recupero roll forward dopo una volta ripristinato un backup. Exchange 2007 Service Pack 1 (SP1) consente anche che i gruppi di archiviazione in un ambiente di replica continua cluster, replica continua locale o replica continua di standby possano avere la registrazione circolare abilitata. Tuttavia, anche questa pratica non è consigliata per lo stesso motivo indicato in precedenza. In questi ambienti viene abilitata la funzionalità di registrazione circolare a replica continua e non ESE (conosciuta anche come registrazione circolare JET, Joint Engine Technology). In un ambiente di replica continua cluster, replica continua locale o replica continua di standby, per abilitare o disabilitare la registrazione circolare è necessario utilizzare sempre il processo seguente:
Sospendere la replica continua utilizzando il cmdlet Suspend-StorageGroupCopy.
Abilitazione o disabilitazione della registrazione circolare. Per informazioni dettagliate su come abilitare o disabilitare la registrazione circolare, vedere Come abilitare o disabilitare la registrazione circolare per un gruppo di archiviazione.
Smontare e rimontare il database nel gruppo di archiviazione che deve essere abilitato o disabilitato alla registrazione circolare.
Riavviare la replica continua utilizzando il cmdlet Resume-StorageGroupCopy.
Per i gruppi di archiviazione in un ambiente di replica continua locale, prima di eseguire il cmdlet Enable-StorageGroupCopy per attivare la replica continua locale per un gruppo di archiviazione, è necessario accertarsi che l'impostazione della registrazione circolare corrente sia rilevata e utilizzata dal servizio Archivio informazioni di Microsoft Exchange smontando e rimontando il database del gruppo di archiviazione. Mentre il servizio Archivio informazioni di Microsoft Exchange per rilevare e utilizzare la modifica di configurazione richiede che il database venga smontato e poi rimontato, il servizio Replica di Microsoft Exchange è in grado di rilevare e utilizzare la modifica di configurazione in modo dinamico e senza nessun riavvio. Pertanto, se non si esegue la procedura indicata in precedenza, il database si potrà trovare nella situazione in cui il servizio Replica di Microsoft Exchange considera la registrazione circolare disabilitata (o abilitata) mentre il servizio Archivio informazioni di Microsoft Exchange ritiene che la registrazione circolare sia nello stato opposto. Ciò può provocare una troncatura prematura dei file di registro.
Nota
Se si disabilita la replica continua locale o la replica continua di standby, i backup o le registrazioni circolari possono eliminare i file di registro senza la copia, ma non esiste alcuna opzione di disabilitazione per la replica continua cluster. Nella replica continua cluster, indipendentemente dal fatto che sia attivata o meno la registrazione circolare a replica continua, i registri non replicati non vengono mai eliminati.
Per tenere sotto controllo la quantità di registri di transazioni creati, talvolta gli amministratori abilitano la registrazione circolare durante gli spostamenti di grosse cassette postali. Poiché lo spostamento di una cassetta postale è un'operazione che implica due database diversi, durante lo spostamento della cassetta postale è possibile abilitare la registrazione circolare per entrambi i database.
Nota
Poiché, in caso di guasto, la registrazione circolare interferisce con la capacità di aggiornare il gruppo di archiviazione, si sconsiglia di utilizzare la registrazione circolare per lunghi periodi di tempo.
È possibile abilitare la registrazione circolare a replica continua in ambienti di replica continua cluster, replica continua locale e replica continua di standby per lo spostamento di cassette postali o per altri scenari che implicano una vasta creazione di file di registro. Tuttavia, durante il periodo di abilitazione della registrazione circolare a replica continua non è possibile eseguire alcun backup. Di conseguenza è necessario verificare che:
Gli spostamenti delle cassette postali non interferiscano con le operazioni di backup, poiché quando la registrazione circolare a replica continua è abilitata non è possibile eseguire backup.
La registrazione circolare a replica continua viene disabilitata dopo il completamento degli spostamenti di cassette postali, in modo da poter riprendere i backup.