Recuperando mailboxes de usuários quando a utilização do Recovery Storage Group não é possivel


Por: Rodrigo Sorbara / Revisado por: Viviane Lopes

Introdução

Há algum tempo trabalhamos em um incidente de suporte em que o cliente tentava recuperar uma caixa postal que não mais possuía associação com uma conta de usuário no Active Directory utilizando o backup de um banco de dados e o Recovery Storage Group (RSG). Assim como sua conta de usuário, sua caixa postal original também já não estava mais presente em nenhum dos bancos de dados de produção.

Neste artigo veremos como recuperar caixas postais neste tipo de cenário e porque o uso do RSG não é possivel .

O que acontece durante o processo de criação de caixas postais?

Para entender como funciona o processo de recuperação de caixas postais utilizando o RSG, primeiro é preciso assimilar o que acontece quando essas são criadas e associadas a uma conta de usuário no AD.

Durante o processo de criação de uma caixa postal, diversos atributos que foram anteriormente adicionados à partição de Schema do Active Directory durante a instalação do Exchange são estampados no objeto referente à conta de usuário relacionada.

O mais importante desses atributos é o MsExchMailboxGUID, responsável por manter a associação (link) entre uma conta de usuário e a caixa postal a qual este é dono.

Detalhes sobre a adição de uma database á um RSG

Quando adicionamos uma database abaixo de um RSG, o atributo DN (Distinguished Name) do banco de dados original é refletido (copiado) no atributo MsExchOrigMDB do banco de dados recém adicionado ao RSG.

Esse atributo, por sua vez, em conjunto com o atributo MsExchMailboxGUID, são consultados no momento que utilizamos o RSG para extrair e mesclar dados em caixas postais originais de usuários.

Para maiores informações sobre o funcionamento do RSG, consulte o artigo KB824126.

O que acontece quando a caixa postal original não e encontrada?

Na ocasião deste incidente de suporte, o cliente tentava extrair dados de uma determinada caixa postal utilizando o backup de um banco de dados montado em um RSG.

No entanto, como a caixa postal original do usuário não existia mais, a tentativa de recuperação dos dados

através da opção Recover Mailbox Data (única opção disponível em um RSG) falhava com o erro abaixo:

Connecting to source server…

The attempt to log on to the Microsoft Exchange Server computer has failed. The MAPI provider failed. Microsoft Exchange Server Information Store ID no: 8004011d-0512-00000000

OBS: Lembrem-se que o caminho (Mailbox Store) consultado durante a tentativa de abertura da caixa postal original é sempre o valor populado no atributo MsExchOrigMDB.

Quando temos uma falha durante a tentativa de recuperação de uma caixa postal através do RSG, precisamos verificar se a conta de usuário que está sendo utilizada possui permissões de “Send As” e “Receive As” no banco de dados onde a caixa postal original reside e se ela ainda está presente na mesma localidade de quando o backup foi executado.

Se esta caixa tiver sido movida para outro Mailbox Store, teremos então que utilizar a ferramenta ADSIEDIT para copiar o atributo Distinguished Name (DN) referente ao banco de dados que atualmente a contém e espelhá-lo (colá-lo) no atributo MsExchOrigMDB referente ao objeto database que encontra-se no RSG.

Maiores informações podem ser encontradas nos artigos listados na seção “Referências” no final deste artigo.

Agora você deve estar se perguntando:

“Afinal… O que devemos fazer quando temos o backup de uma caixa postal, mas não temos mais qualquer associação com uma conta de usuário no AD e/ou sua caixa postal original?”

Para recuperarmos dados de uma caixa postal á partir de um backup de um banco de dados, temos que basicamente reconectá-la a uma nova conta de usuário no AD, ou seja, estampar o atributo MsExchMailboxGUID novamente para que tanto o AD como o Exchange saibam que esta caixa postal possui um novo dono.

Para atingir este objetivo siga um dos métodos abaixo:

Método 1

  1. Crie uma nova conta de usuário no Active Directory utilizando um nome aleatório. Importante: Não crie uma nova caixa postal, somente a conta de usuário
  2. Desmonte o banco de dados montado no RSG e confirme que essas estão em estado de Clean Shutdown através do comando ESEUTIL /MH <Nome_do_EDB> e ESEUTIL /MH <Nome_do_STM>
  3. Crie um novo Storage Group e um Banco de Dados (mas não faça o “Mount”) usando um nome aleatório para não interferirmos no backup de transaction logs dos SG’s que contêm databases de produção.
    Por exemplo: Ordinary SG e Ordinary MBX Store
  4. Mova ou copie os arquivos de base EDB e STM ainda presentes na pasta do RSG para a pasta do Ordinary SG. O caminho padrão será: C:\Program Files\Exchsrvr\Ordinary SG
  5. Renomeie os arquivos EDB e STM fazendo com que esses reflitam o nome do Mailbox Store recém criado (Ordinary MBX Store.edb e Ordinary MBX Store.stm)
  6. Clique com o botão direito sobre o Banco de Dados recém criado, navegue até a guia Database, marque a opção “This database can be overwritten by a restore” e clique em OK
  7. Monte o Banco de Dados, navegue até o subcontainer Mailboxes, clique com o botão direito na caixa postal que será recuperada, selecione a opção Reconnect, localize a conta de usuário que foi criada no passo número 1 e clique em OK
  8. Utilize a ferramenta Exmerge ou o próprio cliente Microsoft Outlook para extrair dados desta caixa postal para um arquivo PST

Caso tenha dúvidas quanto a este método, assista ao vídeo abaixo:

Método 2

  1. Siga os passos de 1 a 3 referentes citados no método anterior
  2. Caso não possa mover os arquivos de base para outro disco ou o espaço em disco seja limitado, utilize a ferramenta ADSIEDIT para editar os atributos MsExchEDBFile and MSExchSLVFile apontando para as bases que já estão presentes abaixo da pasta relacionada ao RSG (o caminho padrão é C:\Program Files\Exchsrvr\Recovery Storage Group)
  3. Utilize os passos de 6 a 8 do método anterior

Segue abaixo um vídeo que ilustra melhor os passos supracitados:

Importante: Para conseguirmos fazer o “Mount” de um banco de dados com sucesso, precisamos ter certeza que o nome da Organização e Grupo Administrativo são os mesmos de quando o backup deste foi criado.

O atributo LegacyExchangeDN também deve conter o mesmo nome, caso contrário a operação de “Mount” de um determinado banco de dados falhará. No entanto, é seguro utilizar SG’s e pastas diferentes visto que um banco de dados só faz a verificação dos três atributos já citados durante a operação de “Mount”; maiores detalhes podem ser encontrados aqui.

Espero que vocês tenham gostado do artigo, até a próxima! J

Referências:

· How to Change the msExchOrigMDB Attribute Using ADSI Edit

· How the Recovery Database Links Back to the Original Database

· Exchange Server 2003 SP1 Recover Mailbox Data Feature

· How to use Recovery Storage Groups in Exchange Server 2003

· Recovering Deleted Items or Purged Mailboxes Using a Recovery Storage Group in Exchange Server 2003

· Moving an Exchange Mailbox Database to Another Server or Storage Group

Comments (1)

  1. Denis Kawaguchi says:

    É isso aí Sorba!

    Um belo artigo, com vídeo demonstrativo e tudo.

    Tou gostando de ver!

    Um abraço, meu camarada!