none
데이터를 특정시점으로의 복원에 관하여 질문드립니다. RRS feed

  • 질문

  • 안녕하세요 DB개발자입니다.

    데이터 백업본을  통한 복원이 아닌 특정시점으로의 복원이 가능하다하여 검색하던 중 ms support글을 읽게 되었습니다.

    https://support.microsoft.com/ko-kr/help/983139

    위의 내용에 따르면 복구모델이 전체로 표기되어있으면 가능한 것으로 되어있는데요.

    읽다보니 이해가 안가는 부분이 있어서 이렇게 글을 씁니다.

    1. Ms support 시나리오에 따르면 순서가 이렇습니다.

    (문제가 생김=> 트랜잭션로그 백업=> 전체데이터 백업=> 전체데이터를 복원하고싶은 시간대 설정하고 복원 (다른 데이터베이스로) => 제대로 복원되었는지 확인)

    위의 순서가 맞는지요?

    2. 위의 순서가 맞다면 3번 (전체데이터 백업) 작업은 왜 해야하는지요?? 이미 사고가 발생했는데 그 데이터를 백업받는 것은 의미가 없지 않나요?

    3. 4번째 작업 (전체데이터 시간대 설정하여 복원) 할 때 백업스케줄을 걸어놨으면 트랜잭션 로그가 2개가 생길텐데 (스케줄에 의한 로그, 복원을 하기 위해 수동으로 저장한 로그) Wizard 창에서 2개 다 체크되어있을텐데 둘다 체크 되어 있는 상태에서 진행하는게 맞나요? 아니면 둘중 하나를 Uncheck하고 다른 하나만 체크한 상태에서 진행하는 것이 맞나요? 만약 둘중 하나만 체크해야한다면 어떤 것을 uncheck해야하는지요?

    답변부탁드리겠습니다.

    감사합니다.

    2017년 10월 24일 화요일 오전 7:28

답변

  • 안녕하세요.

    답변이 많이 늦었습니다.


    특정 시점 복원 시나리오를 정리하면 다음과 같습니다.

    1. 문제 발생

    2. 트랜잭션 로그 백업

    3. 마지막 전체 백업을 norecovery 옵션으로 복원. 시나리오에서는 다른 이름으로 복원하라고 되어 있네요.

    4. 2번에서 백업 받았던 로그 백업을 복원하는데, 문제 발생 이전 시점으로 시간을 지정해서 복원(전체 백업 이후에 로그 백업을 수행한 것이 있다면 역시 norecovery 옵션으로 복원이 필요합니다)

    5. 문제 발생 테이블의 데이터 확인 후 데이터 복사(이동)

     

    2번에 대한 답변으로는,

    질문 주신 분이 혼란스러워 하시는 부분은 전체 백업 부분으로 보이는데, 이미 받아 두었던 백업을 사용하라는 것이고, 문제 발생 이후에 백업하라는 의미는 아닙니다. ^^

     

    3번에 대한 답변으로는,

    장애 발생한 시점을 포함하는 트랜잭션 로그까지만 check 하라는 내용입니다.

    만약 그 이후에도 트랜잭션 로그가 받혔다면 그걸 uncheck 하라는 내용입니다.

    아래와 같이 예를 들어보죠.

    1시에 전체 백업(자동)

    2시에 로그 백업1(자동)

    3시에 로그 백업2(자동)

    3시30분에 문제 발생

    3시40분에 로그 백업3(수동 백업)

    4시에 로그 백업4(자동)

     

    위와 같은 상황이라면, 아래와 같이 복원을 해야 합니다.

    전체 백업 복원 > 로그 백업1 복원 > 로그 백업2 복원 > 로그 백업3 복원(3시30분 이전으로 시간 지정)

    이 때 UI에서는 로그 백업4도 보일텐데, 이 경우 로그  백업4를 uncheck 하라는 의미입니다.

     

    답변이 도움이 되셨으면 좋겠습니다.

    감사합니다.


    • 편집됨 Younggun KimMVP 2017년 11월 17일 금요일 오전 2:22
    • 답변으로 표시됨 SK Y 2018년 4월 4일 수요일 오전 6:52
    2017년 11월 17일 금요일 오전 2:21

모든 응답

  • 안녕하세요.

    답변이 많이 늦었습니다.


    특정 시점 복원 시나리오를 정리하면 다음과 같습니다.

    1. 문제 발생

    2. 트랜잭션 로그 백업

    3. 마지막 전체 백업을 norecovery 옵션으로 복원. 시나리오에서는 다른 이름으로 복원하라고 되어 있네요.

    4. 2번에서 백업 받았던 로그 백업을 복원하는데, 문제 발생 이전 시점으로 시간을 지정해서 복원(전체 백업 이후에 로그 백업을 수행한 것이 있다면 역시 norecovery 옵션으로 복원이 필요합니다)

    5. 문제 발생 테이블의 데이터 확인 후 데이터 복사(이동)

     

    2번에 대한 답변으로는,

    질문 주신 분이 혼란스러워 하시는 부분은 전체 백업 부분으로 보이는데, 이미 받아 두었던 백업을 사용하라는 것이고, 문제 발생 이후에 백업하라는 의미는 아닙니다. ^^

     

    3번에 대한 답변으로는,

    장애 발생한 시점을 포함하는 트랜잭션 로그까지만 check 하라는 내용입니다.

    만약 그 이후에도 트랜잭션 로그가 받혔다면 그걸 uncheck 하라는 내용입니다.

    아래와 같이 예를 들어보죠.

    1시에 전체 백업(자동)

    2시에 로그 백업1(자동)

    3시에 로그 백업2(자동)

    3시30분에 문제 발생

    3시40분에 로그 백업3(수동 백업)

    4시에 로그 백업4(자동)

     

    위와 같은 상황이라면, 아래와 같이 복원을 해야 합니다.

    전체 백업 복원 > 로그 백업1 복원 > 로그 백업2 복원 > 로그 백업3 복원(3시30분 이전으로 시간 지정)

    이 때 UI에서는 로그 백업4도 보일텐데, 이 경우 로그  백업4를 uncheck 하라는 의미입니다.

     

    답변이 도움이 되셨으면 좋겠습니다.

    감사합니다.


    • 편집됨 Younggun KimMVP 2017년 11월 17일 금요일 오전 2:22
    • 답변으로 표시됨 SK Y 2018년 4월 4일 수요일 오전 6:52
    2017년 11월 17일 금요일 오전 2:21
  • 답변감사합니다. 제가 오해했나보군요. 답변이 한동안 안달려서 잊고 지내다가 이제야 봤네요. 덕분에 이해가 잘되었습니다!
    2018년 4월 4일 수요일 오전 6:53