데이터베이스 미러링 및 데이터베이스 스냅숏

업데이트: 2006년 4월 14일

가용성 목적으로 유지 관리 중인 미러 데이터베이스를 활용하여 보고 작업을 오프로드할 수 있습니다. 미러 데이터베이스를 보고 용도로 사용하려면 미러 데이터베이스에서 데이터베이스 스냅숏을 만들고 클라이언트 연결 요청을 가장 최근의 스냅숏으로 지정할 수 있습니다. 데이터베이스 스냅숏은 스냅숏이 만들어진 시점에 존재하던 원본 데이터베이스의 정적, 읽기 전용, 트랜잭션 일치 스냅숏입니다. 미러 데이터베이스에서 데이터베이스 스냅숏을 만들려면 데이터베이스가 동기화된 미러링 상태여야 합니다.

미러 데이터베이스와 달리 데이터베이스 스냅숏은 클라이언트에서 액세스할 수 있습니다. 미러 서버가 주 서버와 통신하고 있는한, 보고 클라이언트를 스냅숏에 연결하도록 지시할 수 있습니다. 데이터베이스 스냅숏은 정적이기 때문에 새로운 데이터를 사용할 수 없습니다. 사용자가 비교적 최근 데이터를 사용하려면 정기적으로 새 데이터베이스 스냅숏을 만들고 응용 프로그램에서 들어오는 클라이언트 연결을 최신 스냅숏으로 지정하도록 해야 합니다.

새 데이터베이스 스냅숏은 거의 비어 있지만 시간이 경과하면서 점점 더 많은 데이터베이스 페이지가 처음으로 업데이트됨에 따라 확장됩니다. 데이터베이스의 모든 스냅숏이 이렇게 증분 방식으로 증가하기 때문에 각 데이터베이스 스냅숏에서 일반 데이터베이스만큼 많은 리소스를 사용합니다. 미러 서버와 주 서버의 구성에 따라 미러 데이터베이스에 있는 데이터베이스 스냅숏의 수가 너무 많으면 주 데이터베이스의 성능이 느려질 수 있으므로 몇 개의 최근 스냅숏만 미러 데이터베이스에 보관하는 것이 좋습니다. 대체 스냅숏을 만든 후 들어오는 쿼리를 새 스냅숏으로 리디렉션하고 현재 쿼리가 완료된 후에는 이전 스냅숏을 삭제해야 합니다.

[!참고] 데이터베이스 스냅숏에 대한 자세한 내용은 데이터베이스 스냅숏을 참조하십시오.

역할이 전환되면 데이터베이스와 해당 스냅숏이 다시 시작되고 일시적으로 사용자와의 연결을 끊습니다. 그런 후 데이터베이스 스냅숏은 자신이 만들어진 서버 인스턴스에서 새로운 주 데이터베이스가 되어 그대로 유지됩니다. 사용자는 장애 조치(Failover) 후에도 스냅숏을 계속 사용할 수 있습니다. 그러나 이렇게 하면 새로운 주 서버에 추가 로드가 발생합니다. 환경에서 성능이 중요한 경우 새 미러 데이터베이스를 사용할 수 있게 되면 스냅숏을 만들어 클라이언트를 새 스냅숏으로 리디렉션하고 이전 미러 데이터베이스에서 모든 데이터베이스 스냅숏을 삭제하는 것이 좋습니다.

[!참고] 확장이 용이한 전용 보고 솔루션의 경우에는 복제하십시오. 자세한 내용은 데이터 웨어하우징 및 보고를 참조하십시오.

이 예에서는 미러된 데이터베이스의 스냅숏을 만듭니다.

데이터베이스 미러링 세션에 AdventureWorks 데이터베이스가 있다고 가정합니다. 이 예에서는 F 드라이브에 있는 AdventureWorks 데이터베이스의 미러 복사본에 대해 3개의 데이터베이스 스냅숏을 만듭니다. 스냅숏의 이름은 대략적인 생성 시간에 따라 각각 AdventureWorks_0600, AdventureWorks_1200AdventureWorks_1800으로 지정됩니다.

  1. AdventureWorks 미러의 첫 번째 데이터베이스 스냅숏을 만듭니다.

    CREATE DATABASE AdventureWorks_0600
    ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_0600.SNP')
       AS SNAPSHOT OF AdventureWorks
    
  2. AdventureWorks 미러의 두 번째 데이터베이스 스냅숏을 만듭니다. AdventureWorks_0600 사용자는 계속 사용할 수 있습니다.

    CREATE DATABASE AdventureWorks_1200
    ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1200.SNP')
       AS SNAPSHOT OF AdventureWorks
    

    이 시점에서 프로그래밍 방식으로 새 클라이언트 연결을 최신 스냅숏으로 지정할 수 있습니다.

  3. AdventureWorks 미러의 세 번째 스냅숏을 만듭니다. AdventureWorks_0600 또는 AdventureWorks_1200 사용자는 계속 사용할 수 있습니다.

    CREATE DATABASE AdventureWorks_1800
    ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1800.SNP')
        AS SNAPSHOT OF AdventureWorks
    

    이 시점에서 프로그래밍 방식으로 새 클라이언트 연결을 최신 스냅숏으로 지정할 수 있습니다.

데이터베이스 스냅숏을 만들려면

데이터베이스 스냅숏을 보려면

데이터베이스 스냅숏을 삭제하려면

참고 항목

개념

데이터베이스 스냅숏

관련 자료

미러된 데이터베이스에 클라이언트 연결

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 4월 14일

새로운 내용
  • 데이터베이스가 동기화된 미러링 상태여야 한다는 설명을 추가했습니다.
  • 리소스 사용에 대한 정보를 추가했습니다.

2005년 12월 5일

변경된 내용
  • 데이터베이스 스냅숏에 대한 역할 전환의 영향에 설명을 보강했습니다.