Applies ToSQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 on Windows

증상

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

  • Microsoft SQL Server 2016 SP2(서비스 팩 2) CU2(누적 업데이트 2) 이상 버전을 사용합니다.

  • 많은 데이터베이스(일반적으로 200개 이상)를 호스트하는 인스턴스를 실행하고 있으며, 인스턴스는 Always On AG(가용성 그룹)(일반적으로 보조 서버 역할)의 일부입니다. 참고 모든 사용자 데이터베이스는 AG에 속할 필요가 없습니다.

  • VSS(볼륨 섀도 복사본 서비스) 애플리케이션을 실행하여 SQL Server 인스턴스의 전체 또는 일부 데이터베이스의 백업을 요청합니다.

이 시나리오에서 SQL 기록기 서비스 교착 상태에 도달하고 마스터의 내부 시스템 테이블에 대한 잠금을 무기한 유지할 수 있습니다(object_id 28인 sys.sysdbreg). 또한 이러한 잠금은 sys.dm_hadr_database_replica_states 같은 시스템 DMV(동적 관리 뷰)에서 읽을 수 없으므로 인스턴스의 주요 보조 차단으로 이어질 수 있습니다. 또한 블록 체인 분석은 SQL Server VSS 기록기에서 시작된 다음 문을 헤드 블로커로 반환합니다.

"master.sys.databases에서 이름, recovery_model_desc, state_desc, CONVERT(정수, is_in_standby), ISNULL(source_database_id,0)을 선택합니다."

그러면 SQL Server 대기 상태가 ASYNC_NETWORK_IO.

참고 ASYNC_NETWORK_IO 대기가 구현되므로 wait_time 2초(2,000ms)를 초과하지 않습니다. 그러나 대기 유형은 무기한으로 유지되며 이 상황은 자체적으로 차단을 해제하지 않습니다. 상황을 차단 해제하려면 SQL 기록기 서비스 종료해야 합니다.

이 헤드 블로커에 의해 차단된 SPID 중에는 종종 DBSTARTUP SPID(alwayson 보조 DB 다시 실행)가 있습니다.

상태

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

해결 방법

이 문제는 SQL Server 대한 다음 누적 업데이트에서 해결되었습니다.

SQL Server 대한 누적 업데이트 정보:

SQL Server 대한 각각의 새로운 누적 업데이트에는 모든 핫픽스 및 이전 누적 업데이트에 포함된 모든 보안 수정 사항이 포함됩니다. SQL Server 대한 최신 누적 업데이트를 확인하세요.

참조

Microsoft에서 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아봅니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

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

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