Modo de desfragmentação do Eseutil /D

 

Aplica-se a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Tópico modificado em: 2009-03-16

Você pode usar a opção Exchange Server Database Utilities (Eseutil.exe) /D para desfragmentar e compactar um banco de dados offline. A opção de desfragmentação torna contíguo o armazenamento utilizado, elimina o armazenamento não utilizado e compacta o banco de dados, o que reduz o tamanho do arquivo de banco de dados.

Para obter instruções sobre como usar a sintaxe do Eseutil /D, consulte Como executar o Eseutil /D (Desfragmentação).

Durante as operações normais, os arquivos de banco de dados nunca são reduzidos abaixo de seus tamanhos atuais. À medida que o espaço no banco de dados é liberado pela exclusão de itens, as páginas existentes são reutilizadas onde for possível. Geralmente, um banco de dados do Microsoft Exchange Server crescerá por vários meses depois de ser colocado em serviço, mas, por fim, o tamanho do banco de dados se estabiliza.

Sob condições normais, a execução de uma desfragmentação offline não recupera permanentemente espaço em disco significativo. O arquivo tenderá a crescer novamente para o seu tamanho anterior à desfragmentação.

Como funciona a desfragmentação do Eseutil

Como parte do processo de desfragmentação, o Eseutil cria 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 será excluído ou salvo em um local especificado pelo usuário e a nova versão será renomeada como a original. Se a ferramenta encontrar um registro incorreto, ela parará e exibirá uma mensagem de erro.

Quando uma desfragmentação offline é executada, o Exchange cria uma cópia temporária do arquivo do banco de dados. As tabelas do arquivo de banco de dados são preservadas e copiadas no banco de dados temporário, mas as páginas vazias são descartadas e os índices são recriados. Como essa ação faz com que os números de página física do banco de dados sejam alterados, as páginas não são copiadas inalteradas. Os links de página entre as páginas são todos atualizados e todas as páginas mantidas no banco de dados passam por verificações de integridade.

Tempo necessário para desfragmentar um banco de dados

O tempo necessário para concluir a desfragmentação depende do espaço vazio contido no banco de dados e não do tamanho do arquivo de banco de dados. Por exemplo, a desfragmentação de um banco de dados de 100 GB (gigabytes) contendo 10 GB de dados demora aproximadamente o mesmo tempo que a desfragmentação de um banco de dados de 11 GB contendo 10 GB de dados.

Por padrão, depois que a desfragmentação for concluída, o banco de dados temporário se torna automaticamente o novo banco de dados de produção e o arquivo de banco de dados de produção original é excluído. O tempo tomado pela desfragmentação poderá ser significativamente reduzido se você tiver a uma quantidade de espaço livre nas mesmas unidades lógicas igual ao tamanho dos arquivos do banco de dados original. Nesse caso, o banco de dados temporário pode ser colocado na mesma unidade lógica e a cópia final será concluída quase instantaneamente.

Não é recomendável utilizar uma unidade de rede para conter o banco de dados temporário. Ao usar uma unidade de rede para o banco de dados temporário, a desfragmentação levará mais tempo e qualquer erro de rede transitório ou permanente encerrará o processo de desfragmentação. Como a desfragmentação não pode ser reiniciada, você deverá iniciá-la do começo.

Dica

O espaço extra em disco necessário na unidade lógica é equivalente ao tamanho final dos arquivos após a desfragmentação. Embora seja impossível prever exatamente quanto espaço em disco será exigido, deixe o valor recomendado de 110% de espaço livre na unidade de disco.

Como determinar a quantidade de espaço livre em um banco de dados

A quantidade de espaço livre disponível em um arquivo de banco de dados do Exchange será exibida em um evento registrado no log de eventos depois que uma desfragmentação online do banco de dados for executada. A desfragmentação online é executada automaticamente durante a manutenção normal do banco de dados. Além disso, o evento é registrado no log de eventos, mesmo se o nível de log associado estiver definido como Nenhum. Para bancos de dados de caixa de correio ou de pasta pública, um evento semelhante ao evento a seguir é registrado no log de eventos: 

Tipo de Evento: Informações

Origem do Evento: Armazenamento de Caixa de Correio MSExchangeIS

Categoria do Evento: Geral

ID do evento: 1221

Data: 8/16/2006

Hora: 9:15:00

Usuário: N/D

Computador: Nome do Computador:

Descrição: O banco de dados "grupo_de_armazenamento\banco_de_dados_de_caixa_de_correio" tem nnn megabytes de espaço livre depois que a desfragmentação online foi concluída.

Dica

No Exchange Server 2007, a descrição da mensagem 1221 da ID de evento contém o seguinte texto: O banco de dados "grupo_de_armazenamento\banco_de_dados_de_caixa_de_correio" tem nnn megabytes de espaço livre depois que a desfragmentação online foi concluída. Grupo_de_armazenamento é o nome do grupo de armazenamento, banco_de_dados_de_caixa_de_correio é o nome do banco de dados de caixa de correio e nnn é a quantidade de espaço livre disponível em megabytes. O Nome do Computador é o nome do computador do Exchange Server.

Para bancos de dados de filas (bancos de dados de transporte que residem nas funções de servidor Transporte de Borda ou Transporte de Hub do Exchange), um evento semelhante ao seguinte é registrado no log de eventos:

Tipo de Evento: Informações

Origem do Evento:MSExchangeTransport

Categoria do Evento: Componentes

ID do evento: 7007

Data: 8/16/2006

Hora: 01:00:02

Usuário: N/D

Computador: Nome do Computador:

Descrição: A desfragmentação online foi concluída para o banco de dados mail.que. O banco de dados tem nnn bytes livres.

Dica

Na descrição anterior, nnn é a quantidade de espaço livre disponível em bytes. O Nome do Computador é o nome do computador do Exchange Server.

Outro método para determinar a quantidade de espaço livre é executar um despejo de espaço com o Eseutil /ms em um arquivo de banco de dados offline. (Por exemplo, execute o seguinte comando: eseutil /ms Mailbox Database.edb.) O despejo de espaço fornecerá uma tabela. Na tabela, use o número da coluna Disponível e multiplique-o pelo tamanho da página para determinar o espaço livre para o arquivo de banco de dados. Para obter mais informações sobre o modo de despejo do arquivo Eseutil, consulte Modo de descarte do arquivo Eseutil /M.

Quando executar o Eseutil /D

Há inúmeras situações em que é apropriado executar o Eseutil /D para desfragmentar um banco de dados do Exchange. A lista a seguir descreve algumas dessas situações:

  • Há uma quantidade significativa de espaço livre no banco de dados que pode ser recuperada e que não será reutilizada.

  • Há erros ESE -1018 que afetam os índices de um arquivo de banco de dados. Nessas instâncias, a desfragmentação offline recria os índices. A execução de uma desfragmentação offline elimina esse dano com eficácia.

  • Um arquivo de banco de dados foi reparado usando Eseutil /P. Depois de executar o reparo, a desfragmentação offline do Eseutil deverá ser executada no arquivo de banco de dados.

  • Uma tempestade de emails ocorre em um arquivo de banco de dados de filas residentes em um servidor de Transporte de Hub ou de Transporte de Borda do Exchange 2007. Uma tempestade de emails é uma grande quantidade de mensagens de email que preenchem a fila de transporte com mais rapidez do que o serviço de transporte é capaz de processá-las. Esse comportamento faz com que a fila seja preenchida por mensagens e o banco de dados de Filas se expanda quando for necessário. Quando as mensagens da tempestade forem processadas e uma desfragmentação online for executada no banco de dados, algum espaço livre permanecerá no banco de dados. Para recuperar esse espaço livre e reduzir o banco de dados, execute Eseutil /D para realizar uma desfragmentação de banco de dados offline.

Quando não executar o Eseutil /D

Há situações em que não é apropriado executar o Eseutil /D para desfragmentar um banco de dados do Exchange. A lista a seguir descreve algumas dessas situações:

  • A desfragmentação offline do Eseutil não deve ser executada como nenhum tipo de manutenção padrão. O Exchange executa uma desfragmentação online noturna automática que manipula a manutenção diária do Exchange. Para a manutenção diária, mensal ou anual, não há motivo para executar uma desfragmentação offline.

  • A desfragmentação do Eseutil não deverá ser executada quando o banco de dados não estiver em um estado consistente.

  • A desfragmentação offline do Eseutil não deverá ser executada quando houver um banco de dados disponível para o qual as caixas de correio possam ser movidas. Isso reduzirá a inatividade dos usuários finais. Como a desfragmentação offline é feita offline, os usuários não terão acesso às caixas de correio durante a desfragmentação. A fim de reduzir o impacto para o usuário final, recomendamos mover as caixas de correio para um banco de dados diferente, se disponível, executando a operação Mover Caixa de Correio. Para obter mais informações, consulte Movendo caixas de correio.

  • A desfragmentação offline do Eseutil não deverá ser executada quando erros ESE -1018 afetarem a parte dos dados de um arquivo de banco de dados. Nesses casos, a desfragmentação offline detectará o erro e não prosseguirá.

Para obter mais informações

Para obter mais informações sobre o Eseutil, consulte os seguintes tópicos: