SQL Server 데이터베이스 미러 다시 시작한 후 미러된 데이터베이스의 연결이 끊어집니다.

이 문서는 미러된 데이터베이스가 연결 끊김 또는 복구 중 상태로 남아 있는 문제를 resolve 데 도움이 됩니다.

원래 제품 버전: SQL Server
원래 KB 번호: 2490051

증상

다음과 같은 경우를 생각해볼 수 있습니다.

  • 두 서버 데이터베이스 미러 Microsoft SQL Server 보조 instance 실행하는 컴퓨터가 있습니다.

  • 컴퓨터에서 CPU 사용량이 100%에 도달하면 SQL Server 관리 도구를 사용하여 SQL Server 서비스를 중지할 수 없습니다.

  • 작업 관리자를 사용하여 SQL Server 보조 instance 프로세스를 종료합니다.

  • SQL Server 보조 instance 다시 시작합니다.

이 시나리오에서 미러된 모든 데이터베이스는 연결 끊김 또는 복구 중 상태입니다. 또한 다음과 유사한 오류 메시지가 각 데이터베이스에 대한 SQL Server 오류 로그에 기록됩니다.

액세스할 수 없는 데이터베이스 미러링 데이터베이스로 표시되므로 데이터베이스 '데이터베이스 이름'에 대한 복구를 우회합니다. 미러링 세션에 문제가 있습니다. 세션에 쿼럼이 없거나 링크, 엔드포인트 구성 또는 권한 문제(서버 계정 또는 보안 인증서의 경우)로 인해 통신 링크가 끊어집니다. 데이터베이스에 액세스하려면 세션 구성에서 변경된 내용을 파악하고 변경 내용을 실행 취소합니다.

원인

이 문제는 SQL Server 데이터베이스 미러링 엔드포인트의 문제로 인해 발생합니다.

해결 방법

이 문제를 resolve 하려면 다음 메서드를 사용합니다. 첫 번째 메서드가 문제를 resolve 않는 경우 두 번째 메서드를 사용합니다.

방법 1

데이터베이스 미러 엔드포인트를 재활용합니다. 이렇게 하려면 다음과 같이 하십시오.

  1. 주 데이터베이스에서 다음 SQL 스크립트를 실행하여 엔드포인트를 중지합니다.

    ALTER ENDPOINT <Endpoint Name> STATE=STOPPED
    
  2. 다음 SQL 스크립트를 실행하여 엔드포인트를 다시 시작합니다.

    ALTER ENDPOINT <Endpoint Name> STATE=STARTED
    

    참고

    스크립트를 실행한 후 엔드포인트 간의 통신이 다시 시작되지 않으면 데이터베이스 미러 스크립트를 실행합니다. 그러나 데이터베이스는 이 작업을 수행한 후 일시 중단됨 상태로 들어갈 수 있습니다. 이 문제가 발생하면 다음 SQL 스크립트를 실행합니다.

    ALTER DATABASE <Database Name> SET PARTNER RESUME
    

방법 2

두 서버에서 데이터베이스 미러링 엔드포인트를 삭제하고 다시 만듭니다.