Exchange Server 2013 – Funções básicas do Eseutil

O Bancos de Dados do Exchange utiliza um mecanismo chamado ESE (Extensible Storage Engine). O banco de dados do Exchange é divido em três níveis:

Nível de página: O arquivo contém uma série ordenada de páginas, utilizando uma estrutura organizativa comum. Cada página tem informações de cabeçalho da página e dados da página.

Nível de Tabela ESE:   Grupos de páginas formam tabelas que são gerenciados pelo mecanismo de banco de dados ESE. Um banco de dados típico do Exchange contém milhares de tabelas individuais.

Nível de aplicativo:    ESE é um banco de dados de uso geral que pode ser utilizado por diferentes aplicações. Por exemplo, o Exchange e o serviço de diretório do Active Directory usam ESE.

Eseutil é uma ferramenta de linha de comando que funciona com o mecanismo de armazenamento extensível (ESE), banco de dados (.edb), arquivos de fluxo contínuo (.stm) e arquivos de log (.log).

Abaixo a lista de tarefas administrativas que podem ser usadas com a ferramenta Eseutil:

  • Desfragmentação 
  • Reparação 
  • Recuperação 
  • Integridade 
  • Arquivo de despejo
  • Checksum
  • Cópia de Arquivo

Nesse post iremos trazer alguns exemplos e cenários mais comuns para o uso do utilitário Esetuil.

Todos os procedimentos executados com a ferramenta eseutil devem ser executados com o Database desmontado.

Para dismontar um Mailbox Database utilizamos o comando:

Dismount-Mailbox -identity DB01

Validando espaço livre no Mailbox Database

Quando um item é removido do mailbox de um usuário, um espaço em branco será mantindo no Mailbox Database, esse espaço só é reocupado após uma desfragmentação do banco. Para descobrirmos quanto espaço livre temos, podemos utilizar a opção /MS conforme imagem abaixo:

Capturar

Nesse Mailbox Database temos 7 MB de espaço livre.

Banco de Dados com desligamento anormal “dirty shutdown”

Em alguns casos de backup de Exchange server, um banco de dados pode ser restaurando com a opção “dirty shutdown”, com essa opção não conseguimos montar o banco de dados. Para isso utilizamos o procedimento abaixo.

Nesse exemplo temos um banco de dados restaurando, o arquivo do banco de dados foi restaurada na pasta E:\Restore\DB e os logs na pasta E:\Restore\Logs.

Passo 01: validar estado do Mailbox Database MB.edb.Capturar

Passo 02: Executar o comando Eseutil com a opção /R – Modo recuperação, com as opções:

E00 - prefixo dos logs que foram restaurados.
/l - informar o caminho da pasta onde estão os logs.
/d - especificar o caminha da pasta onde esta o arquivo .edb

Capturar

Passo 03: validar estado do Database.

Capturar

Com o estado do  Mailbox database “Clean Shutdown” podemos montar o database normalmente. Esse procedimento realizado é conhecido como restauração suave (soft recovery). Em alguns casos não sendo suficiente para alterar o estado do database, sendo necessário realizar uma restauração difícil (Hard Recovery).

Uma restauração Hard Recovery pode ocasionar em perda de dados.

Passo 01: rodar comando para recuperação difcil.

Capturar

Validando Logs comitados no database

Os Logs de transação dos bancos de dados do Exchange Server 2013 registram todas as alterações em um banco de dados. Um arquivo de log possui um nome sequencial normalmente iniciado com E00 e com a extensão .log.

Logs são comitados no Database automaticamente quando o Circular logging estiver habilitado para o Mailbox Database, oque não é recomendado, ou quando um backup full é realizado para o Database. Algumas ferramentas de backup apagam automaticamente os logs que já foram comitados no database, já que os mesmos não são mais necessários, porém podemos encontrar cenários que a pasta Log está enorme.

Para isso podemos utilizar a ferramenta eseutil validando qual o último log comitado no database e executando uma remoção manual dos Logs.

Passo 01: Desmontar o Mailbox Database:

Capturar

Passo 02: validar o estado do database:

Capturar

Caso o database não esteja com o estado Clean Shutdow, repita os passos do cenário anterior.

Passo 03: validar qual foi o último log comitado.

Capturar

Nesse caso, o log com o final 0x10C é o primeiro log que não foi comitado, sendo que os logs anteriores podem ser removidos sem impacto para o ambiente.

Desfragmentando Banco de Dados.

.A opção de desfragmentação torna contíguo o armazenamento utilizado, ou seja, elimina o armazenamento não utilizado e compacta o banco de dados reduzindo o seu tamanho.

 Quando Eseutil desfragmenta um banco de dados, eliminando o armazenamento não utilizado e compactando o banco de dados, um novo banco de dados que contém todas as informações do banco de dados original. Quando a desfragmentação for concluída, o banco de dados original é excluído ou salvo em um local especificado pelo usuário, e a nova versão é copiado sobre o original. Com isso precisamos nos atentar a dois pontos:

  1. Precisaremos ter o dobro do espaço em disco para o processo funcionar.
  2. Um novo database será criado, com isso um novo GUID de banco de dados será criado para esse novo database, em ambientes com DAG precisaríamos recriar as cópias para esse novo database.

Vamos ao processo:

Passo 01: Desmontar o Mailbox Database:

Capturar

Passo 02: validar o estado do database:

Capturar

Caso o database não esteja com o estado Clean Shutdow, repita os passos do cenário 01.

Passo 03: Rodar desfragmentação.

Capturar

O Processo de desfragmentação pode levar várias horas, dependendo do tamanho de seu Mailbox Database.

Caso você tenha um ambiente em DAG, clique aqui e verifique o procedimento para desfragmentação de seu Mailbox Database.


Saiba mais sobre o utilitário eseutil.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s