No Exchange Server 2010 MailboxDatabases crescem em tamanho à medida que os dados dentro deles cresce. Mas eles nunca vão diminuir quando os dados são removidos.

Por exemplo, se você tiver um arquivo de banco de 20Gb e mover 4 Gb de caixas de correio para outro banco de dados, o arquivo permanecerá em 20Gb.

No entanto, o próprio banco de dados terá 4Gb de “espaço branco” nele, que é o espaço que está disponível para novos dados a serem escritos sem aumentar o tamanho do arquivo.

Determinando espaço livre no Exchange 2010 Mailbox DataBase

No Exchange 2010 você pode ver o tamanho dos bancos de dados de caixa de correio, e quanto espaço em branco que eles têm, executando o seguinte comando no Exchange Management Shell.

[PS] C:\>Get-MailboxDatabase -Status | ft name,databasesize,availablenewmailboxspace -auto

Name             DatabaseSize                    AvailableNewMailboxSpace
----             ------------                    ------------------------
MB-HO-01         18.26 GB (19,604,766,720 bytes) 9.544 GB (10,247,766,016 bytes)
MB-HO-02         15.63 GB (16,785,670,144 bytes) 3.696 GB (3,968,761,856 bytes)
MB-HO-Archive-01 648.1 MB (679,542,784 bytes)    134.6 MB (141,164,544 bytes)

No exemplo acima, o banco de dados MB-HO-01 é 18.26Gb, mas tem 9.544Gb espaço em branco devido ao arquivamento de que tenha ocorrido. Se você quiser recuperar o espaço em disco, em seguida, o arquivo pode ser reduzido usando Eseutil para desfragmentar ele.

Neste exemplo vou demonstrar como fazer o defrag de um Mailbox Database de um único servidor Exchange 2010 MailboxServer que não Seja Membro de um DAG.

Preparando para executar uma desfragmentação de um Mailbox Database no Exchange 2010.

A primeira coisa e estar ciente de quando planejar uma desfragmentação é que você pode executar essa tarefa somente quando o banco de dados está desmontado. Isto significa que os usuarios não poderão acessar seu e-mail enquanto você estiver desfragmentando a base.

A segunda coisa é verificar o espaço em disco do servidor disponível para executar a desfragmentação. Isto porque um novo arquivo é gravado durante o processo de desfragmentação, então, por um periodo, tanto os arquivos antigos e novos vai existir, assim como um arquivo temporário que o eseutil cria.

Assim, para planejar o defrag de um Mailbox database do Exchange 2010 você precisa de uma quantidade equivalente de espaço livre para 1,1 x o tamanho previsto do novo arquivo.

Neste exemplo, que seria:

18.26 – 9.544 = 8.7

8.7 x 1.1 = 9.57

Em outras palavras, eu vou precisar cerca de 10GB de espaço livre em disco para executar o defrag. Como eu não tenho tanto espaço livre no disco igual ao do banco de dados vou precisar especificar em um local diferente, um espaço temporario, para quando eu executar o Eseutil. Isto pode ser outra unidade local ou um caminho UNC, basta estar ciente de que, se você estiver usando um caminho UNC, a desfragmentação levará mais tempo devido a latência da rede.

Usando o ESEUtil para desfragmentar um MailboxDatabase no Exchange 2010.

Abra o Exchange Management Shell e va até a pasta onde está o MailboxDatabase.

cd D:\Data\MB-HO-01

Desmontar a mailbox database.

Dismount-Database MB-HO-01

Rode o comando ESEUtil para desfragmentar o file.

[PS] D:\Data\MB-HO-01>eseutil /d MB-HO-01.edb /t\\testserver\defrag\temp.edb

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating DEFRAGMENTATION mode...
            Database: MB-HO-01.edb

                  Defragmentation Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................

Moving '\\testserver\defrag\temp.edb' to 'MB-HO-01.edb'...
                     File Copy Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................

Note:
  It is recommended that you immediately perform a full backup
  of this database. If you restore a backup made before the
  defragmentation, the database will be rolled back to the state
  it was in at the time of that backup.

Operation completed successfully in 3788.218 seconds.

Montar a base novamente.

mount-Database MB-HO-01

Agora você pode ver que o arquivo é menor, e todo o espaço em branco se foi.

Get-MailboxDatabase -Status | ft name,databasesize,availablenewmailboxspace -auto

Name             DatabaseSize                    AvailableNewMailboxSpace
----             ------------                    ------------------------
MB-HO-01         8.328 GB (8,942,190,592 bytes)  5.219 MB (5,472,256 bytes)
MB-HO-02         15.63 GB (16,785,670,144 bytes) 3.696 GB (3,968,761,856 bytes)
MB-HO-Archive-01 648.1 MB (679,542,784 bytes)    134.6 MB (141,164,544 bytes)

Agora que o ESEutil foi concluido, você deve executar um backup completo do banco de dados na sua próxima janela de backup.

Um Abraço e até a proxima.

Marcelo Nogueira.