DB (데이터베이스)/MS-SQL

[MS-SQL] MS-SQL data파일 늘리고 줄이는 방법

뜽배 2024. 1. 29. 09:31
728x90
반응형

DB마우스 우클릭 -> 보고서 -> 표준보고서 -> 디스크 사용

 

위와 같이 디스크 사용 보고서를 보고 현재 데이터파일과 로그파일의 total, free, used 를 그래프를 통해 확인 할 수 있다.

 

1. 데이터파일 크기를 직접 늘리는 방법

 

DB마우스 우클릭 -> 속성 -> 파일

 

크기(MB)부분을 수정하여 파일 크기를 증가시킬 수도 있습니다.

그리고 자동증가/최대크기 부분을 수정하여 데이터파일이 최대 크기가 되었을 때
자동증가 크기를 설정할 수 있으며 최대 크기도 지정할 수 있습니다.

 

위 처럼 파일 크기를 늘리고 자동증가 크기도 늘렸습니다. 이후 보고서를 다시 들어가면

 

 

사진 처럼 free영역이 늘어난 것을 시각적으로 확인 할 수 있습니다.

 

2. 데이터 파일의 크기를 줄이는 방법

 

만약 데이터 파일의 크기를 줄일 때 트랜잭션 로그 파일의 크기로 줄인다면 현재 쌓인 로그를 없애고 줄이는 것도 방법이 될 수 있다.
이때 트랜잭션 로그 사용량을 없애는 방법은 

 

DB마우스 우클릭 -> 속성 -> 옵션 -> 복구모델 -> 단순

 

 

복구모델을 '단순'으로 고치면 현재 쌓인 트랜잭션 로그를 없앨 수 있다.

 

3. 데아터 파일의 크기를 줄이는 방법

 

DB마우스 우클릭 -> 테스크 -> 축소 -> 파일 

 

파일형식 : 데이터 or 로그 를 선택할 수 있으며 

 

사용하지 않는 공간 해제 : oracle HWM(High Water Mark)처럼 연속적으로 할당되지 않은 공간을 축소하는 것이고
사용하지 않은 공간을 해제하기 전에 페이지 다시 구성 : 디스크 조각모음 처럼 데이터를 몰아서 축소 공간을 최대화 하는 방법이다 [성능문제가 발생 할 수 있으므로 권장하지 않는다]

 

 

확인을 누른다면 디스크 사용량이 바뀐것을 확인 할 수 있다.

 

4. 데이터파일 갯수를 늘리는 방법

 

만약 .mdf파일의 크기가 제한적이고, 데이터파일이 더 이상 증가 할 수 없을 때 아래와 같은 애러가 발생할 것이다.

PRIMARY파일 그룹이 꽉 찼다고 애러가 나온다

메시지 1105, 수준 17, 상태 2, 줄 3
'PRIMARY' 파일 그룹이 꽉 찼으므로 데이터베이스 'MyDB'의 개체 'dbo.ta'에 공간을 할당할 수 없습니다. 필요 없는 파일을 삭제하거나, 파일 그룹의 개체를 삭제하거나, 파일 그룹에 파일을 추가하거나, 파일 그룹의 기존 파일에 대해 자동 증가를 설정하여 디스크 공간을 만드십시오.

 

 

위 처럼 파일그룹에 파일을 하나 더 추가해서 파일그룹을 늘려줄 수 있다.

 

 

5. 파일 그룹에 데이터를 옮기고 데이터 파일을 삭제하는 방법

 

디스크 보고서에서 MyDB와 MyDB02의 할당된 크기와 사용된 크기를 확인 할 수 있다.

 

MyDB 데이터파일의 크기를 300MB로 늘리면 두개의 데이터파일 크기를 합친것을 모두 저장할 수 있기 때문에 

MyDB02 -> MyDB로 데이터를 옮긴 후 MyDB02데이터 파일을 삭제하도록 하겠다.

 

우선 MyDB 데이터파일의 크기를 300MB로 늘린다.

 

DB마우스 우클릭 -> 테스크 -> 축소 -> 파일 

 

에 들어가서

비우고자 하는 데이터 파일을 선택 후 '같은 파일 그룹의 다른 파일로 데이터를 마이그레이션하여 파일 비우기'를 선택한다.

 

 

디스크보고서의 사용된 공간을 확인하면

MyDB02의 사용량이 없는것을 확인 할 수 있다.

 

 

DB마우스 우클릭 -> 속성 -> 파일 -> 파일 제거

 

 

을 통해 비워진 데이터 파일을 삭제 할 수 있다.

 

728x90
반응형