고가용성 솔루션 개요

이 섹션에서는 서버나 데이터베이스의 가용성을 개선하는 여러 가지 SQL Server 고가용성 솔루션을 소개합니다. 고가용성 솔루션은 하드웨어 또는 소프트웨어 오류의 영향을 차단하고 응용 프로그램의 가용성을 유지하여 사용자가 인지하는 작동 중단을 최소화합니다.

SQL Server는 서버 또는 데이터베이스의 고가용성 유지를 위한 여러 가지 옵션을 제공합니다. 고가용성 옵션에는 다음이 포함됩니다.

  • 장애 조치(Failover) 클러스터링

    장애 조치(Failover) 클러스터링은 전체 SQL Server 인스턴스에 대해 고가용성 지원을 제공합니다. 장애 조치(Failover) 클러스터는 하나 이상의 노드 또는 서버와 둘 이상의 공유 디스크를 조합한 것입니다. 응용 프로그램들은 리소스 그룹으로 알려진 MSCS(Microsoft Cluster Service) 클러스터 그룹에 각각 설치됩니다. 어느 시점이든 각 리소스 그룹은 클러스터의 한 노드에 의해서만 소유할 수 있습니다. 이러한 응용 프로그램 서비스는 노드 이름과는 무관한 가상 이름을 가지며 장애 조치(Failover) 클러스터 인스턴스 이름으로서 참조됩니다. 응용 프로그램은 장애 조치(Failover) 클러스터 인스턴스 이름을 참조하여 장애 조치(Failover) 클러스터 인스턴스와 연결할 수 있습니다. 응용 프로그램은 어느 노드가 장애 조치(Failover) 클러스터 인스턴스를 호스팅하는지 몰라도 됩니다.

    SQL Server 장애 조치(Failover) 클러스터는 네트워크에서 한 대의 컴퓨터처럼 보이지만 현재 노드를 사용할 수 없을 때 노드 간 장애 조치(Failover) 기능을 제공합니다. 예를 들어 디스크 이외의 하드웨어 오류, 운영 체제 오류 또는 계획된 운영 체제 업그레이드 작업 중에 장애 조치(Failover) 클러스터의 한 노드에 SQL Server 인스턴스를 구성하여 디스크 그룹의 다른 노드에 대해 장애 조치(Failover)를 수행할 수 있습니다.

    그러나 장애 조치(Failover) 클러스터는 디스크 오류에 대한 대비책은 아닙니다. 장애 조치(Failover) 클러스터링을 사용하여 시스템 작동 중단을 줄이고 더 높은 응용 프로그램 가용성을 제공할 수 있습니다. 장애 조치(Failover) 클러스터링은 SQL Server Enterprise 및 SQL Server Developer 그리고 일부 제한 사항이 있지만 SQL Server Standard에서도 지원됩니다. 장애 조치(Failover) 클러스터링에 대한 자세한 내용은 SQL Server 2008 장애 조치(Failover) 클러스터링 시작SQL Server 2008 장애 조치(Failover) 클러스터 설치를 참조하십시오.

  • 데이터베이스 미러링

    데이터베이스 미러링은 주로 즉석 장애 조치(Failover)를 지원함으로써 데이터베이스 가용성을 높여 주는 소프트웨어 솔루션입니다. 데이터베이스 미러링을 사용하여 주 데이터베이스라는 해당 프로덕션 데이터베이스에 대해 하나의 대기 데이터베이스, 즉 미러 데이터베이스를 유지 관리할 수 있습니다.

    미러 데이터베이스는 복구 없이 주 데이터베이스의 데이터베이스 백업을 복원하는 방법으로 생성됩니다. 이러한 이유 때문에 미러 데이터베이스는 클라이언트에서 액세스할 수 없습니다. 하지만 미러 데이터베이스에 데이터베이스 스냅숏을 만들면 미러 데이터베이스를 보고의 용도로 간접적으로 사용할 수 있습니다. 데이터베이스 스냅숏은 스냅숏을 만든 시점의 데이터베이스 내 데이터를 클라이언트가 읽기 전용으로 액세스할 수 있게 해줍니다.

    각 데이터베이스 미러링 구성에는 주 데이터베이스를 포함하는 주 서버와 미러 데이터베이스를 포함하는 미러 서버가 포함됩니다. 미러 서버는 지속적으로 미러 데이터베이스를 주 데이터베이스의 최신 내용으로 업데이트합니다.

    데이터베이스 미러링은 보호 우선 모드에서 동기 작업으로 실행되거나 성능 우선 모드에서 비동기 작업으로 실행됩니다. 성능 우선 모드에서는 미러 서버가 로그를 디스크에 쓸 때까지 기다리지 않고 트랜잭션이 커밋되므로 성능이 극대화됩니다. 보호 우선 모드에서는 커밋된 트랜잭션이 두 파트너에서 모두 커밋되지만 트랜잭션 대기 시간이 길어질 위험이 있습니다.

    가장 간단한 구성의 데이터베이스 미러링에서는 주 서버와 미러 서버만 사용됩니다. 이 구성에서 주 서버가 손실된 경우 미러 서버를 웜 대기 서버로 사용할 수 있지만 데이터가 손실될 수 있습니다. 보호 우선 모드는 자동 장애 조치(Failover) 있는 보호 우선 모드라는 대체 구성을 지원합니다. 이 구성에는 미러 서버를 상시 대기 서버로 작동시킬 수 있는 미러링 모니터 서버라는 세 번째 서버 인스턴스가 포함됩니다. 주 데이터베이스에서 미러 데이터베이스로의 장애 조치(Failover)는 일반적으로 몇 초 내에 이루어집니다.

    SQL Server 2005 SP1(서비스 팩 1)부터 SQL Server Standard 및 SQL Server Enterprise에서 데이터베이스 미러링 파트너 및 미러링 모니터가 지원됩니다. 그러나 이를 위해서는 파트너가 동일한 버전을 사용해야 하며, 비동기 데이터베이스 미러링(성능 우선 모드)은 SQL Server Enterprise에서만 지원됩니다. 미러링 모니터는 SQL Server Workgroup 및 SQL Server Express에서도 지원됩니다.

    데이터베이스 미러링에 대한 자세한 내용은 데이터베이스 미러링을 참조하십시오.

  • 로그 전달

    데이터베이스 미러링과 마찬가지로 로그 전달은 데이터베이스 수준에서 작동합니다. 로그 전달을 사용하여 주 데이터베이스라고 하는 해당 프로덕션 데이터베이스에 대한 웜 대기 데이터베이스를 한 개 이상 유지 관리할 수 있습니다. 대기 데이터베이스는 보조 데이터베이스라고도 합니다. 각 보조 데이터베이스는 복구 없이 또는 대기를 사용하여 주 데이터베이스의 데이터베이스 백업을 복원하는 방법으로 생성됩니다. 대기 사용 복원을 수행하면 결과 보조 데이터베이스를 제한된 보고 목적으로 사용할 수 있습니다.

    로그 전달 구성에는 단일 주 서버(주 데이터베이스 포함), 하나 이상의 보조 서버(각 보조 데이터베이스에 하나씩) 및 모니터 서버가 포함됩니다. 각 보조 서버는 주 데이터베이스의 로그 백업에서 지정된 간격으로 보조 데이터베이스를 업데이트합니다. 로그 전달 방식에서는 주 서버가 주 데이터베이스의 로그 백업을 생성한 시점과 보조 서버가 로그 백업을 복원할 시점 간의 지연을 사용자가 수정할 수 있습니다. 장애 조치(Failover)가 이루어지려면 복원되지 않은 로그 백업을 수동으로 적용하여 보조 데이터베이스를 최신 상태로 만들어야 합니다.

    로그 전달은 다중 대기 데이터베이스를 지원할 수 있는 유연성을 제공합니다. 여러 개의 대기 데이터베이스가 필요한 경우 로그 전달만 사용하거나 데이터베이스 미러링의 보완 솔루션으로서 로그 전달을 사용할 수 있습니다. 두 솔루션을 함께 사용할 때는 데이터베이스 미러링 구성의 현재 주 데이터베이스가 로그 전달 구성의 현재 주 데이터베이스이기도 합니다.

    로그 전달은 SQL Server Enterprise Edition, Standard Edition 및 Workgroup Edition에서 지원됩니다. 로그 전달에 대한 자세한 내용은 로그 전달 개요로그 전달 관리를 참조하십시오.

  • 복제

    복제는 게시-구독 모델을 사용하여 주 서버(게시자)가 하나 이상의 보조 서버(구독자)에 데이터를 배포할 수 있도록 합니다. 복제는 이들 서버 전체에 걸쳐 실시간 가용성과 확장성을 제공합니다. 또한 구독자에 데이터의 하위 집합을 제공하기 위한 필터링을 지원하고 분할 업데이트를 허용합니다. 구독자는 온라인 상태이며 쿼리 복구 없이 보고 또는 다른 기능에 사용할 수 있습니다. SQL Server에서는 스냅숏, 트랜잭션 및 병합 등 세 가지 유형의 복제를 제공합니다. 트랜잭션 복제는 대기 시간이 가장 짧기 때문에 고가용성을 위해 일반적으로 사용됩니다. 자세한 내용은 확장성 및 가용성 향상을 참조하십시오.

    복제는 SQL Server의 모든 버전에서 지원됩니다. 복제 게시 기능은 SQL Server Express 또는 SQL Server Compact 3.5 SP1에서 사용할 수 없습니다.

    중요 정보중요

    모든 고가용성 솔루션에는 제대로 설계되고 구현된 백업 및 복원 전략이 매우 중요합니다. 자세한 내용은 SQL Server의 데이터베이스 백업 및 복원복제된 데이터베이스 백업 및 복원을 참조하십시오.

  • 확장 가능 공유 데이터베이스

    확장 가능 공유 데이터베이스 기능을 사용하면 보고용으로만 작성된 읽기 전용 데이터베이스를 확장할 수 있습니다. 보고 데이터베이스는 주로 데이터베이스를 호스팅하는 용도로 사용되는 특별한 읽기 전용 볼륨 세트에 있어야 합니다. 서버 및 볼륨에 상용 하드웨어를 사용하면 여러 보고 서버에서 동일한 보고 데이터 뷰를 제공하는 보고 데이터베이스를 확장할 수 있습니다. 이 기능을 통해 보고 데이터베이스를 편리하게 업데이트할 수도 있습니다. 자세한 내용은 확장 가능 공유 데이터베이스 개요를 참조하십시오.

섹션 내용

항목

설명

고가용성 솔루션 선택

고가용성 솔루션 선택 시 고려 사항에 대해 설명합니다.