SQL Server/SQL Server Tip

SQL Server Point in time recovery

SungWookKang 2015. 7. 17. 10:03
반응형

SQL Server Point in time recovery

 

  • Version : SQL Server 2000, 20005, 2008, 2008R2, 2012

 

DB를 운영하다 보면 손실 또는 장애 또는 지나간 과거의 데이터 조회 필요성에 의해 데이터베이스를 복원하는 이슈가 발생 한다. 이때 중요하건 얼마나 빠른 시간에 복원하는가도 중요하지만 어느 시점까지 복원하는지도 매우 중요하다. [지정 시간 복원]을 통하여 원하는 시점까지 복원을 실습해 보자.

 

시점으로 복원하기 위해서는 데이터베이스 복구 모델이 [전체] 또는 [대량 로그]이어야 한다.

 

SSMS를 실행하여 마우스 오른쪽을 클릭하여 복원을 선택 한다.

 

 

[데이터베이스 복원]차에서 다음과 같이 [데이터베이스]를 선택하고 [지정시간]옆의 버튼을 클릭 한다.

 

 

[지정 시간 복원]창이 나타나면 특정 날짜 및 시간을 선택하고 원하는 시점을 지정 한다. 이때 백업 시간보다 이전 시간으로 지정하게 되면 오류가 발생 한다.

 

 

스크립트를 통한 지정 시간 복원을 알아 보자.

RESTORE DATABASE SW_TEST FROM DISK = 'D:\SQL_BACKUP\SW_TEST.BAK' WITH NORECOVERY, REPLACE

RESTORE LOG SW_TEST FROM DISK = 'D:\SQL_BACKUP\SW_TEST_LOG.TRN' WITH NORECOVERY

RESTORE LOG SW_TEST FROM DISK = 'D:\SQL_BACKUP\SW_TEST_LOG2.TRN' WITH NORECOVERY

RESTORE LOG SW_TEST FROM DISK = 'D:\SQL_BACKUP\SW_TEST_LOG3.TRN' WITH RECOVERY, STOPAT = '2012-11-07 09:03:50'

 

데이터가 손실 또는 장애가 발생하였을 때 정확히 손실된 시점과 문제가 발생한 시점을 알 수 있다면 위의 방법을 통하여 최소의 손실을 용인하는 수준에서 복원이 가능하다.

 

2012-11-07 / 강성욱 / http://sqlmvp.kr

 

반응형