현재 SQL Server 2005 데이터베이스의 모든 테이블에서 한 번에 한 테이블 씩 DBCC INDEXDEFRAG를 수행하는 스크립트를 실행하고 있습니다. 공간 제약 및 가동 시간 요구 사항으로 인해 INDEXDEFRAG 대신 DBCC DBREINDEX를 사용하는 것은 옵션이 아닙니다.
특정 테이블을 조각 모음하는 데 시간이 오래 걸린다는 것을 알았습니다. 예를 들어 "sys.dm_exec_requests"동적 관리 뷰를 검토하면 다음 INDEXDEFRAG가 현재 table_id가 829610394 인 테이블의 클러스터 된 인덱스에서 이탈하고 있음을 알 수 있습니다.
DBCC INDEXDEFRAG (0, 829610394, 1)
조각 모음 프로세스가 완료되기까지 시간이 오래 걸릴 것입니다. 현재 실행중인 스크립트가 결국 모든 테이블을 조각 모음한다는 사실을 제쳐두고, 현재 명령이 실행되는 동안 다른 테이블의 클러스터형 인덱스에서 다른 DBCC INDEXDEFRAG를 수동으로 실행하는 데 해가 있습니까? 이 작업을 수행하면 두 테이블이 실제로 동시에 조각 모음됩니까?