
현재 발생한 문제에 대한 안내를 요청했는데, SQL 서버 중 하나가 행이 삭제된 후 공간을 해제하지 않습니다.
SP1 CU4(10.0.2734)가 포함된 SQL Server 2008 Enterprise x64를 실행 중이고 4노드 피어-피어 복제 구성이 있습니다.
sys.dm_db_index_physical_stats(ghost_record_count)를 통해 고스트 정리 작업에서 사용할 준비가 된 많은 수의 레코드가 표시되지만 이러한 개수는 줄어들지 않습니다.
이상하게도 이 문제는 4개 노드 피어-피어 구성의 서버 중 하나에서만 발생합니다. 즉, 다른 3개 노드는 삭제된 행을 성공적으로 정리하고 해당 ghost_record_counts가 결국 0으로 줄어듭니다. 이 문제가 발생한 노드는 피어-피어 복제 토폴로지의 다른 노드를 복원/설정하는 데 사용된 주/초기 노드였습니다.
영향을 받은 인덱스를 재구성하고 재구축하는 것을 모두 시도했지만 완료 후 ghost_record_count 수치는 변경되지 않습니다. 전체 CHECKDB에서도 오류/일관성 문제가 발생하지 않습니다.
돕다? :)
답변1
문제가 있는 서버를 재부팅했고 문제가 저절로 해결되었습니다. ghost-cleanup 작업으로 다음날 ghost_record_count 행이 지워졌습니다. :) 데이터베이스 여유 공간이 극적으로 늘어났습니다.
재부팅 후 문제가 저절로 해결되는 것이 문제의 원인이 무엇인지 모르기 때문에 자신감에 큰 도움이 된다고는 말할 수 없습니다. 일일 상태 확인에서 ghost_record_count를 계속 주시해야 합니다.