문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
| dbms:mssql:admin:logresize [2008/01/08 10:08] – 새로 만듬 210.124.122.134 | dbms:mssql:admin:logresize [2025/10/03 22:30] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== MS-SQL 파일관리 ====== | ====== MS-SQL 파일관리 ====== | ||
| - | ===== LOG.ldf | + | ===== 파일정책 |
| + | - MSSQL은 데이타파일(mdf)과 트랜잭션로그파일(ldf) 로 구성되어 있습니다. | ||
| + | - mdf 파일은 데이타베이스에 저장되는 실데이타를 의미합니다. | ||
| + | - ldf 파일은 데이타를 이용한 읽기, | ||
| + | - 특정데이타에 대한 입출력 작업이 반복되면, | ||
| - | ==== LDF 파일 사이즈 줄이는 쿼리 | + | ===== 복구정책 ===== |
| - | - 로그를 백업받는다 <code sql> | + | - mdf 파일만 가지고도 복구가 가능합니다. \\ 하지만 권장하지는 않습니다. |
| - | backup log DB명 with no_log | + | - 기본정책은 ldf 용량을 줄여가면서 백업파일을 가지고 계셔야 합니다. |
| + | |||
| + | |||
| + | ===== ldf 파일사이즈 줄이기 ===== | ||
| + | |||
| + | - admindb 라는 데이타베이스가 있다고 가정하고 이야기 하겠습니다. | ||
| + | - 디비를 선택합니다. <code sql> | ||
| + | use admindb | ||
| </ | </ | ||
| - | - dbcc shrinkdatabase 명령으로 데이타베이스 크기를 줄인다. <code sql> | + | - 로그파일 정보를 확인합니다. <code sql> |
| - | dbcc shrinkdatabase(DB명, | + | dbcc loginfo |
| </ | </ | ||
| - | - 상황에 따라 shrinkfile 을 이용할 수 있다. \\ dbcc shrinkfile(로그파일이름, | + | - 데이타베이스가 사용하는 mdf, |
| - | dbcc shrinkfile(디비명_log, | + | exec sp_helpfile |
| </ | </ | ||
| + | - 디이타베이스가 사용하는 로그를 백업합니다. <code sql> | ||
| + | backup Log admindb to disk=' | ||
| + | </ | ||
| + | - 트랜잭션 로그파일을 최소의 단위로 축소합니다. <code sql> | ||
| + | backup log admindb with truncate_only | ||
| + | </ | ||
| + | - 트랜젹션 로그파일을 삭제합니다. <code sql> | ||
| + | backup log admindb with no_log | ||
| + | </ | ||
| + | - 트랜잭션 로그파일을 20M로 생성합니다. \\ 일반적으로 **DB명_log** 로 기술된다. <code sql> | ||
| + | dbcc shrinkfile(admindb_log, | ||
| + | </ | ||
| + | - mdf, ldf 파일의 resizing을 확인합니다. <code sql> | ||
| + | exec sp_helpfile | ||
| + | </ | ||
| + | |||
| + | ===== 고급팁 ===== | ||
| + | ==== 트랜잭션 로그파일 최대값 설정 ==== | ||
| + | - 갑작스러운 트랜잭션 로그파일의 증가로 문제가 되는 것을 방지하기 위해서 트랜잭션 로그파일의 최대크기를 지정해 놓습니다. | ||
| + | - 아래의 명령을 수행하면 트랜잭션 로그는 200M를 한계치로 생성-> | ||
| + | - 트랜잭션로그의 용량은 데이터의 중요도 및 규모에 따라 정책적으로 유지하셔야 하는 부분입니다. <code sql> | ||
| + | alter database admindb modify file ( name = admindb_log, | ||
| + | go | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== shrinkdatabase 명령 ==== | ||
| + | - admindb 데이타베이스를 파일에 2%의 여유공간이 남도록 크기를 줄이는 예제이다. <code sql> | ||
| + | dbcc shrinkdatabase(admindb, | ||
| + | </ | ||
| + | |||
| + | |||