미러링 상태(SQL Server)
적용 대상: SQL Server
데이터베이스 미러링 세션 중에 미러된 데이터베이스는 항상 특정 상태( 미러링 상태)에 있습니다. 데이터베이스의 상태는 통신 상태, 데이터 흐름 및 파트너 간의 데이터 차이를 반영합니다. 데이터베이스 미러링 세션은 주 데이터베이스와 동일한 상태를 채택합니다.
데이터베이스 미러링 세션 전체에서 서버 인스턴스는 서로를 모니터링합니다. 파트너는 미러링 상태를 사용하여 데이터베이스를 모니터링합니다. PENDING_FAILOVER 상태를 제외하고 주 데이터베이스와 미러 데이터베이스는 항상 동일한 상태입니다. 세션에 대한 감시가 설정된 경우 각 파트너는 연결 상태(CONNECTED 또는 DISCONNECTED)를 사용하여 미러니스를 모니터링합니다.
가능한 데이터베이스 미러링 상태는 다음과 같습니다.
미러링 상태 | 설명 |
---|---|
SYNCHRONIZING | 미러 데이터베이스의 내용이 주 데이터베이스의 내용보다 뒤쳐지고 있습니다. 주 서버는 로그 레코드를 미러 서버로 보내고, 미러 데이터베이스에 변경 내용을 적용하여 롤아웃합니다. 데이터베이스 미러링 세션이 시작될 때 데이터베이스는 SYNCHRONIZING 상태입니다. 주 서버가 데이터베이스를 제공하고 있으며 미러가 따라잡으려고 합니다. |
SYNCHRONIZED | 미러 서버가 주 서버에 충분히 catch되면 미러링 상태가 SYNCHRONIZED로 변경됩니다. 주 서버에서 변경 내용을 미러 서버로 계속 보내고 미러 서버에서 변경 내용을 미러 데이터베이스에 계속 적용하는 한 데이터베이스는 이 상태로 유지됩니다. 트랜잭션 안전이 FULLautomatic 장애 조치(failover)로 설정되고 수동 장애 조치(failover)가 모두 SYNCHRONIZED 상태에서 지원되는 경우 장애 조치(failover) 후 데이터가 손실되지 않습니다. 트랜잭션 보안을 해제하면 SYNCHRONIZED 상태에서도 항상 일부 데이터가 손실될 수 있습니다. SQL Server Management Studio에서 데이터베이스 상태가 복원 중으로 표시됩니다. 실제 상태는 sys.database_mirroring에서 mirroring_state_desc 열을 쿼리합니다. |
SUSPENDED | 데이터베이스의 미러 복사본을 사용할 수 없습니다. 주 데이터베이스는 로그를 미러 서버로 보내지 않고 실행 중이며, 이를 노출된 실행이라고 합니다. 장애 조치(failover) 후의 상태입니다. 다시 실행 오류로 인해 또는 관리자가 세션을 일시 중지하는 경우 세션이 일시 중단될 수도 있습니다. SUSPENDED는 파트너 종료 및 시작에서 유지되는 영구적 상태입니다. |
PENDING_FAILOVER | 이 상태는 장애 조치(failover)가 시작된 후에 주 서버에서만 찾을 수 있지만 서버는 미러 역할로 전환되지 않았습니다. 장애 조치(failover)가 시작되면 주 데이터베이스는 PENDING_FAILOVER 상태로 전환되고, 사용자 연결을 신속하게 종료하고, 그 후 곧 미러 역할을 맡게 됩니다. |
DISCONNECTED | 파트너는 다른 파트너와의 통신을 잃었습니다. |