푸른청년 푸르게 살고있나?  
home | 살아가기 | news | 세상보기 | tip&tech | 방명록 |  
   전체
   asp
   php
   jsp
   mssql
   mysql
   informix
   linux
   unix
   win2000
   javascript
   html
   oracle
   java
   etc
    
:: Tip&Tech > mssql
mssql 디비축소 명령어
출처 : http://cafe.naver.com/ilovedata.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=297

autoshrink(자동축소)

autoshrink 데이터베이스 속성은 데이터베이스가 자동으로 축소되게 한다.
autoshrink 데이터베이스 속성은 데이터베이스의 등록정보의 옵션텝에서 설정할 수 있다.
효과는 DBCC SHRINKDATABASE(dbname, 25)를 실행시키는 것과 동일하다.
이 옵션은 축소한 후에 데이터베이스에 25% 여유 공간을 남기고, 나머지 남는 공간은 운영체제에게 반환한다. autoshrink를 수행하는 스레드(항상 서버 프로세스 ID(spid) 6을 가짐)는 30분 간격으로 데이터베이스를 축소한다.


DBCC SHRINKFILE

DBCC SHRINKFILE은 현재 데이터베이스에 있는 파일들을 축소시킨다.
구문은 다음과 같다.
DBCC SHRINKFILE
( { file_name | file_id }
{ [ , target_size(mb) ]
| [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]
}
)

target_size가 지정될 때 DBCC SHRINKFILE은 지정된 파일을 MB 단위로 지정된 크기로 축소시키려고 한다. 사용된 페이지 중에서 해제된 부분에 들어간 영역은 파일 내의 사용 가능한 여유 공간으로 들어간다.
예를 들어, 15MB 데이터 파일이 있을 때 target_size(MB) 값이 12인 DBCC SHRINKFILE를 실행시키면(DBCC SHRINKFILE(dbname, 12)) 파일의 마지막 3MB에 있는 모든 사용된 페이지들은 처음 12MB에 있는 여유 슬롯에 들어간다.
DBCC SHRINKFILE은 데이터 저장에 필요한 크기보다 적게 파일을 축소시키지 않는다. 예을 들어, 10MB 데이터 파일에 있는 페이지들의 70%가 사용되고 있다면 target_size 값이 5인 DBCC SHRINKFILE 문은 파일 크기를 5MB가 아닌 7MB로 축소시킨다.


DBCC SHRINKDATABASE

DBCC SHRINKDATABASE 는 데이터베이스에 있는 모든 파일들을 축소시킨다.
구문은 다음과 같다.
DBCC SHRINKDATABASE
( database_name [ , target_percent (%)]
[ , { NOTRUNCATE | TRUNCATEONLY } ]
)


데이터베이스는 model 데이터베이스 보다 또는 파일의 최소 크기보다 더 적게 축소 될 수는 없다.
데이터베이스 파일의 최소 크기는 데이터베이스가 생성될 때 지정된 파일의 초기 크기일 수도 있고, alter database나 dbcc shrinkfile 명령어를 사용하여 명시적으로 확장되거나 축소된 파일 크기일 수도 있다.
DBCC SHRINKDATABASE은 파일별로 데이터베이스를 축소 시키기 때문에 실제 축소 작업을 수행하기 위해 사용된 메커니즘은 DBCC SHRINKFILE에서 사용된 것과 동일하다. SQL Server는 먼저 파일의 앞부분으로 페이지들을 이동시켜서 뒷부분에 여유 공간을 만든 후, 적당한 개수의 여유 페이지들을 운영체제에게 반환한다.


옵션
NOTRUNCATE 옵션은 여유 공간으로 된 부분이 데이터베이스 파일에 유지되게 한다. SQL Server는 데이터를 파일의 앞부분으로 이동시키는 방식으로만 데이터를 축소시킨다. 디폴트 방식은 여유 공간으로 된 부분을 운영체제에게 반환하는 것이다.

TRUNCATEONLY 옵션은 데이터 파일 중에서 사용되지 않는 공간을 운영체제에게 반환하게 한다. 행들을 할당되지 않는 페이지로 이동시키는 동작은 일어나지 않는다. TRUNCATEONLY가 사용될 때 target_size나 target_percent는 무시된다.

EMPTYFILE 옵션은 DBCC SHRINKFILE 에서만 사용될 수 있다. 데이터 파일의 내용을 비우고, 이것들을 파일 그룹의 다른 파일들로 이동시킨다.

날짜: 2007-03-29 14:26:29, 조회수: 2995

다음글 손상된 테이블 복구하기 (DBCC CHECKTABLE을 사용하여 오류 복구하기)
이전글 같은서버 다른 디비에서 테이블 조인하기

꼬리말
글쓴이 비밀번호 #스팸글방지(주인장 닉네임을 쓰시오)

  
since by 2003.03.23 / 3th 2005.07.26 / 4th 2009.04.22 made by bluesoul