1
하나의 큰 테이블이있는 SQL 2005 데이터베이스가 있습니다. 테이블에서 일부 항목을 제거하기 위해 DELETE를 실행했으며 공간을 OS로 다시 비 웁니다.SQL 2005 데이터베이스에서 공간을 되 찾으려는 시도
나는 다음과 같은 명령
DBCC SHRINKDATABASE (MyDB, TRUNCATEONLY);
DBCC SHRINKFILE (MyTable, TRUNCATEONLY);
을 시도하고 나는 또한 데이터베이스 크기를 증가 재 구축
ALTER INDEX [IX_Clustered] ON [dbo].[MyTable] REBUILD WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF)
축소 명령은 효과와 인덱스 없었다 다음 명령으로 클러스터 된 인덱스를 재 구축 한 35GB (데이터베이스 1.5TB).
그래서 나는 실망합니다. 사용하지 않는 데이터베이스 공간을 되 찾으려면 무엇을해야합니까?
편집 : 로그 파일에 문제가 없습니다. 주 데이터베이스 .MDF 파일이 너무 큽니다.
편집 2 :
rows reserved data index_size unused
----------- ------------------ ------------------ ------------------ ------------------
1031649352 1543899648 KB 1481718624 KB 54444664 KB 7736360 KB
다른 드라이브에 있지만 문제가 발생하지 않습니다. .MDF 파일 만 너무 큽니다. –
OK - 테이블이 여전히/indexes가 여전히 많은 공간을 차지하고 있는지 보려면
나는 그것을 지금하고 질문에 결과를 추가했다. –
DBREINDEX를 사용하여 다시 인덱싱을 시도하고 통계를 업데이트 한 다음 축소하면 나에게 맞는 트릭이라고 생각합니다.
출처
2009-07-07 13:58:10
또한 UI에서 데이터베이스 축소 명령을 사용해 보셨습니까? –
DBCC DBREINDEX ('?', '', 80) 명령으로 인해 70GB의 .MDF 파일이 생성되어 실패했습니다. ( –
유망하지 않습니다 :) 대체 하시겠습니까? 너의 테이블 이름은? DBCC_DBREINDEX를 사용하여 나를 위해 일했습니다. 데이터의 90 %를 삭제 한 큰 데이터베이스가 있었는데 DBCC_DBREINDEX를 실행 한 다음 축소하면 데이터 크기가 줄어 듭니다. –
LOB 데이터, 즉 TEXT, NTEXT, IMAGE 또는 XML 데이터 유형을 삭제 했습니까?
LOB 데이터를 삭제 한 경우 테이블을 재 빌드하여 공간을 확보해야하는 경우가 있습니다.
사실, 방금 수치를 보았을 때 - 공간의 99 %가 데이터 + 색인에 의해 차지 - 당신이 되찾기 위해 노력하고있는 여유 공간은 어디입니까?
출처
2009-09-08 10:28:37
관련 문제