반응형
  1. /**********************************************************************************************
    -- Title : [2k] 마스터 및 DB파일 손상시 비상 로그 백업 방법
    -- Reference : 웹검색
    -- Key word : 비상 로그 백업, 마지막 활성 트랜잭션
    **********************************************************************************************/
     
    -- 데이터베이스 파일이 손상되었어도 트랜잭션 로그 파일을 액세스할 수 있으면 현재의
        활성 트랜잭션 로그를 백업할 수 있다. Microsoft SQL Server 7.0에서는 주 데이터 파일
        과 트랜잭션 로그 파일을 모두 액세스할 수 있어야 마지막 활성 트랜잭션 로그를 백업
        할 수 있다.

    -- 마스터 데이터베이스도 손상된 경우 데이터 파일과 마스터 장치가 둘 다 손상된 미디
        어에 있으면 먼저 마스터 데이터베이스를 다시 생성하고 복원한 다음 액세스할 수 없
        는데 이터베이스의 마지막 활성 트랜잭션 로그를 백업할 수도 있다. 그러나, 마스터
        데이터베이스 백업을 사용할 수 없는 경우에도 SQL Server 7.0에서 주 데이터 파일과
        트랜잭션 로그 파일을 액세스할 수 있으면 아래 방법을 사용하여 데이터베이스의 마
        지막 활성 트랜잭션 로그를 백업할 수도 있다.

    -- Microsoft SQL Server 2000에서는 트랜잭션 로그 파일만 액세스할 수 있으면 마지막 활
        성 트랜잭션 로그를 백업할 수 있다.

    /*
    -- SQL Server 2000
    */
    --마스터 데이터베이스와 사용자 데이터베이스의 데이터 파일이 손상되었으나 데이터베이스의 트랜잭션
    --로그 파일에 여전히 액세스할 수 있으면 아래 단계를 수행하여 데이터베이스의 마지막 활성 트랜잭션
    --로그를 백업함으로써 데이터 손실을 줄일 수 있다.
    --
    --1. 트랜잭션 로그 파일의 이름을 변경한다.
    --2. 마스터 데이터베이스를 다시 만든다.
    --3. 유사한 데이터베이스를 만든다. 새 데이터베이스는 크기가 같을 필요는 없지만 포함하는 데이터
    --   파일 및 로그 파일의 수는 같아야 한다.
    --4. SQL Server를 중지한다.
    --5. 새로 만든 데이터베이스의 데이터 파일을 모두 삭제하여 복구되지 않게 한다. 트랜잭션 로그를
    --   백업할 수 있도록 새 데이터베이스의 로그 파일을 원래의 로그 파일로 바꾼다.

    /*
    -- Microsoft SQL Server 7.0
    */
    --1. 주 데이터 파일과 트랜잭션 로그 파일의 이름을 변경한다.
    --2. 마스터 데이터베이스를 다시 만든다.
    --3. 유사한 데이터베이스를 만든다. 새 데이터베이스는 크기가 같을 필요는 없지만 포함하는 데이터
    --   파일 및 로그 파일의 수는 같아야 한다.
    --4. SQL Server를 중지한다.
    --5. 새로 만든 데이터베이스의 데이터 파일을 모두 삭제하여 복구되지 않게 한다. 트랜잭션 로그를
    --   백업할 수 있도록 새 데이터베이스의 주 데이터 파일과 로그 파일을 원래의 파일로 바꾼다.
    --6. SQL Server를 다시 시작한다.
    --7. 아래 명령을 실행하여 로그의 마지막 부분을 복원한다.
    --      Backup Log <database_name> to Disk = <device_name> With NO_TRUNCATE
    --8. sp_dbremove 저장 프로시저를 사용하여 데이터베이스를 제거한다.
    --   모든 로그 파일과 함께 데이터베이스를 복원한다.
반응형

+ Recent posts