+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[출처] http://blog.naver.com/boxcar?Redirect=Log&logNo=50012778615
방법 1.
SQL 쿼리 분석기에서 아래의 명령어를 실행시킨다.
-- DB 로그 비우기
backup log 디비명 With TRUNCATE_ONLY
-- DB 정보보기
sp_helpdb 디비명
-- 요가의 논리적인 로그화일을 아래에서 사용합니다.
-- DB 의 로그데이타 베이스 크기를 5M 로 줄인다.
DBCC SHRINKFILE (로그파일이름, 5)
ex) DBCC SHRINFILE(ITZONE_LOG,5)
방법 2.
1. backup log db_name with no_log 로 로그내용을 지운다.
2. 엔터프라이즈 관리자 > 보기 > 작업창으로 해당 데이타 베이스의 사용중인 공간을 확인합니다.
3. 아래 온라인 설명서의 dbcc shrinkfile 명령을 이용하여 ldf 파일의 크기를 줄이시면 됩니다.
다음은 User DB 사용자 데이타 베이스에서 DataFil1 이라는 파일의 크기를 7M로 줄이는 예제
Use [userDB]
Go
DBCC SHIRIKFILE(DataFil1,7)
Go
또는
-- 우선 만약을 위해 DB를 백업 받으세요.
EXEC sp_detach_db 'pubs', 'true'
식으로 DB를 detach 하세요.
그후 잠시 ldf 파일을 rename 시키고
mdf 파일만 가지고 첨부 시키시는 겁니다.
EXEC sp_attach_single_file_db @dbname = 'pubs'
@physname = 'c:\Program File\Microsoft SQL Server\MSSQL\Data
\pubs.mdf'
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[출처] DB 줄이기 및 옮길려면-어떻게|작성자 투명하늘
제목 : DB 줄이기 및 옮길려면-어떻게?(1)
DB줄이는 다음과 같은 방법이 있습니다.
로그용량 줄이는 법 (*.LDF)
use [database]
backup log [database] with truncate_only <- 로그의 내용을 비워줍니다.
sp_helpdb [database] <- 디비정보를 보여줍니다. filename이 *.ldf 라고 되어있는곳 name을 확인 해보세요.
dbcc shrinkfile(database_log,5) <- database_log는 위에서 확인한 name을 적어주세요. 5라는것은 5메가로 줄이겠
다는 얘기입니다.
데이타 줄이는 법(*.MDF)
use [database]
sp_helpdb [database] <- 디비정보를 보여줍니다. filename이 *.MDF 라고 되어있는곳 name을 확인 해보세요.
dbcc shrinkfile(database_data,10000) <- database는 위에서 확인한 name을 적어주세요. 10000라는것은 10기가로
줄이겠다는 얘기입니다.(현재 디비용량보다 작으면 안됩니다. 그리고 용량이 크면 시간 좀 오래 걸릴수 있습니다.)
db를 옮기는 방법은
detach 한후 attach하는것이 제일 좋습니다.
EXEC sp_detach_db '[database]', 'true'
detach 한후 attach
EXEC sp_attach_db '[database]'
, 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\database.mdf'
, 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\database_log.ldf'
혹자는 72기가 하드 넣고 드라이브 문자를 E로 하고 기존 데이터 즉 데이터,로그를 모두 카피하면 된다고 하는데요..
<- 저두 해보지는 않았지만 상당히 위험한 작업 같네요. 테스트라면 모를까 실제 디비에서는 하지 마세요.
제의견 입니다만 장기적으로 봤을때
가장 좋은 방법을 하드를 추가하고 레이드를 다시 구성하는게 가장 좋을꺼 같네요.
디스크 구조를
C <- OS
D <- MS-SQL PROGRAM
E <- SQL DATA (*.mdf)
F <- SQL LOG (*.ldf)
G <- DB BACKUP
C, D는 미러닝으로 구성하시구요
E, F ,G 는 데이터와 로그는 따로 있는게 좋다고 하던군요... RAID5 구성하시면 좋을꺼 같아요.
이 생각은 제의견인데 더 좋은 방법이 있을수 있습니다.
전문가의 의견을 좀 더 참조하세요.
도움이 되셨길 바랍니다^^
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++