Summary: Il database di Exchange può bloccarsi inaspettatamente se è corrotto, incoerente o danneggiato. Può anche arrestarsi se i servizi di Exchange vengono interrotti o se il supporto di archiviazione su cui sono memorizzati il database o i registri esaurisce lo spazio o non è più sufficiente. In questi casi, deve ripristinare e rimontare il database. A volte è necessario utilizzare un software avanzato di riparazione del database di Exchange per farlo.
Un crash del database in Exchange Server è un problema serio che impedisce agli utenti di accedere alle loro caselle di posta elettronica o di inviare e ricevere e-mail. Se non viene risolto, può causare tempi di inattività imprevisti e perdita di dati.
Questo può essere causato da un problema di fondo del suo Exchange Server o da ragioni generali come un arresto improvviso o un crash, un’intrusione di malware o virus, un’interruzione di corrente, ecc.
In questo blog la aiutiamo a risolvere il logout inatteso del database su Exchange Server 2010, 2013, 2016 e 2019.
Correggere l’errore quando si smonta inaspettatamente la copia del database
Se il logout inatteso del database di Exchange dal server si verifica frequentemente, dovrebbe innanzitutto controllare il Visualizzatore eventi.
Ordini gli eventi per fonte MSExchangeIS sotto Applicazione e cerchi gli errori con ID 1001, 1002 o 4999 come di seguito:
Nome del registro: Applicazione
Fonte: MSExchangeIS
ID evento: 1001
Categoria di attività: Generale
Livello: Errore
Si è verificato un errore logico interno nell’Archivio informazioni di Microsoft Exchange Server. Il testo dell’errore interno è (Impossibile applicare l’inserto di manutenzione, corruzione dell’indice?
Nome del registro: Applicazione
Fonte: MSExchangeIS
ID evento: 1002
Categoria attività: Generale
Livello: Errore
Eccezione non gestita (Microsoft.Exchange.Diagnostics.ExAssertException: ASSERT: L’inserto di manutenzione non può essere applicato, l’indice è danneggiato?
Nome del registro: Applicazione
Fonte: MSExchange
ID evento
generale
:
4999
Categoria di attività:
Livello
generale
: Errore
Il rapporto Watson sta per essere inviato per l’ID del processo: 11204, con i parametri: E12, c-RTL-AMD64, 15.00.0712.024, M.E.Store.Worker, M.E.S.Storage.LazyIndexing,
M.E.S.L.LogicalIndex.HandleIndexCorruptionInternal, M.E.Diagnostics.ExAssertException, 213a, 15.00.0712.000. ErrorReportingEnabled: Vero
Se trova l’errore, è possibile che il servizio Microsoft Exchange Information Store si sia bloccato o interrotto.
In questo caso, può premere Windows+R, digitare services.msc e premere Invio. Quindi cerchi il servizio Microsoft Exchange Information Store. Infine, faccia clic con il tasto destro del mouse sul servizio e selezioni Avvia o Riavvia.
Quindi monta il database utilizzando il cmdlet Mount-Database nella Shell di gestione di Exchange o nell’interfaccia web dell’Exchange Admin Centre (EAC).
Tuttavia, se questo problema si verifica frequentemente o ogni volta che esporta una cassetta postale, potrebbe essere necessario riparare il suo Exchange Server o aggiornarlo all’ultimo aggiornamento cumulativo. Questo potrebbe risolvere il problema della chiusura inaspettata del database di Exchange.
Può anche seguire le soluzioni elencate di seguito per cercare di risolvere il problema della terminazione inattesa del database di Exchange.
Disattivare l’indicizzazione
Può anche provare a disattivare l’indicizzazione. In questo modo, può verificare se l’indice è danneggiato. Se questo è il caso, potrebbe influenzare il suo database e causare cancellazioni inaspettate.
Disattivare l’indice significa che ogni query di ricerca è lenta e ha un impatto negativo sulle prestazioni del database.
Per disattivarlo, può utilizzare il cmdlet PowerShell Set-MailboxDatabase nella Shell di gestione di Exchange.
Tuttavia, prima di iniziare, deve verificare le prestazioni del server. Verifichi se sono stati installati di recente degli aggiornamenti e li elenchi. Verifichi anche se sono state apportate modifiche al server in termini di software di terze parti, come l’antivirus o il software di backup e, naturalmente, verifichi le condizioni generali del server.
Set-MailboxDatabase "EX01DB01" -IndexEnabled $False
Per riattivare l’indice in un secondo momento, può eseguire il comando precedente con il parametro $True alla fine del comando (sostituisce $False).
Un’altra opzione è quella di interrompere il servizio Microsoft Exchange Search. Può utilizzare il seguente cmdlet PowerShell.
Stop-Service MSExchangeFastSearch Set-Service MSExchangeFastSearch -StartupType Disabled
Per annullare questo, deve utilizzare la console di servizio per impostare l’avvio su automatico o avviare il servizio. Può farlo in PowerShell come segue.
Set-Service MSExchangeFastSearch -StartupType Automatic Avvio del servizio MSExchangeFastSearch
Può anche utilizzare la console Servizi per arrestare il servizio Microsoft Exchange Search. Si assicuri di contrassegnarlo come disattivato, in modo che non si avvii automaticamente.
Attenda qualche tempo e verifichi se il problema si ripresenta.
Se questo non è il caso, può provare a reindicizzare il database. Per farlo, interrompa i servizi Microsoft Exchange Search e Microsoft Exchange Host Responsible.
Il passo successivo è eliminare la cartella del catalogo CI esistente o spostarla in un’altra posizione.
Quindi riavvii i servizi nel seguente ordine:
- Servizio di ricerca di Microsoft Exchange
- Responsabile dell’host di Microsoft Exchange
A seconda delle dimensioni del suo database e del numero di caselle postali/email, questa operazione potrebbe richiedere del tempo.
Spostare le caselle postali in un altro database
Se il problema persiste, dovrebbe provare a spostare le caselle postali in un altro database. Ad esempio, può spostare le caselle postali in un altro database esistente o creare un nuovo database per spostare le caselle postali.
Questo è necessario perché il database potrebbe essere danneggiato, il che potrebbe portare a cancellazioni inaspettate.
Può utilizzare lo strumento nativo EseUtil sul server Exchange per riparare il database danneggiato e quindi spostare le caselle postali in un database nuovo o esistente.
Lo spostamento è importante perché se si esegue EseUtil contro un database, il parametro per il conteggio delle riparazioni aumenta da 0 a 1.
Se ha mai contattato l’assistenza Microsoft e ha scoperto che il numero è maggiore di 0, non cercherà di risolvere il problema ma suggerirà di passare a un altro database.
Segua questi passaggi:
- Esegua il seguente comando per verificare lo stato del database
EseUtil /mh <PercorsoDatabase.edb>
- Controlli le prospettive per il valore Stato:. Se lo stato del database è Arresto pulito, può saltare lo spostamento delle cassette postali. Se lo stato è Arresto sporco, esegua il seguente comando per eseguire un recupero dati soft.
Eseutil /r E01 /l <percorso al registro>/d <percorso al database>.
- Verifichi nuovamente lo stato del database con il seguente comando.
EseUtil /mh <PercorsoDatabase.edb>
- Se lo stato è visualizzato come Arresto pulito, può montare il database con EAC e quindi spostare le caselle postali dal database ripristinato a un nuovo database seguendo questi passaggi.
NOTA: se lo stato è ancora un arresto sporco, può eseguire un recupero dei dati (EseUtil /p). Tuttavia, questo può comportare una perdita di dati, in quanto i dati irrecuperabili verranno eliminati. Utilizzi invece il software Exchange Recovery per ripristinare tutte le caselle postali dal vecchio ad un nuovo database sul suo Exchange Server.
Per passare a un altro database, proceda come segue:
- Apra l’EAC, clicchi su Ricevitore e poi su Migrazione.
- Clicchi sul pulsante + e faccia clic su Sposta in un altro database.
- Aggiunga gli utenti che desidera spostare e clicchi su Avanti.
- Inserisca un nome per la migrazione e selezioni il database di destinazione per la mailbox e l’archivio.
- Selezioni anche la modalità di migrazione – solo mailbox o archivio, se disponibile.
- Inserisca il limite per gli articoli difettosi. Questo limite significa che il processo viene interrotto se vengono trovati 10 errori (predefiniti) nel database.
Quindi selezioni un destinatario che dovrà ricevere il rapporto di notifica al termine della migrazione. Una volta fatto questo, avvii la migrazione. Può vedere il progresso nell’EAC o attendere di ricevere la notifica via e-mail.
Attenda il completamento della sincronizzazione (migrazione). Dopo che le caselle postali sono state spostate, può controllarle ed eliminare il database che è stato inaspettatamente deregistrato.
Considerazioni finali
Se il problema con il database delle caselle di posta si interrompe inaspettatamente, deve controllare il database, ripristinarlo se necessario e poi spostare le caselle di posta in piccoli lotti in un nuovo database. Questo è importante per evitare che il processo di migrazione venga annullato se il database problematico si interrompe inaspettatamente durante la sincronizzazione. In questo caso, deve riavviare il processo.
In alternativa, utilizzi la richiesta New-MailboxExportRequest per esportare le caselle di posta elettronica dal database che è stato inaspettatamente smantellato in file PST. Quindi utilizzi la New-MailboxImportRequest per importarle nel nuovo o in un altro database.
Tuttavia, questo può essere un compito che richiede molto tempo, oltre ai problemi che potrebbe incontrare.
La soluzione migliore per riparare il database con integrità completa e spostare le caselle postali dal database Exchange corrotto a un nuovo database è utilizzare un software di recupero di Exchange Server come Stellar Repair for Exchange.
Il software può aprire qualsiasi file EDB con qualsiasi grado di danno o corruzione. La aiuta a ripristinare rapidamente le caselle di posta elettronica e a trasferirle in nuovi file PST. Può anche esportarle direttamente in un nuovo database su un Exchange Server live o su un tenant di Office 354. Il programma mappa automaticamente le caselle postali di origine e di destinazione e utilizza una tecnica di elaborazione parallela per un’esportazione più rapida.