반응형
  1. /**********************************************************************************************
    -- Title : [2k] 에러난 단일 로그 파일 생성하기
    -- Reference : dBRang.com
    -- Key word : dbcc rebuild_log, sp_attach_single_file_db
    **********************************************************************************************/
    /*
    ** DB의 DETACH 후 ATTACH_SINGLE_FILE 이용
    */

    EXEC sp_detach_db 'TestDB'
    GO

    EXEC sp_attach_single_file_db 'TestDB', 'E:\DBdata\TestDB_dat.mdf'
    GO
     

    /*
    ** DBCC REBUILD_LOG를 이용하기
    */
    -- 로그에 반영되지 않은 유실된 트랜잭션들의 발생으로 데이터베이스의 일관성이 손상될 가능성이
    -- 매우 높다는 점을 유의해야 한다.
    -- 가능한 sp_attach_single_file_db를 사용하고 불가시에 이 명령을 쓴다.
    -- 복구시 반드시 단일 유저 모드에서 CHECKDB를 수행한다.

    EXEC sp_dboption RebuildLogTest --// 옵션 확인
    GO

    EXEC sp_configure 'allow updates', 1  --// 시스템테이블 업데이트 허용
    RECONFIGURE WITH OVERRIDE
    GO

    UPDATE master..sysdatabases SET status = 32768 --// DB 응급모드(bypass recovery) 설정
    WHERE name = 'RebuildLogTest'
    GO

    USE master  
    GO

    DBCC REBUILD_LOG('rebuildlogtest' --// 로그 이름 변경 요
    ,'C:\Program Files\Microsoft SQL Server\MSSQL\data\RebuildLogTest_log.LDF' )
    GO
반응형

+ Recent posts