데이터베이스 미러링 일시 중지 및 재개(SQL Server)

적용 대상:SQL Server

언제든지 SQL Server 데이터베이스 미러링 세션을 일시 중지하고 나중에 다시 시작할 수 있습니다. 일시 중지는 미러링을 일시 중단하는 동안 세션 상태를 유지합니다. 병목 상태에서 일시 중지는 주 서버의 성능을 높이는 데 유용할 수 있습니다.

세션이 일시 중지되면 주 데이터베이스는 계속 사용할 수 있습니다. 세션을 일시 중지하면 미러링 세션의 상태가 SUSPENDED로 설정되고 미러 데이터베이스가 주 데이터베이스보다 뒤쳐지므로 노출된 상태로 주 데이터베이스가 실행됩니다.

일시 중지된 세션을 빨리 재개하는 것이 좋습니다. 데이터베이스 미러링 세션이 일시 중지된 동안에는 트랜잭션 로그를 자를 수 없으므로 따라서 데이터베이스 미러링 세션이 너무 오랫동안 일시 중지되면 트랜잭션 로그가 채워져서 데이터베이스를 사용할 수 없게 됩니다. 이렇게 되는 이유에 대한 자세한 내용은 뒤에 나오는 "로그 잘림에 대한 일시 중지 및 재개의 영향"을 참조하세요.

Important

강제 서비스에 따라 원래 주 서버가 다시 연결되면 미러링이 일시 중지됩니다. 이 상황에서 미러링을 다시 시작하면 원래 주 서버에서 데이터가 손실될 수 있습니다. 잠재적인 데이터 손실을 관리하는 방법에 대한 자세한 내용은 데이터베이스 미러링 운영 모드를 참조하세요.

항목 내용:

로그 잘림에 대한 일시 중지 및 재개의 영향

일반적으로 데이터베이스에서 자동 검사점이 수행되면 해당 트랜잭션 로그가 다음 로그 백업 후 해당 검사점으로 잘립니다. 데이터베이스 미러링 세션이 일시 중지된 동안 주 서버가 미러 서버로 보내기를 기다리고 있으므로 모든 현재 로그 레코드가 다시 활성화됩니다. 세션이 다시 시작되고 주 서버가 로그 레코드를 미러 서버로 보낼 때까지 미전송 로그 레코드가 주 데이터베이스의 트랜잭션 로그에 누적됩니다.

세션이 다시 시작되면 주 서버는 즉시 누적된 로그 레코드를 미러 서버로 보내기 시작합니다. 미러 서버가 가장 오래된 자동 검사점에 해당하는 로그 레코드가 큐에 대기했음을 확인한 후, 주 서버는 주 데이터베이스의 로그를 해당 검사점으로 자릅니다. 미러 서버는 동일한 로그 레코드에서 다시 실행 큐를 자릅니다. 연속된 각 검사점에 대해 이 프로세스가 반복되므로 로그는 검사점을 기준으로 단계별로 잘립니다.

참고 항목

검사점 및 로그 잘림에 대한 자세한 내용은 데이터베이스 검사점(SQL Server)을 참조하세요.

꽉 찬 트랜잭션 로그 방지

로그가 가득 차면(최대 크기에 도달하거나 서버 인스턴스의 공간이 부족한 경우) 데이터베이스는 더 이상 업데이트를 수행할 수 없습니다. 이 문제를 방지하려면 다음 두 가지 대안이 있습니다.

  • 로그가 채워지기 전에 데이터베이스 미러링 세션을 다시 시작하거나 로그 공간을 더 추가합니다. 데이터베이스 미러링을 다시 시작하면 주 서버가 누적된 활성 로그를 미러 서버로 보내고 미러 데이터베이스를 SYNCHRONIZING 상태로 만듭니다. 그런 다음 미러 서버는 디스크에 대한 로그를 저장하고 다시 실행하기 시작할 수 있습니다.

  • 미러링을 제거하여 데이터베이스 미러링 세션을 중지합니다.

    세션을 일시 중지하는 것과 달리 미러링을 제거하면 미러링 세션에 대한 모든 정보가 삭제됩니다. 각 파트너 서버 인스턴스는 데이터베이스의 자체 복사본을 유지합니다. 이전 미러 복사본이 복구되면 이전 주 복사본에서 나뉘게 되고 세션이 일시 중지된 후 경과된 시간만큼 뒤쳐져 있을 것입니다. 자세한 내용은 데이터베이스 미러링 제거(SQL Server)를 참조하세요.

관련 작업

데이터베이스 미러링 일시 중단 또는 재개 방법

데이터베이스 미러링 중단 방법

참고 항목

ALTER DATABASE(Transact-SQL)
데이터베이스 미러링(SQL Server)
데이터베이스 미러링 제거(SQL Server)