관리 메뉴

Data Modeling Evangelist Kaien Kim's Blog

[SQLServer] 데이터베이스 용량관리 본문

카테고리 없음

[SQLServer] 데이터베이스 용량관리

2010. 3. 16. 11:00

USE AdventureWorks
GO

EXEC sp_helpfile                    -------- 1)

EXEC sp_spaceused                -------- 2)

DBCC sqlperf(logspace)          -------- 3)

ALTER DATABASE AdventureWorks
MODIFY FILE
(
NAME = AdventureWorks_Data,
SIZE = 500
)
EXEC sp_helpfile                    -------- 4)


ALTER DATABASE AdventureWorks
MODIFY FILE
(
NAME = AdventureWorks_Data,
FILEGROWTH = 100,
MAXSIZE = 500
)
GO                                     -------- 5)

ALTER DATABASE AdventureWorks
MODIFY FILE
(
NAME = AdventureWorks_Log,
FILEGROWTH = 10,
MAXSIZE = 200
)
GO                                     -------- 6)

EXEC sp_helpfile                   -------- 7)


DBCC SHRINKFILE(AdventureWorks_Data,200)  -------- 8)


1) 데이터 파일 공통 정보 확인
아래와 같이 데이터 파일의 논리적 이름과 트랜잭션 로그 파일의 논리적 이름을 알 수 있다.

사용자 삽입 이미지





- filename : 파일의 경로와 실제이름
- filegroup
- size : 현재 파일 크기
- maxsize : 파일의 최대크기
- growth : 파일의 증가설정


2) 데이터 파일 사용량 확인

사용자 삽입 이미지








- database size : 데이터 파일과 트랜젝션 로그파일의 용량을 합한 값
- unallocated space : 데이터 파일의 남아있는 용량
- data size, index size : 데이터 파일 내에서 data와 index별 사용량
- unused : 운영상 데이터베이스의 개체에 예약되었지만 아직 사용되지 않은 공간

3) 트랙잭션 로그 파일 사용량 확인

사용자 삽입 이미지











AdventureWorks의 경우 약 1.99MB의 현재 파일 크기를 가지고 있으며 약 39%가 사용 중인 것을 알 수 있다.


4) 데이터 베이스 용량 늘리기
300 -> 500으로 변경
스크립트 실행 후, EXEC sp_helpfile로 변경 내역 확인


5) 데이터 파일 최대 크기와 자동 증가 설정 변경

6) 로그파일 최대 크기돠 자동 증가 설정 변경

7) 변경 내역 확인

사용자 삽입 이미지






8) 데이터베이스 용량 줄이기