데이터베이스 스냅숏의 일반적 사용법
데이터베이스 스냅숏은 데이터베이스(원본 데이터베이스라고 함)의 읽기 전용 정적 보기입니다. 각 데이터베이스 스냅숏은 스냅숏 생성 시의 원본 데이터베이스와 트랜잭션 일관성이 유지됩니다. 데이터베이스 스냅숏을 만들 때 원본 데이터베이스에는 대개 열린 트랜잭션이 있습니다. 열린 트랜잭션이 롤백되어 데이터베이스 스냅숏이 트랜잭션 일관성을 갖추어야만 스냅숏을 사용할 수 있습니다.
클라이언트는 데이터베이스 스냅숏을 쿼리할 수 있으며 이 기능은 스냅숏 생성 시의 데이터를 기준으로 보고서를 작성하는 데 유용합니다. 또한 나중에 원본 데이터베이스가 손상되면 원본 데이터베이스를 스냅숏 생성 시의 상태로 되돌릴 수 있습니다.
중요 |
---|
데이터베이스 스냅숏은 SQL Server Enterprise에서만 사용할 수 있습니다. |
데이터베이스 스냅숏을 만드는 이유는 다음과 같습니다.
보고서 생성을 위해 기록 데이터 유지 관리
데이터베이스 스냅숏은 데이터베이스의 정적 보기를 제공하므로 특정 시점의 데이터에 대한 액세스 기간을 연장할 수 있습니다. 예를 들어 회계 분기와 같은 지정된 기간이 끝나는 시점에 데이터베이스 스냅숏을 만들어 향후 보고 시 사용할 수 있습니다. 그런 다음 스냅숏을 통해 기말 보고서를 실행할 수 있습니다. 또한 디스크 공간이 충분하다면 기말 스냅숏을 무제한 보관하여 조직 성과 조사 등의 목적을 위해 해당 기간의 결과를 대상으로 쿼리할 수 있습니다.
가용성 목적으로 유지 관리 중인 미러 데이터베이스를 활용하여 보고 작업 오프로드
데이터베이스 스냅숏을 데이터베이스 미러링에 사용하면 보고를 위해 미러 서버의 데이터에 액세스할 수 있습니다. 또한 미러 데이터베이스에서 쿼리를 실행하면 주 데이터베이스의 리소스를 확보할 수 있습니다. 자세한 내용은 데이터베이스 미러링 및 데이터베이스 스냅숏을 참조하십시오.
관리 오류로부터 데이터 보호
대량 업데이트 또는 스키마 변경과 같은 주요 업데이트를 수행하기 전에 데이터베이스에 데이터베이스 스냅숏을 만들어 데이터를 보호합니다. 오류가 발생하면 스냅숏을 사용하여 데이터베이스를 해당 스냅숏으로 되돌려 복구할 수 있습니다. 이러한 용도에는 백업에서 복원하는 것보다 되돌리는 것이 훨씬 빠를 가능성이 높지만 되돌린 시점 이후로는 롤포워드할 수 없습니다.
자세한 내용은 데이터베이스 스냅숏으로 되돌리기를 참조하십시오.
[!참고]
데이터베이스 스냅숏은 원본 데이터베이스에 따라 달라집니다. 따라서 데이터베이스 스냅숏을 사용하여 데이터베이스를 되돌리는 기능은 백업 및 복원 전략을 대체하지 않습니다. 예약된 백업 일정도 반드시 수행해야 합니다. 데이터베이스 스냅숏을 만든 시점까지 원본 데이터베이스를 복원해야 하는 경우 이 작업을 수행할 수 있는 백업 정책을 구현합니다.
사용자 오류로부터 데이터 보호
정기적으로 데이터베이스 스냅숏을 만들면 테이블 삭제와 같은 주요 사용자 오류의 영향을 줄일 수 있습니다. 철저한 보호를 위해 충분한 기간에 걸쳐 일련의 데이터베이스 스냅숏을 만들어 대부분의 사용자 오류를 찾아내고 이에 대처할 수 있습니다. 예를 들어 디스크 리소스에 따라 24시간 간격으로 6개에서 12개 사이의 연속된 스냅숏을 유지 관리할 수 있습니다. 그러면 새 스냅숏이 생성될 때마다 가장 오래된 스냅숏을 삭제할 수 있습니다.
사용자 오류로부터 복구하려면 오류 발생 직전의 스냅숏으로 데이터베이스를 되돌리면 됩니다. 이러한 용도에는 백업에서 복원하는 것보다 되돌리는 것이 훨씬 빠를 가능성이 높지만 되돌린 시점 이후로는 롤포워드할 수 없습니다.
스냅숏을 되돌리는 방법은 데이터베이스 스냅숏으로 되돌리기를 참조하십시오.
또는 스냅숏의 정보를 사용하여 삭제된 테이블이나 그 밖의 손실된 데이터를 직접 다시 만들 수 있습니다. 예를 들어 스냅숏의 데이터를 데이터베이스로 대량 복사하고 이 데이터를 데이터베이스에 직접 다시 병합할 수 있습니다.
[!참고]
데이터베이스 스냅숏의 사용 목적에 따라 데이터베이스에 필요한 동시 스냅숏의 수, 새 스냅숏 생성 간격 및 보관 기간이 결정됩니다.
테스트 데이터베이스 관리
테스트 환경에서 테스트 프로토콜을 반복 실행하는 경우 각 테스트 시작 시 데이터베이스에 동일한 데이터가 있는 것이 유용할 수 있습니다. 첫 번째 테스트를 실행하기 전에 응용 프로그램 개발자나 테스터는 테스트 데이터베이스에서 데이터베이스 스냅숏을 만들 수 있습니다. 각 테스트를 실행한 후 데이터베이스 스냅숏을 되돌리면 신속하게 데이터베이스를 이전 상태로 되돌릴 수 있습니다.