데이타베이스/MSSQL
SQL Server 로그축소
유키공
2018. 12. 28. 09:00
SQL Server 로그축소(쿼리)
[DB 로그 줄이기]
* MSSQL 2008 의 경우
USE [testdb]; ALTER DATABASE [testdb] SET RECOVERY SIMPLE; DBCC SHRINKFILE ([testdb_Log], 10); ALTER DATABASE [testdb] SET RECOVERY FULL;
use [testdb]; exec sp_helpfile; backup log [testdb] with no_log; dbcc shrinkfile ([testdb_log], 10);
use [DB명]; sp_helpfile; -- 로그파일 정보 확인 backup log [DB명] with truncate_only; dbcc shrinkfile ([로그파일명], 10); -- [로그파일명]을 10MB로 축소
===================================================================
로그파일의 정보를 확인합니다.
dbcc loginfo
현재 지정된 디비가 사용하는 mdf 및 ldf파일의 경로, 이름 및 크기를 확인합니다.
exec sp_helpfile
위에서 정해준 디비의 로그를 백업해 줍니다.
backup Log testdb to disk=’d:\dbbackup\temp\testdb.bak’ go
트랜잭션 로그파일을 최소의 단위로 축소합니다.
backup log testdb with truncate_only
트랜잭션 로그파일을 삭제합니다.
backup log testdb with no_log
트랜잭션 로그파일을 10메가로 생성합니다.
dbcc shrinkfile (testdb_log, 10)
mdf와 ldf파일이 제대로 잘 리사이징 되었는지 확인합니다.
exec sp_helpfile
alter database testdb modify file ( name = testdb_log, maxsize = 100 mb ) go위 의 과정을 진행하시면 트랜잭션로그는 위에서 지정한데로 100메가를 한계치로 생성 삭제 됩니다. 트랜잭션로그의 용량은 데이터의 중요도 및 규모에 따라 정책적으로 유지하셔야 하는 부분입니다. 200메가는 예제로 적어놓은 사이즈입니다.
또한 위의 과정 중 축소와 삭제는 둘 중 원하시는 방법을 선택적으로 사용하시면 됩니다.