[구문]
DBCC TRACEON (3004, 3605, -1)
- Trace Flag 3004 : 백업 또는 복구 수행시 어떤 작업을 진행 중인지 상세히 로그를 보여줌
- Trace Flag 3605 : SSMS에서 쿼리 수행시 결과창이 아니라 error log에 기록
[테스트]
1. 복구 (옵션 비활성화)
-- 복구 수행하기
restore database testdb_restore FROM DISK = N'E:\testdb_simple.bak' WITH file = 1,
move N'testdb' to N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdb_01.mdf',
move N'testdb_log' to N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdb_log_01.ldf',
move N'Data01' to N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdb_data_01.mdf',
move N'Data01_text' to N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdb_data_text_01.mdf'
-- 에러로그 보기 (복구에 대한 기록은 5줄만 기록됨)
sp_readerrolog
2. 복구 (옵션 활성화)
-- Errorlog recycle
sp_cycle_errorlog
-- 옵션 활성화
DBCC TRACEON (3004, 3605, -1)
-- 복구 수행하기
restore database testdb_restore_option FROM DISK = N'E:\testdb_simple.bak' WITH file = 1,
move N'testdb' to N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdb_restore.mdf',
move N'testdb_log' to N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdb_restore_log.ldf',
move N'Data01' to N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdb_data_restore.mdf',
move N'Data01_text' to N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdb_data_text_restore.mdf'
-- 에러로그 보기 (복구에 대한 기록은 58줄 기록됨, 옵션 빈활성화에 비하여 약 11배이상 상세로그 기록됨)
sp_readerrolog
-- 옵션 비활성화
DBCC TRACEOFF (3004, 3605, -1)
[의견]
복구 절차 진행시 어디서 시간이 많이 소요되어지는 볼 수 있어 알아두면 도움이 될 것으로 보입니다.
[출처] What Is My Restore Doing?