Modalità di deframmentazione Eseutil /D

 

Si applica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Ultima modifica dell'argomento: 2009-03-16

È possibile utilizzare l'opzione /D delle utilità database di Exchange Server (Eseutil.exe) per deframmentare e comprimere il database non in linea. L'opzione di deframmentazione rende contiguo l'archivio utilizzato, elimina quello non utilizzato e comprime il database riducendone la dimensione del file.

Per le istruzioni sull'utilizzo della sintassi di Eseutil /D, vedere Esecuzione di Eseutil /D (Deframmentazione).

Durante le normali operazioni, la compattazione dei file del database non scende mai al di sotto della dimensione corrente. Dal momento che l'eliminazione degli elementi consente di liberare spazio nel database, le pagine esistenti vengono riutilizzate dove possibile. In genere, la dimensione di un database Microsoft Exchange Server aumenta nei mesi successivi all'attivazione per poi stabilizzarsi.

In condizioni normali, l'esecuzione di una deframmentazione non in linea non ripristina in modo permanente una quantità significativa di spazio su disco. Il file continuerà a crescere ancora fino a raggiungere la dimensione precedente alla deframmentazione.

Funzionamento della deframmentazione Eseutil

In quanto parte del processo di deframmentazione, Eseutil crea un nuovo database contenente tutte le informazioni del database originale. Una volta completata la deframmentazione, il database originale viene eliminato o salvato in una posizione specificata dall'utente e la nuova versione viene rinominata come l'originale. Se lo strumento incontra un record non valido, si interrompe e visualizza un messaggio di errore.

Quando si esegue una deframmentazione non in linea, Exchange crea una copia temporanea del file del database. Le tabelle del file del database vengono conservate e copiate nel database temporaneo, ma le pagine vuote vengono eliminate e gli indici ricreati. Poiché tale azione causa la modifica dei numeri delle pagine fisiche, le pagine vengono copiate alterate. I relativi collegamenti vengono aggiornati e su tutte le pagine rimaste nel database vengono effettuati controlli di integrità.

Intervallo di tempo richiesto per la deframmentazione di un database

L'intervallo di tempo richiesto per completare la deframmentazione dipende dalla quantità di spazio libero sul database e non dalla dimensione del file. Ad esempio, la deframmentazione di un database di 100 gigabyte (GB) contenente 10 GB di dati richiede lo stesso tempo di una deframmentazione di un database di 11 GB contenente 10 GB di dati.

Per impostazione predefinita, dopo il completamento della deframmentazione il database temporaneo diventa automaticamente il nuovo database di produzione e il file del database di produzione originale viene eliminato. Il tempo richiesto per la deframmentazione può essere notevolmente ridotto se sulle stesse unità logiche è disponibile uno spazio pari alla dimensione dei file del database originale. In tal caso, è possibile posizionare il database temporaneo sulla stessa unità logica e la copia finale verrà completata immediatamente.

Si consiglia di non utilizzare un'unità di rete per contenere il database temporaneo. Quando si utilizza un'unità di rete per un database temporaneo, la deframmentazione impiega un intervallo di tempo maggiore e qualunque errore di rete temporaneo o permanente terminerà il processo. Poiché non è possibile riprendere la deframmentazione, è necessario ricominciare dall'inizio.

Nota

Si richiede solo una quantità supplementare di spazio su disco delle unità logiche pari alla dimensione finale dei file dopo la deframmentazione. Sebbene sia impossibile prevedere precisamente la quantità di spazio su disco che verrà liberato, si consiglia di lasciare un 110 percento di spazio unità disco libero.

Come determinare la quantità di spazio libero in un database

La quantità di spazio libero disponibile in un file di database di Exchange viene visualizzata in un evento che verrà inserito nel registro eventi dopo l'esecuzione di una deframmentazione in linea del database. Tale deframmentazione viene eseguita automaticamente durante la normale manutenzione del database. Inoltre, l'evento viene registrato anche se il livello di registrazione associato è impostato su Nessuno. Per i database delle cartelle pubbliche e delle cassette postali, viene registrato un evento simile a quello descritto di seguito. 

Tipo evento: Informazioni

Origine evento: Archivio cassette postali MSExchangeIS

Categoria evento: Generale

ID evento: 1221

Date: 8/16/2006

Ora: 9.15

Utente: N/D

Computer: Nome computer

Descrizione: Il database "gruppo_archiviazione\database_cassette_postali" dispone di nnn MB liberi dopo la deframmentazione in linea.

Nota

In Exchange Server 2007, la descrizione del messaggio di evento con ID 1221 contiene il testo seguente: Il database "gruppo_archiviazione\database_cassette_postali" dispone di nnn MB liberi dopo la deframmentazione in linea. Gruppo_archiviazione è il nome del gruppo di archiviazione, database_cassette_postali è il nome del database delle cassette postali e nnn è la quantità di spazio libero disponibile in MB. Nome computer è il nome del computer Exchange Server.

Per i database della coda (database di trasporto che risiedono sui ruoli server Trasporto Edge o Trasporto Hub di Exchange) viene registrato un evento simile a quello descritto di seguito.

Tipo evento: Informazioni

Origine evento: MSExchangeTransport

Categoria evento: Componenti

ID evento: 7007

Date: 8/16/2006

Ora: 01:00:02

Utente: N/D

Computer: Nome computer

Descrizione: È stata completata la deframmentazione in linea per il database mail.que. Il database dispone di nnn byte liberi.

Nota

Nella precedente descrizione, nnn è la quantità di spazio libero disponibile in byte. Nome computer è il nome del computer Exchange Server.

Un altro metodo per determinare la quantità di spazio libero è eseguire un dump dello spazio con Eseutil /ms di un file di database non in linea (ad esempio, eseguire il seguente comando: eseutil /ms Mailbox Database.edb). Il dump dello spazio restituisce una tabella. Nella tabella, prendere il numero nella colonna Disponibile e moltiplicarlo per la dimensione della pagina al fine di determinare lo spazio libero per il file del database. Per ulteriori informazioni sulla modalità di dump del file Eseutil, vedere Modalità Dettagli del file Eseutil /M.

Quando eseguire Eseutil /D

In alcuni casi è appropriato eseguire Eseutil /D per deframmentare un database di Exchange, ad esempio nelle situazioni riportate di seguito.

  • Nel database è disponibile una notevole quantità di spazio libero che può essere recuperato e che non sarà riutilizzato.

  • Si sono verificati errori ESE -1018 che influenzano gli indici di un file di database. In questi casi, la deframmentazione non in linea ricrea gli indici ed elimina in modo efficace tale danneggiamento.

  • Un file di database è stato riparato mediante Eseutil /P. Dopo la riparazione, è necessario eseguire la deframmentazione non in linea con Eseutil sul file del database.

  • Si verifica una 'tempesta di posta elettronica' su un file di database della coda che risiede su un server Trasporto Hub o Trasporto Edge di Exchange 2007. Si tratta di una grande quantità di posta che riempie la coda di trasporto più velocemente di quanto il servizio di trasporto riesca a elaborare i messaggi di posta elettronica. Ciò determina il riempimento della coda con la posta e, se necessario, l'espansione del database di coda. Dopo l'elaborazione della 'tempesta di posta elettronica' e l'esecuzione della deframmentazione in linea sul database, rimane una quantità di spazio libero sul database. Per recuperare tale spazio e compattare il database, utilizzare Eseutil /D per eseguire una deframmentazione non in linea del database.

Quando non eseguire Eseutil /D

In alcuni casi non è appropriato eseguire Eseutil /D per deframmentare un database di Exchange, ad esempio nelle situazioni riportate di seguito.

  • La deframmentazione non in linea con Eseutil non deve essere eseguita come una qualunque operazione di manutenzione standard. Exchange esegue di notte una deframmentazione automatica in linea che gestisce la manutenzione quotidiana di Exchange. Per la manutenzione quotidiana, mensile o annuale, non è necessario eseguire una deframmentazione non in linea.

  • La deframmentazione con Eseutil non deve essere eseguita quando il database è in uno stato incoerente.

  • La deframmentazione non in linea con Eseutil non deve essere eseguita nel caso in cui sia disponibile un database nel quale spostare le cassette postali. In tal caso i tempi di inattività per gli utenti finali saranno minori. Durante la deframmentazione non in linea, gli utenti non avranno accesso alle cassette postali. Al fine di ridurre l'impatto per l'utente finale, si consiglia di spostare le cassette postali in un database differente, se disponibile, eseguendo un'operazione di spostamento della cassetta postale. Per ulteriori informazioni, vedere Spostamento di cassette postali.

  • La deframmentazione non in linea con Eseutil non deve essere eseguita se sono presenti errori ESE -1018 che influenzano la parte di dati di un file di database. In questi casi, la deframmentazione non in linea rileverà l'errore e non proseguirà.

Per ulteriori informazioni

Per ulteriori informazioni su Eseutil, vedere i seguenti argomenti: