증상

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

  • Microsoft SQL Server 2016, 2014 또는 2012을 사용 하 고 있습니다.

  • AlwaysOn 가용성 그룹의 일부인 데이터베이스가 있습니다.

  • 주 복제본에서 데이터베이스 파일을 축소 하 여 크기를 줄입니다.

  • 주 복제본은 트랜잭션 로그에 기록 된 모든 변경 내용을 보조 복제본에 보냅니다.

  • 보조 복제본에서 다시 실행 스레드는 트랜잭션 로그의 변경 내용을 가용성 그룹의 일부인 데이터베이스에 적용 합니다.

이 시나리오에서는 복제본이 일시 중단 됩니다. 또한 다음과 같은 오류 메시지가 나타날 수 있습니다.

<타임 스탬프> spid41s 오류: 3456, 심각도: 21, State: 1. <타임 스탬프> spid41s에서 로그 레코드 (#)를 다시 실행할 수 없습니다 (#), page (#), database ' <dbname> ' (데이터베이스 ID #). Page: LSN = (#), 배정 단위 = #, type = #을 입력 합니다. 로그: OpCode = #, context #, PrevPageLSN: (#). 데이터베이스의 백업에서 복원 하거나 데이터베이스를 복구 합니다. spid41s AlwaysOn 가용성 그룹> ' <dbname> ' 데이터베이스의 데이터 이동이 다음 이유로 인해 일시 중단 되었습니다: "system" (원본 ID 2) <. 원본 문자열: ' SUSPEND_FROM_REDO '). 데이터베이스에서 데이터 이동을 다시 시작 하려면 데이터베이스를 수동으로 다시 시작 해야 합니다. 가용성 데이터베이스를 다시 시작 하는 방법에 대 한 자세한 내용은 SQL Server 온라인 설명서를 참조 하세요. <타임 스탬프> spid41s 오류: 3313, 심각도: 21, State: 2. ' <dbname> ' 데이터베이스의 로깅된 작업을 다시 실행 하는 동안 <타임 스탬프> spid41s 로그 레코드 ID (#)에서 오류가 발생 했습니다. 일반적으로 Windows 이벤트 로그 서비스에는 특정 실패가 이전에 오류로 기록 됩니다. 전체 백업에서 데이터베이스를 복원 하거나 데이터베이스를 복구 합니다.

원인

이 문제는 데이터베이스 엔진이 시스템 페이지 (GAM, PFS)에서 순서가 너무 오래 된 것을 발견 한 경우 다시 실행 프로세스 동안 변경 내용이 적용 되는 경우에 발생 합니다.

해결 방법

이 문제는 SQL Server의 다음과 같은 누적 업데이트에서 처음 수정 되었습니다.

각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 다운로드 하 여 설치 하는 것이 좋습니다.

업데이트는이 문제가 발생 하지 않도록 합니다. 문제가 이미 발생 한 경우 다음 단계에 따라 AlwaysOn 가용성 그룹에 다시 참가 합니다.

  1. 기존의 AlwaysOn 보조 복제본을 제거 합니다.

  2. 해당 데이터 파일에서 다음 명령을 실행 하 여 데이터베이스에서 할당 되지 않은 공간을 제거 합니다.

    DBCC SHRINKFILE(<file_id>, TRUNCATEONLY)

  3. 데이터베이스 및 로그 파일을 백업 합니다.

  4. AlwaysOn 보조 복제본에 데이터베이스와 로그를 복원 합니다.

  5. AlwaysOn 가용성 그룹에 참가 합니다.

상태

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

참조

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

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

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

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