2014-09-04 6 views
0

우리는 2 개의 테이블을 가진 데이터베이스를 가지고 있습니다. 하나는 수 억 개의 행 (행 크기 < 1KB)이고 다른 하나는 1400 만 개의 행입니다. 둘 다에서 압축이 가능합니다. 데이터베이스 크기는 ~ 66GB였습니다. 모든 것이 잘 작동했습니다.SQL - 압축 테이블에서 인덱스 조각 모음

인덱스는 75 % 단편화되었다. 동료가 두 테이블에서 REBUILD를 시작했습니다. 현재 4.5 시간 동안 운영되고 있습니다. MDF는 약 150GB이고 LDF는 약 13GB이며 계속 증가하고 있습니다. 우리는 우주를 다 써 버리려하고 있습니다.

우리는 어떻게해야합니까? 끝내기를 기다리시겠습니까? 검색어 취소? 재부팅 SQL? 서버를 재부팅 하시겠습니까?

+0

인덱스 REBUILD가 완전히 기록되므로 LDF가 꽤 커지지 만 인덱스 크기와 비교하여 얼마나 큰지는 확실하지 않습니다. –

+0

우연히 최소한의 로깅을 켰습니까 (벌크 로그)? 인덱스를 다시 작성할 때 SQL 서버는 이전 인덱스를 제거하기 전에 첫 번째 인덱스와 나란히 두 번째 인덱스를 만들고 (두 인덱스 모두에 파일 공간이 필요합니다) 다시 작성하기 전에 색인의 크기는 얼마입니까? – Twelfth

+0

@GoatCO 재밌네, LDF는 단지 13GB 였고, 우리는 MDF에 대해 걱정했습니다. 끝나면 170GB가되었습니다. 감사. –

답변

1

MDF 파일의 경우 약 170GB를 소비 한 후 프로세스가 7 시간 완료되었습니다.

그래서 대답은 :

  1. 는 압축되지 않은 데이터, 또는 압축 적어도 약 3 배 될지에 가까운 디스크 공간의 많음을 가지고;
  2. 필요에 따라 디스크 공간을 늘리거나 IT 서버를 사용하거나 (VM 서버 또는 핫스왑 물리적 상자 사용) 디스크를 준비하십시오.
  3. 항상 한 번에 하나의 테이블 만 수행하십시오.
  4. 오랜 시간 기다려야합니다.

희망이 있으면 도움이 될 것입니다.

+0

여기서 '압축되지 않은'파일 크기를 고려하지 않았기 때문에 새로운 인덱스 파일이 필요로하는 압축되지 않은 크기라는 것을 기억해야합니다. 솔루션 공유를위한 TY – Twelfth