
buscando qualquer orientação para um problema que estou vendo atualmente, um dos meus servidores SQL não está liberando espaço após a exclusão de linhas.
Estou executando o SQL Server 2008 Enterprise x64 com SP1 CU4 (10.0.2734) e tenho uma configuração de replicação ponto a ponto de quatro nós.
Estou vendo um grande número de registros prontos para serem consumidos pela tarefa de limpeza fantasma via sys.dm_db_index_physical_stats (ghost_record_count), porém essas contagens não diminuem.
Estranhamente, estou enfrentando esse problema apenas em um dos servidores na configuração peer-peer de quatro nós, ou seja, os outros três nós limparam com êxito as linhas excluídas com seus respectivos ghost_record_counts sendo eventualmente reduzidos a zero. O nó que está enfrentando esse problema foi o nó principal/inicial usado para restaurar/configurar os outros nós na topologia de replicação ponto a ponto.
Tentei reorganizar e reconstruir os índices afetados, mas isso não altera os valores de ghost_record_count após a conclusão. Um CHECKDB completo também não produz problemas de erro/consistência.
Ajuda? :)
Responder1
Reiniciei o servidor problemático e o problema foi resolvido sozinho - a tarefa de limpeza fantasma limpou as linhas ghost_record_count no dia seguinte :) O espaço livre do banco de dados aumentou dramaticamente.
Eu não diria que o problema se resolvendo após uma reinicialização faz muito pela minha confiança, pois não sei o que levou ao problema, será necessário ficar de olho no ghost_record_count em minhas verificações diárias de saúde.