Um dos maiores vilões da informática como sabemos, é a queda de energia. Hoje me deparei novamente com uma base do exchange corrompida. O seguinte erro é mostrado no event viewer do servidor.
Event Type: Error
Event Source: ESE
Event Category: Database Corruption
Event ID: 447
Date: 3/16/2010
Time: 7:58:15 AM
User: N/A
Computer: Magi_1-Tokyo3
Description:
Information Store (4372) First Storage Group: A bad page link (error -338) has been detected in a B-Tree (ObjectId: 2009, PgnoRoot: 1583981) of database X:\Program Files\Exchsrvr\MDBDATA\priv1.edb (1583981 => 1631571, 1631576).
For more information, click http://www.microsoft.com/contentredirect.asp.
Para solucionarmos esse problema, temos 2 opções.
1º Restaurar um backup da base e aplicar os logs.
2º Efetuar a reparação da base.
Vamos partir do principio que devido a queda de energia, o backup tambem não tenha sido efetuado, e os logs circulares estejam ativados, e portanto ja foram sobreescritos.
Primeiramente devemos desmontar a base do exchange
- Abrir o Exchange System Manager
- Expandir Adminsitrative Groups
- Expandir <Administrative Group>
- Expandir Servers
- Expandir <Servidor>
- Expandir <Storage Group>
- Botão direito em Mailbox Store e clicar em Dismount Store
Depois, abriremos um prompt de comando e adicionaremos uma variavel path para facilitar o trabalho. Digite o seguinte comando, alterando se necessário o caminho de sua instalação do exchange.
set path=%path%;C:\program files\Exchsrvr\bin
Acesse a pasta onde se encontram os bancos de dados do exchange, por padrão ela estará em:
c:\Program Files\Exchsrvr\MDBDATA\
Agora, basta usar o comando do eseutil para efetuar a repação, mas lembre-se poderá haver perda de alguns dados.
eseutil /P NomedoBanco.EDB
Haverá uma saida como essa.
Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating REPAIR mode...
Database: tokyo3.edb
Streaming File: tokyo3.STM
Temp. Database: TEMPREPAIR6092.EDB
Checking database integrity.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Scanning the database.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Repairing damaged tables.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
..
Deleting unicode fixup table.
Após o termino do reparo, recomendo o uso isinteg para garantir a integridade da base.
isinteg -s Magi_1-Tokyo3 -fix -test alltests
Utilize o isinteg até que o mesmo não acuse mais erros.
