들어가는 글 |
||||||||||||||||||||||||||||||||||||||||||||||||
데이터베이스 미러링은 데이터베이스 가용성을 증가시키기 위한 새로운 SQL Server 2005 기술입니다. 데이터베이스 미러링 은 트랜잭션 로그 레코드를 한 서버에서 다른 서버로 직접 전송하고 대기 서버로 신속하게 장애 조치할 수 있습니다. 클라이언 트 응용 프로그램이 연결 정보를 자동으로 재전송하고 장애 조치의 경우 대기 서버와 데이터베이스에 자동으로 연결하도록 코딩할 수 있습니다. 데이터 손실을 |
||||||||||||||||||||||||||||||||||||||||||||||||
데이터베이스 미러링 개요 |
||||||||||||||||||||||||||||||||||||||||||||||||
데이터베이스 미러링에서 원래 SQL Server 2005 인스턴스는 다른 대기 SQL Server 인스턴스에 있는 데이터베이스 복사본으 로 데이터베이스 트랜잭션 로그 레코드를 지속적으로 보냅니다. 원본 데이터베이스와 서버에는 주 서버의 역할이 있으며 수신 데이터베이스와 서버에는 미러 서버의 역할이 있습니다. 주 서버와 미러 서버는 SQL Server 2005의 개별 인스턴스가 되어야 합니다. 모든 SQL 미러 서버가 로그 레코드 블록을 주 서버와 미러 서버는 각각 데이터베이스 미러링 세션의 파트너로 간주됩니다. 데이터베이스 미러링 세션은 한 파트너에서 두 파트너 서버(주 서버 및 미러 서버) 이외에 데이터베이스 미러링 데이터베이스 미러링에 대해 유의할 몇 가지 중요한 사항은 다음과 ? 주 데이터베이스는 FULL 복구 모델에 있어야 합니다. 대량 로그 작업의 로그 레코드는 미러 ?미러 데이터베이스는 NORECOVERY를 ?미러 데이터베이스 이름은 주 데이터베이스 이름과 같아야 합니다. ? 미러 데이터베이스가 복구 중인 상태에 있기 때문에 직접 액세스할 수 없습니다. 미러에 데이터베이스 주: 데이터베이스 미러링과 관련된 용어에 대한 자세한 내용은 SQL Server 2005 온라인 |
||||||||||||||||||||||||||||||||||||||||||||||||
작동 모드 | ||||||||||||||||||||||||||||||||||||||||||||||||
데이터베이스 미러링 세션에 대해 세 가지 가능한 작동 모드가 있습니다. 정확한 모드는 트랜잭션 안전 및 감시 서버가 미러링 세션의 일부인지 여부를 기초로 합니다. |
||||||||||||||||||||||||||||||||||||||||||||||||
표 1. 데이터베이스 미러링 작동 모드 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||
안전이 FULL인 경우 비동기 데이터 전송이 발생하고 데이터베이스 서비스를 위해 쿼럼이 필요합니다. 쿼럼 투표에는 각각의 두 파트너 서버가 재생해야 하는 역할, 주 또는 미러를 결정하기 위해 최소 두 서버가 필요합니다. 세 개의 작동 모드를 자세히 알아 보려면 먼저 트랜잭션 안전과 쿼럼 역할을 자세히 살펴 보십시오. |
||||||||||||||||||||||||||||||||||||||||||||||||
트랜잭션 안전성 | ||||||||||||||||||||||||||||||||||||||||||||||||
트랜잭션 안전성(또는 그냥‘안전성’)이 FULL로 설정된 경우 주 서버와 미러 서버는 동기 전송 모드로 작동합니다. 기본 서버가 주 데이터베이스 로그 레코드를 디스크에 저장할 때 해당 레코드를 미러 서버에도 보냅니다. 주 서버는 미러 서버의 응답을 기다립니다. 같은 로그 레코드를 미러 서버의 로그 디스크에 저장하면 미러가 응답합니다. 안전성이 OFF로 설정되면 기본 서버는 미러로부터 승인을 기다리지 않으므로 미러는 완전히 동기화되지 않을 수 있습니다. 즉, 미러가 주 서버와 동일한 상태를 유지하지 못할 수 있습니다. 동기 전송은 미러 데이터베이스의 트랜잭션 로그에 있는 모든 트랜잭션이 주 데이터베이스의 트랜잭션 로그와 동기화될 수 있도록 하므로 ALTER 안전성이 OFF로 설정되면 주 서버와 미러 사이의 |
||||||||||||||||||||||||||||||||||||||||||||||||
쿼럼 및 감시 서버 | ||||||||||||||||||||||||||||||||||||||||||||||||
안전성이 FULL이면 데이터베이스 미러링 세션은 쿼럼을 사용하여 데이터베이스 서비스를 유지합니다. 쿼럼은 동기 데이터베 이스 미러링 세션에서 필요로 하는 모든 연결된 서버 사이에 최소 관계를 나타냅니다. 쿼럼에는 최소 두 서버가 필요하기 때문 에 안전성이 FULL이면 주 서버는 데이터베이스의 서비스를 유지하기 위해 최소 하나의 다른 서버와 쿼럼을 구성해야 합니다. 감시 서버는 쿼럼 구성에서 주 서버나 미러를 지원합니다. 감시 서버가 있는 경우 주 데이터베이스나 미러 데이터베이스 중 감시 서버에 장애가 발생하는 경우 주 서버와 미러 서버가 계속 |
||||||||||||||||||||||||||||||||||||||||||||||||
고가용성 작동 모드 | ||||||||||||||||||||||||||||||||||||||||||||||||
고가용성 작동 모드는 주 데이터베이스에 장애가 발생하는 경우 미러 데이터베이스로 자동 장애 조치하여 최대한의 데이터 베이스 가용성을 지원합니다. 이렇게 하려면 안전성을 FULL로 설정하고 감시 서버를 데이터베이스 미러링 세션의 일부로 정의해야 합니다. 서버 간에 빠르고 매우 안정적인 통신 경로를 갖는 고가용성 모드를 사용하는 것이 가장 좋으며 단일 고가용성 모드에서 데이터베이스 미러링은 자체 미러링입니다. 주 데이터베이스를 갑자기 사용할 수 없게 되거나 주 서버가 또한 SQL Server 2005는 복구 프로세스 초기 단계에서 사용자가 데이터베이스를 |
||||||||||||||||||||||||||||||||||||||||||||||||
높은 수준의 작동 모드 | ||||||||||||||||||||||||||||||||||||||||||||||||
높은 수준의 작동 모드에서는 트랜잭션 안전성이 FULL이지만 미러링 세션의 일부로 감시 서버가 없습니다. 주 데이터베이스 는 여전히 쿼럼을 구성해야 하지만 감시 서버가 없어 미러 서버만으로 구성해야 합니다. 이 모드에서는 타이 브레이커(tie breaker) 역할을 충족시키는 감시 서버가 없기 때문에 수동 장애 조치만 가능합니다. 주 서버에 장애가 발생하는 경우 미러 서버에는 쿼럼을 구성할 감시 서버가 없기 때문에 자동 장애 조치는 가능하지 않습니다. 안전성이 FULL이면 주 서버와 미러의 쿼럼이 |
||||||||||||||||||||||||||||||||||||||||||||||||
고성능 작동 모드 | ||||||||||||||||||||||||||||||||||||||||||||||||
고성능 작동 모드에서는 트랜잭션 안전성이 OFF이고 로그 레코드 전송이 비동기화됩니다. 주 서버는 모든 트랜잭션 로그 레코 드가 미러에 기록된 미러에서 승인되기를 기다리지 않습니다. 미러는 주 서버와 같은 상태를 유지하지만 어느 한 시점에 주 서버의 모든 최신 트랜잭션이 미러의 트랜잭션 로그에 저장될 것임을 보장하지 않습니다. 고성능 모드에서는 감시 서버는 아무 ALTER 강제 서비스 |
||||||||||||||||||||||||||||||||||||||||||||||||
데이터베이스 스냅샷 및 미러 데이터베이스 |
||||||||||||||||||||||||||||||||||||||||||||||||
미러 데이터베이스가 복구 중인 상태에 있기 때문에 액세스하거나 읽을 수 없습니다. SQL Server 2005 Enterprise Edition 및 Developer Edition에서는 데이터베이스 스냅샷을 만들어 어느 한 시점에 미러 데이터베이스를 읽을 수 있습니다. 데이터베이스 스냅샷은 데이터베이스의 읽기 전용 보기를 제공하여 스냅샷을 만드는 시점에 일관성 있는 데이터를 표시합니다. 마치 다른 데이터베이스에 있는 것처럼 데이터베이스 스냅샷에 액세스합니다. 데이터베이스 스냅샷을 쿼리하면 데이터베이스 |
||||||||||||||||||||||||||||||||||||||||||||||||
클라이언트측 측정 지표 | ||||||||||||||||||||||||||||||||||||||||||||||||
SQL Server 2005에서 ADO.NET 또는 SQL Native Client로 미러링하는 데이터베이스에 연결하는 경우 응용 프로그램은 데이 터베이스 미러링 장애 조치가 발생할 때 자동으로 연결을 리디렉션하는 드라이버 기능을 이용할 수 있습니다. 연결 문자열에 서 초기 주 서버와 데이터베이스를, 선택적으로 장애 조치 파트너 서버를 지정해야 합니다. 연결 “Data 연결 문자열에서 장애 조치 파트너는 초기 주 서버 연결이 실패하는 경우 대체 서버 이름으로 사용됩니다. 클라이언트가 주 서버에 성공적으로 연결되었고 데이터베이스 미러링 장애 조치(자동, 수동 또는 강제)가 ADO.NET 및 SQL Native Client 드라이버에 기본 제공되는 데이터베이스 미러링 지원을 사용하는 큰 ADO.NET 또는 SQL Native Client 자동 리디렉션을 사용하지 않을 경우 응용 프로그램을 장애 조치할 수 그러나 |
||||||||||||||||||||||||||||||||||||||||||||||||
Database Mirroring 및 SQL Server 2005 Edition |
||||||||||||||||||||||||||||||||||||||||||||||||
다음 표는 SQL Server 2005의 다양한 버전에서 어떤 데이터베이스 미러링 기능이 지원되는지 보여줍니다. |
||||||||||||||||||||||||||||||||||||||||||||||||
표 2. 데이터베이스 미러링 및 SQL Server 2005 Edition |
||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||
몇 가지 데이터베이스 미러링 기능은 SQL Server 2005 Enterprise or Developer Edition이 필요합니다. ? SQL Express 및 Workgroup Edition을 감시 서버로 사용할 수 있지만 |