Gerenciar o Log de Crescimento de Banco de Dados Usando o Script Troubleshoot-DatabaseSpace.ps1 no Shell

 

Aplica-se a: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Tópico modificado em: 2016-11-28

O script Troubleshoot-DatabaseSpace.ps1 é usado pelo Microsoft System Center Operations Manager 2007 para detectar e corrigir o crescimento de log em excesso ou de arquivo de banco de dados (.edb) do Microsoft Exchange que, caso não sejam verificados, podem causar tempo de inatividade do banco de dados. Por padrão, o System Center Operations Manager 2007 executa o script a cada 15 minutos. No entanto, você pode usar o Agendador de tarefas para configurar e executar este script a fim de monitorar o crescimento de log e de arquivo do banco de dados.

Dica

Um script deve ser executado a partir da pasta na qual ele reside. Por padrão, os scripts instalados com o Exchange 2010 são instalados em C:\Arquivos de Programas\Microsoft\Exchange Server\V14\Scripts. O Shell não carrega scripts automaticamente. Para executar um script a partir do arquivo local, você deve preceder todos os scripts com ".</STRONG>". Por exemplo, para executar o script SampleScript.ps1, digite .\SampleScript.ps1. Para executar um script e especificar o caminho de instalação padrão, digite "C:\Arquivos de Programas\Microsoft\Exchange Server\V14\Scripts\SampleScript.ps1". Para saber mais, consulte Script com o Shell de Gerenciamento do Exchange.

O script Troubleshoot-DatabaseSpace.ps1 executa as ações a seguir:

  1. Mantém o controle da taxa de geração de logs para os geradores de log mais altos por banco de dados. Isto ajuda a determinar quais usuários estão com registros de log muito pesados e que possivelmente estão causando problemas de espaço.

  2. Mantém o controle do espaço disponível em disco para os arquivos de log e de bancos de dados. Se algum destes estiver quase no limite configurável de se tornar cheio, providências devem ser tomadas.

  3. Mantém controle da taxa de geração de log. Se parecer que o disco vai ficar sem espaço dentro do valor especificado pelo parâmetro HourThreshold (baseado na taxa de geração de log), providências devem ser tomadas.

    Dica

    Para evitar problemas críticos, certifique-se de que o valor do parâmetro HourThreshold é extenso o suficiente para que você tenha tempo de tomar providências dentro do horário comercial normal enquanto há espaço livre disponível. Se as unidades estiverem sendo preenchidas mais rapidamente do que o valor especificado, providências imediatas devem ser tomadas a fim de proteger o disco.

  4. Se todas as condições anteriores forem atendidas, o scrip determinará a lista dos 25 usuários que mais acessaram o banco de dados durante o último período de uma hora. O script então coloca em quarentena as caixas de correio mais usadas para as quais a soma da taxa de geração de log é maior do que a diferença entre a taxa atual de geração e a taxa de geração sustentável que ajudaria no limiar de tempo configurável. Estes usuários ficam em quarentena por seis horas, período em que eles não têm acesso ao email.

  5. Se a solução de problemas não conseguir diminuir a taxa de geração de log para um nível mais baixo do que o limite, ele gravará eventos que se transformarão em alertas de modelo de integridade. Neste ponto, o script remove o banco de dados do provisionamento executando o cmdlet Set-MailboxDatabase com o parâmetro ExcludeFromProvisioning definido como $true em relação ao banco de dados específico. Você talvez tenha que mover as caixas de correio para um novo servidor a fim de reequilibrar o espaço.

  6. Se a solução de problemas colocar mais de 10 usuários em quarentena, isso indica um problema sistemático que você deverá acompanhar. O modelo de integridade acionará um alerta urgente a partir desta condição.

As configurações padrão usadas no script Troubleshoot-DatabaseSpace.ps1 são definidas no script StoreTSConstants.ps1.

Procurando outras tarefas de gerenciamento relacionadas a bancos de dados? Consulte Gerenciando bancos de dados de caixa de correio.

Use o script Troubleshoot-DatabaseSpace.ps1.

Para executar este procedimento, você precisa de permissões. Para ver de que permissões você precisa, consulte o Entrada "Banco de dados de caixa de correio" no tópico Permissões de caixas de correio.

A tabela e o conjunto de sintaxes de parâmetros a seguir listam os parâmetros que podem ser usados para mover caixas de correio específicas.

Troubleshoot-DatabaseSpace.ps1 -MailboxDatabaseName <DatabaseID> [-PercentEdbFreeSpaceThreshold <1-99>] [-PercentLogFreeSpaceThreshold <1-99>] [-HourThreshold <1- 1000000000>] [-Quarantine <switch>] [-MonitoringContext <switch>]
Troubleshoot-DatabaseSpace.ps1 -Server <ServerID> [-PercentEdbFreeSpaceThreshold <1-99>] [-PercentLogFreeSpaceThreshold <1-99>] [-HourThreshold <1- 1000000000>] [-Quarantine <switch>] [-MonitoringContext <switch>]
Parameter Obrigatório Descrição

MailboxDatabaseName

Obrigatório

O parâmetro MailboxDatabaseName especifica o banco de dados de caixa de correio no qual você está monitorando o crescimento de log.

Esse parâmetro aceita os seguintes valores:

  • GUID

  • DN (nome diferenciado)

  • Nome do banco de dados

Dica

Não será possível usar esse parâmetro com o parâmetro Server.

Server

Obrigatório

O parâmetro Server especifica o servidor de Caixa de Correio no qual você está monitorando o crescimento de log para todos os bancos de dados de caixa de correio.

Dica

Não será possível usar esse parâmetro com o parâmetro MailboxDatabaseName.

HourThreshold

Opcional

O parâmetro HourThreshold especifica o número de horas que você pode esperar até que não haja mais espaço disponível. O valor padrão é 12 horas.

MonitoringContext

Opcional

O parâmetro MonitoringContext especifica se os resultados do comando incluem os eventos de monitoramento que serão gravados nos logs de Aplicativo regulares no Visualizador de eventos e no log de Operações. Se este valor não for especificado, os logs de Operações serão gravados no seguinte local no Visualizador de eventos:

Visualizador de Eventos > Logs de Serviço e de Aplicativo > Microsoft-Exchange-Troubleshooters/Operacional.

Não é necessário especificar um valor para este parâmetro.

PercentEdbFreeSpaceThreshold

Opcional

O parâmetro PercentEdbFreeSpaceThreshold especifica a porcentagem do espaço em disco para o arquivo .edb em que o Exchange deve começar a colocar os usuários em quarentena. Por exemplo, se você especificar 10%, o Exchange começará a colocar em quarentena os usuários mais pesados quando o comando detectar que o disco rígido ficará sem espaço disponível por causa do crescimento do arquivo .edb no tempo especificado no parâmetro HourThreshold.

O valor padrão desse parâmetro é de 25%.

PercentLogFreeSpaceThreshold

Opcional

O parâmetro PercentLogFreeSpaceThreshold especifica a porcentagem do espaço em disco para os arquivos de log em que o Exchange deve começar a colocar os usuários em quarentena. Por exemplo, se você especificar 10%, o Exchange começará a colocar em quarentena os usuários mais pesados quando o comando detectar que o disco rígido ficará sem espaço disponível por causa do crescimento do log no tempo especificado no parâmetro HourThreshold.

O valor padrão desse parâmetro é de 25%.

Quarantine

Opcional

O parâmetro Quarantine especifica que usuários pesados serão postos em quarentena. Se este parâmetro não for especificado, os usuários não serão colocados em quarentena.

Não é necessário especificar um valor para este parâmetro.

Exemplo

Este exemplo mostra como se executar o script Troubleshoot-DatabaseSpace.ps1 com as configurações a seguir:

  • Os avisos são definidos em 10% do espaço livre no volume contendo os logs de banco de dados e em 10% de espaço livre no arquivo de banco de dados e no volume que o contém.

  • O limite de hora está definido para 5 horas.

Com estas configurações, se a solução de problemas determinar que o espaço livre no disco rígido será de 10% ou capacidade menor em 5 horas, os usuários mais pesados serão colocados em quarentena.

.\Troubleshoot-databasespace.ps1 -server MBX01 -PercentLogFreeSpace 10 -PercentEDBFreeSpace 10 -HourThreshold 5 -Quarantine

Dica

Este exemplo mostra como executar manualmente uma vez o comando. Para produzir os dados que a solução de problemas precisa monitorar de forma eficiente em seu servidor ou banco de dados, você deve executar este comando várias vezes em intervalos regulares. Recomendamos a utilização do Agendador de tarefas no sistema operacional do Microsoft Windows a fim de configurar esta tarefa. Para mais informações, consulte Visão geral do Agendador de tarefas.

Visualizar a saída da solução de problemas de crescimento de log

No Visualizador de eventos, os resultados do script Troubleshoot-DatabaseSpace.ps1 estarão disponíveis no seguinte local: Visualizador de Eventos > Logs de Serviço e de Aplicativo > Microsoft-Exchange-Troubleshooters/Operacional.

Por exemplo, a seguir está representada a saída do evento ID 5101. Esta saída seria retornada se o script fosse executado com êxito e sem erros.

A solução de problemas de espaço do banco de dados terminou no volume D:\ do banco de dados MBD01 e nenhum problema foi detectado.

Espaço livre na unidade de EDB: 151938752512 B

Espaço livre na unidade de log: 151845265408 B

Limite de espaço livre de EDB: 10%

Limite de espaço livre de log: 10%

Limite de hora: 12 horas

Taxa de crescimento atual: 314572800 B/h

A tabela a seguir exibe a ID e a descrição do evento, além da ação a ser tomada, se necessário.

Dica

As descrições nesta tabela são exemplos das informações que podem estar incluídas nestes eventos.

ID do Evento Descrição Ação

5100

A solução de problemas de espaço do banco de dados foi iniciada no volume D:\ do banco de dados MBD01.

Para fins de informação apenas. Nenhuma ação é necessária.

5101

A solução de problemas de espaço do banco de dados terminou no volume D:\ do banco de dados MBD01. Nenhum problema foi detectado.

Para fins de informação apenas. Nenhuma ação é necessária.

5400

A solução de problemas de espaço do banco de dados terminou no volume D:\ do banco de dados MBD01. O banco de dados está acima do limite de espaço livre. Os usuários foram colocados em quarentena para que não haja falta de espaço.

Evento de aviso: Continue com o monitoramento. Os usuários serão colocados em quarentena por seis horas e não terão acesso à sua caixa de correio.

5401

A solução de problemas de espaço do banco de dados terminou no volume D:\ do banco de dados MBD01. O banco de dados está abaixo do limite de espaço livre, mas não está crescendo a uma taxa incomum. Nenhuma ação foi executada.

Evento de aviso: Continue com o monitoramento.

5410

A solução de problemas de espaço do banco de dados colocou em quarentena a caixa de correio f3bb8007-b6d1-45f5-b748-211d66fa43f6 do banco de dados MBD01.

Evento de aviso: Este evento será criado quando o evento 5400 for criado. Continue com o monitoramento.

5700

A solução de problemas de espaço do banco de dados terminou no volume D:\ do banco de dados MBD01. O banco de dados está acima do limite de espaço livre e continua a crescer. Intervenção manual é necessária.

Este evento de erro indica que o espaço do banco de dados está acima do limite de espaço livre. Execute a ferramenta Exmon (Monitor de Usuários do Microsoft Exchange Server) para manter o controle de usuários ou serviços que estão criando um crescimento excessivo de log. Para mais detalhes, consulte Monitor de Usuários do Microsoft Exchange Server.

5701

A solução de problemas de espaço do banco de dados detectou uma condição de pouco espaço no volume D:\ do banco de dados MBD01. O provisionamento para este banco de dados foi desabilitado. O espaço livre para este banco de dados é de menos de 10%.

Este evento de erro indica que o banco de dados foi removido do provisionamento. Neste caso, o script executa o cmdlet Set-MailboxDatabase com o parâmetro ExcludeFromProvisioning definido como $true em relação ao banco de dados especificado. Quando o problema de espaço do banco de dados é resolvido, você deve habilitar manualmente o provisionamento para este banco de dados de caixa de correio.

Você talvez tenha que mover as caixas de correio para um novo servidor a fim de reequilibrar o espaço.

5702

A solução de problemas de espaço do banco de dados detectou uma condição crítica de pouco espaço no volume D:\ do banco de dados MBD01. O provisionamento para este banco de dados foi desabilitado. O espaço livre para este banco de dados é de menos de 10%.

Este evento de erro indica que o banco de dados foi removido do provisionamento porque os recursos estão muito baixos.

Neste caso, o script executa o cmdlet Set-MailboxDatabase com o parâmetro ExcludeFromProvisioning definido como $true em relação ao banco de dados especificado. Quando o problema de espaço do banco de dados é resolvido, você deve habilitar manualmente o provisionamento para este banco de dados de caixa de correio.

Você talvez tenha de mover os usuários para um novo banco de dados a fim de reequilibrar o espaço.

 © 2010 Microsoft Corporation. Todos os direitos reservados.