Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

증상

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

  • 롤링 업그레이드의 일부로 가용성 그룹의 보조 복제본을 호스트 하는 서버에서 Microsoft SQL Server 2014 또는 Microsoft SQL Server 2012 서비스 팩 2(sp2)를 실행 하 고 있습니다.

  • 다음 업데이트 중 하나를 SQL Server 설치에 적용 했습니다.

    • SQL Server 2014 누적 업데이트 5

    • SQL Server 2012 서비스 팩 2 누적 업데이트 4

    • SQL Server 2012 서비스 팩 2 누적 업데이트 3

    중요 이 문서에 나와 있는 핫픽스는 이러한 누적 업데이트를 대체 합니다. 아직 수행 하지 않은 경우에는이 업데이트를 설치 하지 마세요.

  • 누적 업데이트 설치를 완료 하려면이 보조 복제본을 다시 시작 합니다.

  • 업데이트 된 보조 복제본을 주 역할로 전환 하는 가용성 그룹을 장애 조치 (인) 합니다.

이 시나리오에서는 SQL Server를 실행 중이 고 현재 가용성 그룹의 기본 복제본을 호스트 하는 서버에서 다음 현상 중 하나 이상이 발생할 수 있습니다.

  • 보조 복제본은 "동기화 하지 않음"으로 보고 됩니다.

  • Sys.dm_exec_requests를 쿼리하면 사용자 세션과 해당 명령이 "DB_STARTUP"으로 보고 되는 세션 사이에 간헐적인 잠금 차단이 표시 됩니다. 또한 검사점 과 DB_STARTUP 명령 사이에 차단 하는 것을 볼 수 있습니다.

  • 가용성 데이터베이스 중 하나를 복구 하는 세션과 관련 된 교착 상태는 SQL Server 오류 로그에 보고 됩니다. 이러한 로그는 다음과 유사 합니다. <date/time> spid<xx> Recovery is writing a checkpoint in database <dbname/dbid>. This isan informational message only. No user action is required.<date/time> spid<xx> Recovery completed for database <dbname/dbid> in <x> second(s) (analysis<x> ms, redo <x> ms, undo <x> ms.) This is an informational message only. No user action is required.…<date/time> spid<xx> Error: 1205, Severity: 13, State: 28.<date/time> spid<xx> Transaction (Process ID <xx>) was deadlocked on lock resources with anotherprocess and has been chosen as the deadlock victim. Rerun the transaction.

  • Microsoft SQL Server Service Broker에서 가용성 데이터베이스를 사용 하는 경우 가용성 데이터베이스의 메시지가 성공적으로 처리 되지 않을 수 있습니다. 프로필러 추적 도구를 시작 하 고 "Broker: 메시지 분류" 이벤트를 캡처하면 다음 이벤트가 캡처됩니다.

    9791, 보낸 사람의 데이터베이스에서 broker가 비활성화 됨

참고 이는 체계적인 문제가 아닙니다. 이 문제가 발생 하지 않고 AlwaysOn 구성에서 이러한 누적 업데이트를 적용할 수 있습니다. 이러한 누적 업데이트를 이미 적용 했 고이 문제가 발생 하지 않은 경우 시스템은 영향을 받지 않으며,이 정보는 귀하에 게 적용 되지 않습니다.

원인

이 문제는 시스템 스레드와 사용자 연결 간에 경쟁 조건이 발생 하는 경우가 종종 있기 때문에 발생 합니다. 이렇게 하면 누적 업데이트의 패칭 논리가 업데이트 프로세스를 완료 하는 데 필요한 잠금을 얻을 수 없습니다.

해결 방법

이 문제를 해결 하려면 다음과 같은 필수 주문형 (COD) 핫픽스를 적용 합니다.

3034679 FIX: AlwaysOn 가용성 그룹이 동기화 되지 않는 것으로 보고 될 수 있음중요 다음과 같은 누적 업데이트 대신이 COD 핫픽스를 적용 해야 합니다.

  • SQL Server 2014 누적 업데이트 5

  • SQL Server 2012 서비스 팩 2 누적 업데이트 4

  • SQL Server 2012 서비스 팩 2 누적 업데이트 3

참고 이러한 누적 업데이트를 이미 적용 한 경우 다음 해결 방법을 사용 하 여이 문제를 해결 해야 합니다.

해결 방법

이 문제는 데이터베이스를 주 역할로 전환 하는 동안 가용성 데이터베이스와 사용자 세션 간의 충돌 때문에 발생 하므로이 경합을 제거 하 여 데이터베이스가이 상태에서 복구 될 수 있도록 해야 합니다. 이 문제를 해결 하려면 다음 단계를 따르세요.

  1. 지정 된 순서로 다음 메서드를 실행 합니다.

    방법 1: 데이터베이스 액세스 제거"현상" 절에 나와 있는 증상이 발생 하는 경우에는 다음 단계 중 하나 또는 모두를 사용 하 여 잠금 차단 조건을 제거 해야 합니다.

    • 쿼리를 사용 하 여 가용성 데이터베이스에서 잠금 차단이 발생 하는 세션을 찾을 sys.dm_exec_requests . 이 세션을 종료 하려면 KILL 문을 사용 합니다.

    • 가용성 데이터베이스에 액세스 하는 응용 프로그램을 사용 하지 않도록 설정 하거나 중지 합니다.

    방법 1이 문제가 해결 되지 않으면 방법 2로 이동 합니다.

    방법 2: SQL Server 호스트 서버 다시 시작응용 프로그램 액세스 및 사용자 액세스가 계속 사용 하지 않도록 설정 되어 있으면 해당 가용성 데이터베이스를 호스트 하는 SQL Server 인스턴스를 다시 시작 합니다. 이렇게 하려면 다음 단계를 수행하세요.

    1. 가용성 그룹의 자동 장애 조치를 사용 하지 않도록 설정 합니다.

    2. 주 복제본을 호스트 하는 해당 SQL Server 인스턴스를 다시 시작 합니다.

    3. 가용성 그룹의 자동 장애 조치 (failover)를 사용 하도록 설정 합니다.

  2. 영향을 받는 데이터베이스가 완전히 복구 되 면 응용 프로그램 및 사용자 연결을 다시 설정 합니다.

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.

참조

이 문제의 영향을 받는 누적 업데이트에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조 하세요.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×