In una normale giornata lavorativa, potreste scoprire che alcuni o tutti gli utenti del server Exchange non sono in grado di inviare o ricevere e-mail e nemmeno di accedere alla propria casella di posta elettronica. Dopo aver esaminato il problema, si nota che i database delle caselle di posta non sono montati. Quando si cerca di montare i database, si ottiene un errore, come indicato di seguito.
Impossibile montare il database specificato. Database specificato: Mailbox Database Exchange; codice di errore: Un'operazione di Active Manager non è riuscita. Errore: L'azione del database non è riuscita. Errore: Operazione fallita con messaggio: MapiExceptionDatabaseError: Impossibile montare il database. (hr=0x80004005, ec=1108) Contesto diagnostico: Lid: 65256 Lid: 10722 StoreEc: 0x454 Lid: 1494 -- Contesto remoto Beg -- Lid: 45120 dwParam: 0x569817 Lid: 57728 dwParam: 0x56995F Lid: 46144 dwParam: 0x569A97 Lid: 34880 dwParam: 0x569A97 Lid: 34760 StoreEc: 0xFFFFFE0B Lid: 46144 dwParam: 0x56A13F Lid: 34880 dwParam: 0x56A13F Lid: 54472 StoreEc: 0x1388 Lid: 42184 StoreEc: 0x454 Lid: 1750 -- Fine contesto remoto -- Lid: 1047 StoreEc: 0x454 [Database: Mailbox Database Exchange, Server: R-FS1.webrooster.local].
In questa situazione, la prima cosa da fare è controllare la memoria del disco. Di solito, l’errore “Impossibile montare il database” (“hr=0x80004005, ec=1108) viene visualizzato quando la memoria del disco è piena. Se il database e i registri sono su dischi separati, è possibile controllare entrambe le unità. Se l’unità del database è piena, è necessario estendere la memoria o spostare il database su un’unità più grande. Non è possibile comprimere il database perché è già in formato compresso.
Se la posizione del registro è piena, il colpevole potrebbe essere un software antivirus che interferisce con il backup oppure i backup non eseguono correttamente il backup del database di Exchange e l’epurazione dei database. Un altro motivo per cui i file di registro non vengono eliminati è che il software di backup non è compatibile con l’applicazione o con Exchange Server. In questo caso, è necessario spostare i file di registro in un’altra posizione con maggiore spazio di archiviazione o aumentare lo spazio su disco se il server è una macchina virtuale.
Se il database non è ancora in grado di essere montato, dopo aver aumentato lo spazio, è necessario verificare se il database è danneggiato o meno. A tale scopo, utilizzare lo strumento ESEUTIL.
Eseguendo il comando seguente, è possibile identificare lo stato del database.
EseUtil /MH <your edb file path>
Se il database si trova in stato di arresto sporco, ci si potrebbe trovare in una situazione un po’ complicata, poiché il database potrebbe essere danneggiato o potrebbe mancare un file di registro.
In questo caso, è possibile utilizzare EseUtil per eseguire un ripristino soft o un ripristino hard. Tuttavia, non è garantito che il database venga montato in seguito.
Per prima cosa, è necessario eseguire il comando seguente per identificare i registri richiesti,
eseutil /ml <Log path location>.
Una volta ottenuto il numero di registro, solitamente E00, è necessario utilizzare il parametro R per avviare un soft recovery:
Eseutil /r e00 /l <Log path location>/d <Database path location>
In questo modo si avvia il processo di ripristino. A seconda delle dimensioni e dei danni subiti dal database, il processo richiederà del tempo. Una volta terminato, è necessario eseguire nuovamente il comando Eseutil con il parametro / MH per verificare lo stato del database. Se lo stato del database è sano, sarà possibile montare il database.
Se lo stato di spegnimento sporco persiste, avete due possibilità:
- Ripristino del server dal backup e perdita di tutti i dati dell’ultimo backup
- Eseguire un processo di recupero duro
ATTENZIONE: se si esegue il ripristino rigido, è necessario accettare la perdita di dati poiché il processo elimina i dati danneggiati, indipendentemente dalla quantità. D’altra parte, dopo aver eseguito questo processo, Microsoft non fornirà assistenza. Questo perché quando un database viene recuperato con il recupero rigido, alcune informazioni vengono codificate in modo rigido. Quando Microsoft se ne accorge, rifiuta di fornire assistenza.
Per eseguire il ripristino rigido, eseguire il comando seguente:
Eseutil /P <Database file location full path>.
Una volta eseguito, l’utente verrà avvisato della perdita di dati e dovrà accettarlo prima di procedere. Questo recupero deve essere utilizzato come ultima risorsa.
Una volta fatto, si otterrà una schermata come quella riportata di seguito.
È necessario eseguire nuovamente EseUtil con il parametro MH per verificare se lo stato del database è sano. Se il database è sano, sarà possibile montarlo.
La soluzione facile
La soluzione manuale di cui sopra richiederà una notevole quantità di tempo, senza sapere se riuscirà a risolvere il problema. Tuttavia, è disponibile una soluzione semplice. È possibile utilizzare il miglior software di recupero di Exchange – Stellar Repair for Exchange che può aprire qualsiasi versione del database di Exchange Server. Se il database è danneggiato, è possibile creare un nuovo database e spostare gli utenti su di esso con una casella di posta vuota. È possibile allegare il file EDB a Stellar Repair for Exchange ed esportare tutte le caselle postali nel nuovo database di Exchange Server. Questa soluzione consente di ripristinare il servizio in pochissimo tempo, senza processi di ripristino complessi.