DESAFIO DO GORDO – Qual a função do Ghost cleanup?

Galera,

Hoje quero trazer mais uma edição do DESAFIO DO GORDO e desta vez quero a ajuda de vocês para saber qual a função do GHOST CLEANUP e quais problemas pode causar em um ambiente SQL Server.

Quero muita discussão sobre esse desafio nos comentários hein galera e aproveitem também para inscreverem-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Anúncios
  1. Anderson Souza
    08/06/2015 às 12:29

    Grande Vitor!!

    Resumidamente: Quando um registro é excluído, o mesmo não é excluido fisicamente, ele é mercado e removido posteriormente pelo processo Ghost Cleanup automaticamente. Teremos problemas de performance, mantém paginas no buffer pool, gera registros no log e causa I/O.

    • 08/06/2015 às 12:46

      Grande Anderson, tudo bem contigo?

      Muito boa sua análise e resposta sobre o Ghost Cleanup.

      Grande abraço.

  2. João Carlos
    08/06/2015 às 14:17

    Boa tarde Vitor !

    Segue um pequeno resumo referente a função Ghost Cleanup

    Quando você deleta um registro, o SQL Server não apaga o objeto fisicamente no disco: ele marca o objeto para remoção posterior, em uma atividade chamada Ghost Cleanup. Ela ocorre em background e de forma automática.

    essa função o registro é marcado para ser excluído mas ainda fica disponível no banco de dados para todas as operações até que a função Ghost Cleanup seja executada, podendo gerar diversos erros de consistência de dados.

    Uma das alternativas para corrigir esse problema é executar a procedure de sistema sp_clean_db_free_space.

    • 08/06/2015 às 15:32

      Grande João, tudo bem?

      Uma excelente descrição de como funciona o Ghost CleanUp.

      Grande abraço.

  3. 08/06/2015 às 15:54

    Quando você deleta um registro no SQL SERVER ou faz um UPDATE que também não deixa de ter um comando de DELETE, o SQL não deleta o registro fisicamente e sim o marca para deleção, esse registro é chamado de ghost record. A tarefa de Ghost Clean Up ocorre a cada 5 segundos e faz uma varredura base a base iniciando pelo master, ela deleta os ghost records fisicamente. Mas existem exceções, a tarefa de Clean Up só pode realmente deletar os registros fisicamente, se a transação originária dos DELETES tiver sido comitada, devido os registros estarem em estado de LOCK.

    Para mim o grande problema dessa tarefa seria o uso de IO

    • 08/06/2015 às 16:13

      Grande Rubens, tudo bem?

      Muito boa a sua definição e as informações sobre o tempo de execução do ghost cleanup.

      Continue participando sempre meu velho.

      Grande abraço.

  1. 11/06/2015 às 8:34

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

%d blogueiros gostam disto: