Executar desfragmentação offline do banco de dados do Active Directory

Este artigo descreve como executar o desfragmentação offline do banco de dados do Active Directory.

Aplica-se a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 232122

Resumo

O Active Directory executa automaticamente o desfragmentação online do banco de dados em determinados intervalos como parte do processo de Coleta de Lixo. (Por padrão, isso ocorre a cada 12 horas.) A desfragmentação online não reduz o tamanho do arquivo de banco de dados (Ntds.dit), mas otimiza o armazenamento de dados no banco de dados e recupera o espaço no diretório para novos objetos.

Executar um desfragmentação offline cria uma nova versão do arquivo de banco de dados sem fragmentação interna. Ele também recria todos os índices. Dependendo da fragmentação do arquivo de banco de dados original, o novo arquivo pode ser muito menor.

Executar desfragmentação offline do banco de dados do Active Directory

Para executar o desfragmentação offline do banco de dados do Active Directory, siga estas etapas:

  1. Faça backup do Active Directory. O Backup do Windows Server dá suporte nativo ao backup do Active Directory enquanto estiver online. Isso ocorre automaticamente quando você seleciona a opção de fazer backup de tudo no computador no Assistente de Backup ou independentemente selecionando fazer backup do Estado do Sistema no assistente.

  2. Execute uma das seguintes ações:

    • Pare a instância Active Directory Domain Services ou LDS.
    • Inicie msconfig e vá para o painel de inicialização. Selecione a instalação do sistema operacional que você deseja configurar. Selecione Inicialização Segura na seção Opções de inicialização e selecione também o item de reparo do Active Directory . Depois de clicar em OK, a ferramenta pede que você reinicie. Reinicie o computador.
  3. Faça logon na conta de administrador usando a senha definida para a conta de administrador local no Sam do Modo de Restauração do Serviço de Diretório.

  4. Abra uma janela prompt de comando .

  5. O NTDSUTIL usa as variáveis de ambiente TEMP e TMP para criar um banco de dados temporário durante o desfragmentação. Se o espaço livre no volume padrão usado for menor que o tamanho do banco de dados compactado, você receberá o seguinte erro:

    manutenção de arquivo: compacto para d:\compactDB
    Iniciando o modo DEFRAGMENTATION...
    Banco de Dados de Origem: D:\windows\NTDS\ntds.dit
    Banco de Dados de Destino: d:\compactDB\ntds.dit

    Status de desfragmentação (% concluído)

    0 10 20 30 40 50 60 70 80 90 100

    |----|----|----|----|----|----|----|----|----|----|

    .......................... Operação encerrada com erro -1808( JET_errDiskFull, Sem espaço no disco).

    Nesse caso, defina as variáveis de ambiente TMP e TEMP como um volume que tenha espaço livre suficiente para a tarefa. Por exemplo, use as seguintes configurações:

    Md d:\temp
    Set tmp=d:\temp
    Set temp=d:\temp
    

    Observação

    Esse problema também pode ocorrer durante uma marcar de integridade do banco de dados.

  6. Execute NTDSUTIL.

  7. Digite ntds de instância de ativação para selecionar a instância do banco de dados do Active Directory. Use o nome da instância LDS se quiser compactar um banco de dados LDS.

  8. Digite arquivos e pressione Enter.

  9. Digite informações e pressione Enter. Isso exibe informações atuais sobre o caminho e o tamanho do banco de dados do Active Directory e seus arquivos de log. Observe o caminho.

  10. Estabeleça um local que tenha espaço de unidade suficiente para que o banco de dados compactado seja armazenado.

  11. Digite compact to <drive>:\<directory> e pressione Enter. Neste comando, a unidade> e <o diretório> de espaços reservados <representam o caminho do local que você estabeleceu na etapa anterior.

    Observação

    Você deve especificar um caminho de diretório. Se o caminho contiver espaços, todo o caminho deverá ser fechado entre aspas. Por exemplo, digite compact para "c:\npasta ew".

  12. Um novo banco de dados chamado Ntds.dit ou AdamNtds.dit é criado no caminho especificado.

  13. Digite quit e pressione Enter. Digite sair novamente para retornar ao prompt de comando.

  14. Se a desfragmentação for bem-sucedida sem erros, siga as instruções Ntdsutil.exe na tela. Exclua todos os arquivos de log no diretório de log digitando o seguinte comando del drive :\ pathToLogFiles \*.log.

    Copie o novo arquivo Ntds.dit ou AdamNtds.dit no arquivo de banco de dados antigo no caminho do banco de dados atual que você observou na etapa 5.

    Observação

    Você não excluiu o arquivo Edb.chk.

  15. Se você tiver parado Active Directory Domain Services ou instância do LDS, poderá reiniciá-la agora.

  16. Se você estiver trabalhando no modo Restauração do Active Directory, inicie msconfig e vá para o painel de inicialização. Selecione a instalação do sistema operacional que você deseja configurar. Clique para limpar a Inicialização Segura na seção Opções de inicialização . Quando você clica em OK, a ferramenta pede que você reinicie. Reinicie o computador.