데이터베이스 스냅숏의 일반적 사용법

업데이트: 2006년 12월 12일

데이터베이스 스냅숏은 데이터베이스(원본 데이터베이스라고 함)의 읽기 전용 정적 보기입니다. 각 데이터베이스 스냅숏은 스냅숏 생성 시의 원본 데이터베이스와 트랜잭션 일관성이 유지됩니다. 데이터베이스 스냅숏을 만들 때 원본 데이터베이스에는 대개 열린 트랜잭션이 있습니다. 열린 트랜잭션이 롤백되어 데이터베이스 스냅숏이 트랜잭션 일관성을 갖추어야만 스냅숏을 사용할 수 있습니다.

클라이언트는 데이터베이스 스냅숏을 쿼리할 수 있으며 이 기능은 스냅숏 생성 시의 데이터를 기준으로 보고서를 작성하는 데 유용합니다. 또한 나중에 원본 데이터베이스가 손상되면 원본 데이터베이스를 스냅숏 생성 시의 상태로 되돌릴 수 있습니다.

ms175472.note(ko-kr,SQL.90).gif중요:
데이터베이스 스냅숏은 Microsoft SQL Server 2005 Enterprise Edition에서만 사용할 수 있습니다.

데이터베이스 스냅숏을 만드는 이유는 다음과 같습니다.

  • 보고서 생성을 위해 기록 데이터 유지 관리
    데이터베이스 스냅숏은 데이터베이스의 정적 보기를 제공하므로 특정 시점의 데이터에 대한 액세스 기간을 연장할 수 있습니다. 예를 들어 회계 분기와 같은 지정된 기간이 끝나는 시점에 데이터베이스 스냅숏을 만들어 향후 보고 시 사용할 수 있습니다. 그런 다음 스냅숏을 통해 기말 보고서를 실행할 수 있습니다. 또한 디스크 공간이 충분하다면 기말 스냅숏을 무제한 보관하여 조직 성과 조사 등의 목적을 위해 해당 기간의 결과를 대상으로 쿼리할 수 있습니다.

  • 가용성 목적으로 유지 관리 중인 미러 데이터베이스를 활용하여 보고 작업 오프로드
    데이터베이스 스냅숏을 데이터베이스 미러링에 사용하면 보고를 위해 미러 서버의 데이터에 액세스할 수 있습니다. 또한 미러 데이터베이스에서 쿼리를 실행하면 주 데이터베이스의 리소스를 확보할 수 있습니다. 자세한 내용은 데이터베이스 미러링 및 데이터베이스 스냅숏을 참조하십시오.

  • 관리 오류로부터 데이터 보호
    대량 업데이트와 같은 주요 업데이트를 수행하기 전에 데이터베이스에 데이터베이스 스냅숏을 만들어 데이터를 보호합니다. 오류가 발생하면 스냅숏을 사용하여 데이터베이스를 해당 스냅숏으로 되돌려 복구할 수 있습니다. 이러한 용도에는 백업에서 복원하는 것보다 되돌리는 것이 훨씬 빠를 가능성이 높지만 되돌린 시점 이후로는 롤포워드할 수 없습니다.
    자세한 내용은 데이터베이스 스냅숏으로 되돌리기를 참조하십시오.

    ms175472.note(ko-kr,SQL.90).gif중요:
    데이터베이스 스냅숏은 원본 데이터베이스에 따라 달라집니다. 따라서 데이터베이스 스냅숏을 사용하여 데이터베이스를 되돌리는 기능은 백업 및 복원 전략을 대체하지 않습니다. 예약된 백업 일정도 반드시 수행해야 합니다. 데이터베이스 스냅숏을 만든 시점까지 원본 데이터베이스를 복원해야 하는 경우 이 작업을 수행할 수 있는 백업 정책을 구현합니다.
  • 사용자 오류로부터 데이터 보호
    정기적으로 데이터베이스 스냅숏을 만들면 테이블 삭제와 같은 주요 사용자 오류의 영향을 줄일 수 있습니다. 철저한 보호를 위해 충분한 기간에 걸쳐 일련의 데이터베이스 스냅숏을 만들어 대부분의 사용자 오류를 찾아내고 이에 대처할 수 있습니다. 예를 들어 디스크 리소스에 따라 24시간 간격으로 6개에서 12개 사이의 연속된 스냅숏을 유지 관리할 수 있습니다. 그러면 새 스냅숏이 생성될 때마다 가장 오래된 스냅숏을 삭제할 수 있습니다.

    • 사용자 오류로부터 복구하려면 오류 발생 직전의 스냅숏으로 데이터베이스를 되돌리면 됩니다. 이러한 용도에는 백업에서 복원하는 것보다 되돌리는 것이 훨씬 빠를 가능성이 높지만 되돌린 시점 이후로는 롤포워드할 수 없습니다.
      스냅숏을 되돌리는 방법은 데이터베이스 스냅숏으로 되돌리기를 참조하십시오.
    • 또는 스냅숏의 정보를 사용하여 삭제된 테이블이나 그 밖의 손실된 데이터를 직접 다시 만들 수 있습니다. 예를 들어 스냅숏의 데이터를 데이터베이스로 대량 복사하고 이 데이터를 데이터베이스에 직접 다시 병합할 수 있습니다.

    [!참고] 데이터베이스 스냅숏의 사용 목적에 따라 데이터베이스에 필요한 동시 스냅숏의 수, 새 스냅숏 생성 간격 및 보관 기간이 결정됩니다.

  • 테스트 데이터베이스 관리
    테스트 환경에서 테스트 프로토콜을 반복 실행하는 경우 각 테스트 시작 시 데이터베이스에 동일한 데이터가 있는 것이 유용할 수 있습니다. 첫 번째 테스트를 실행하기 전에 응용 프로그램 개발자나 테스터는 테스트 데이터베이스에서 데이터베이스 스냅숏을 만들 수 있습니다. 각 테스트를 실행한 후 데이터베이스 스냅숏을 되돌리면 신속하게 데이터베이스를 이전 상태로 되돌릴 수 있습니다.

참고 항목

개념

데이터베이스 스냅숏

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 12월 12일

변경된 내용
  • 원본 데이터베이스의 정기적 백업 중요성에 대한 참고를 추가했습니다.

2005년 12월 5일

새로운 내용
  • 데이터베이스 스냅숏은 중복 저장소가 아니며 데이터베이스를 보호하려면 반드시 백업을 수행해야 함을 설명했습니다.
  • 데이터베이스 스냅숏을 사용하는 또 다른 이유로 테스트 데이터베이스 관리를 추가했습니다.