향상된 가용성 기능(데이터베이스 엔진)

SQL Server 2008 데이터베이스의 가용성은 데이터베이스 미러링 기능의 개선을 통해 향상되었습니다. 데이터베이스 미러링을 통해 커밋된 트랜잭션에서 데이터 손실 없이 신속한 장애 조치(Failover) 지원을 제공하는 상시 대기 서버를 만들 수 있습니다.

데이터베이스 미러링

성능 향상

향상된 성능에는 다음과 같은 기능이 포함됩니다.

  • 미러 서버의 들어오는 로그 스트림 미리 쓰기

    SQL Server 2008에서는 들어오는 로그 레코드를 수신할 때 미러 서버가 로그 레코드를 디스크에 비동기식으로 씁니다. 이와 동시에 미러 서버는 디스크에 이미 기록된 로그 레코드를 처리합니다.

  • 로그 송신 버퍼의 향상된 사용

    SQL Server 2005에서는 주 서버의 모든 로그 플러시 작업에서 로그 레코드를 위해 전체 데이터베이스 미러링 로그 송신 버퍼가 예약됩니다. 그러나 SQL Server 2008에서는 최근에 사용한 로그 캐시의 여유 공간이 충분하면 다음 로그 플러시 작업의 로그 레코드가 이 로그 캐시에 추가됩니다. 그렇지 않으면 새 로그 캐시가 할당됩니다.

  • 트랜잭션 로그 레코드 스트림의 압축

    주 서버는 트랜잭션 로그 레코드의 스트림을 미러 서버에 보내기 전에 압축합니다. 이러한 로그 압축은 모든 미러링 세션에서 발생합니다.

  • 적어도 12.5% 압축률을 얻을 수 있는 스트림 데이터 압축

  • 실행 취소 단계에서의 페이지 미리 읽기

    장애 조치 후 새 미러 서버에서는 디스크에 로컬로 기록되었지만 로그 레코드가 이전 미러 서버(새 주 서버)에 전달되지 않았을 가능성이 있는 변경된 모든 페이지를 실행 취소해야 합니다. 이러한 변경된 페이지를 실행 취소하려면 미러 서버는 먼저 해당 페이지를 새 주 서버에서 요청하고 받아야 합니다. SQL Server 2008에서는 이 실행 취소 단계 부분의 성능이 향상되었습니다. 실행 취소 단계 초기에 미러 서버는 주 서버에 미리 읽기 힌트를 전송하여 나중에 요청될 페이지를 알립니다. 주 서버에서는 페이지에 대한 미리 읽기 힌트를 수신한 후 해당 페이지를 송신 버퍼에 배치합니다. 이렇게 하면 해당되는 페이지 요청을 받았을 때 주 서버에서 즉시 응답할 수 있습니다.

손상된 페이지의 자동 복구

SQL Server 2008 이상 버전에서 실행 중인 데이터베이스 미러링 파트너는 데이터 페이지를 읽지 못하게 하는 특정 오류 유형을 자동으로 해결하려고 시도합니다. 페이지를 읽지 못하는 파트너는 다른 파트너로부터 새 복사본을 요청합니다. 이 요청이 성공하면 읽을 수 없는 페이지는 새 복사본으로 대체되고 일반적으로 오류가 해결됩니다. 자세한 내용은 데이터베이스 미러링 세션 중 자동 페이지 복구를 참조하십시오.