증상

다음 시나리오를 고려하세요.

  • Microsoft SQL Server 2012 또는 이후 버전을 서버에 설치 되어 있는.

  • SQL Server 인스턴스가 AlwaysOn 가용성 그룹 환경에서 기본 복제 합니다.

  • SQL Server 트랜잭션 로그 파일 자동 증가 옵션이 설정 됩니다.

이 시나리오에서 트랜잭션 로그가 매우 커지고 공간이 부족 수도 주 복제본에서 트랜잭션 로그에 대해 설정 된 MaxSize 옵션 초과 있으며 다음과 유사한 오류 메시지가 나타납니다.

오류: 9002, 심각도: 17, 상태: 9. 데이터베이스의 트랜잭션 로그 ' %. * ls' 'AVAILABILITY_REPLICA'로 인해 꽉

원인

이 경우 보조 복제본에서 주 복제본에 대 한 기록된 변경 내용이 아직 강화 되지 됩니다. AlwaysOn 환경에서 데이터 동기화 프로세스에 대 한 자세한 내용은 다음을 검토할 수 있습니다.

문제 해결

증가 된 가용성 데이터베이스와 'AVAILABILITY_REPLICA' log_reuse_wait_desc 로그인을 일으킬 수 있는 두 가지 시나리오가 있습니다:시나리오 1: 변경 보조 로그온 대기 시간을 제공트랜잭션이 주 복제본에서 데이터를 변경 하는 경우, 이러한 변경 내용은 로그 레코드 블록으로 있고 이러한 로그 블록 전달 되며 데이터베이스 강화 보조 복제본에 대 한 로그 파일입니다. 이러한 로그 블록 배달 및 모든 보조 복제본에는 해당 데이터베이스의 로그 파일을 위해 강화 된 때까지 주 복제본 자체 로그 파일에 로그 블록을 덮어쓸 수 없습니다. 지연 배달 이나 강화 이러한 블록에 있는 모든 복제본의 가용성 그룹에서의 주 복제본의 데이터베이스에 기록 된 변경 사항을 잘림 방지 되 고 증가 하는 로그 파일 사용으로 인해.

자세한 내용은 Microsoft 문서에 다음 항목을 검토 합니다.

주 복제본에서 로그 점진적으로 인해 과도 한 네트워크 대기 시간이 나 낮은 네트워크 처리량

시나리오 2: 대기 시간을 다시 실행 합니다. 보조 데이터베이스의 로그 파일에 강화를 하 고 나면 보조 복제본 인스턴스의 전용된 다시 실행 스레드가 해당 데이터 파일에 포함 된 로그 레코드를 적용 합니다. 모든 보조 복제본에서 모든 다시 실행 스레드가 포함 된 로그 레코드가 적용 될 때까지 주 복제본 자체 로그 파일에 로그 블록을 덮어쓸 수 없습니다. 모든 보조 복제본에 다시 실행 작업 로그 블록을 해당 보조 복제본 강화 됩니다 속도를 유지할 수 없는 경우 주 복제본에서 성장 기록 이어질 수 있습니다. 만 주 복제본 자르고 다시 실행 스레드가 모든 보조 복제본의 적용 시점 까지의 트랜잭션 로그를 다시 사용할 수 있습니다. 둘 이상의 보조 비교는 sys.dm_hadr_database_replica_states 동적 관리의 truncation_lsn 열에서 식별 하기 위해 여러 개의 보조 보조 데이터베이스 로그 잘라내기가 지연 된다는 것 가장 볼. AlwaysOn 대시보드를 사용할 수 있습니다 및 sys.dm_hadr_database_replica_states 동적 관리 뷰 로그를 모니터링할 수 있도록 송신 큐 및 큐를 다시 실행 합니다. 키 필드는 다음과 같습니다.

필드

설명

log_send_queue_size

보조 복제본에 도착 하지 않은 로그 레코드의 양

log_send_rate

로그 레코드를 보내는 보조 데이터베이스에 RRate

redo_queue_size

가 하지 아직 되었습니다 다시 실행 (kb)을 보조 복제본의 로그 파일의 로그 레코드의 양

redo_rate

킬로바이트 (KB) 단위로 지정된 된 보조 데이터베이스에서 로그 레코드가 다시 하 고 있는 속도 / 초

last_redone_lsn

보조 데이터베이스에서 다시 실행 된 마지막 로그 레코드의 실제 로그 시퀀스 번호입니다. last_redone_lsn은 last_hardened_lsn 보다는 항상

last_received_lsn

블록 ID를 식별 하는 데까지 모든 로그 블록에서 수신 된이 보조 데이터베이스를 호스팅하는 보조 복제본을 기록 합니다. 로그 블록 ID를 0으로 채워져 반영 합니다. 실제 로그 시퀀스 번호가 아닙니다.

예를 들어 보고 가장 오래 된 truncation_lsn 사용 하 여 복제 하려면 주 복제본에 대해 다음 쿼리를 실행 하 고 주 트랜잭션 로그에서 다시 사용할 수는 상한값:

SELECT
	ag.name AS [availability_group_name]
	, d.name AS [database_name]
	, ar.replica_server_name AS [replica_instance_name]
	, drs.truncation_lsn
	, drs.log_send_queue_size
	, drs.redo_queue_size
FROM
	sys.availability_groups ag
	INNER JOIN sys.availability_replicas ar
		ON ar.group_id = ag.group_id
	INNER JOIN sys.dm_hadr_database_replica_states drs
		ON drs.replica_id = ar.replica_id
	INNER JOIN sys.databases d
		ON d.database_id = drs.database_id
WHERE drs.is_local=0
ORDER BY
	ag.name ASC, d.name ASC, drs.truncation_lsn ASC, ar.replica_server_name ASC

교정 방법을 포함할 수 있지만 다음에 국한 되지는 않습니다.

  • 보조 없는 리소스 또는 성능 병목 현상이 없는지 확인 하십시오.

  • 보조 스레드에서 다시 실행이 차단 되지 않습니다 있는지 확인 하십시오. Lock_redo_blocked 확장된 이벤트를 사용 하 여이 문제가 발생 하 고 다시 실행 스레드가 차단 된 어떤 개체에 식별 합니다.

해결 방법

이 발생,이 문제를 임시로 해결 하려면 다음 방법 중 하나를 수행 하는 보조 데이터베이스 확인 한 후:

  • 데이터베이스 가용성 그룹에서 보조 위반에 대 한 걸립니다. 참고:이 방법을 손실 보조에 대 한 높은 고가용성/재해 복구 시나리오에서에서 발생 합니다. 가용성 그룹을 나중에 다시 설정 해야 할 수 있습니다.

  • 다시 실행 스레드가 자주 차단 되 면 ' 아니요 '로 복제본에 대 한 SECONDARY_ROLE의 ALLOW_CONNECTIONS 매개 변수를 변경 하 여 읽을 수 있는 보조 기능을 해제 합니다. 참고: 이렇게 차단의 원인이 되는 보조 복제본의 데이터를 읽는 사용자가 되지 것입니다. 다시 실행 큐를 적절 한 크기로 버렸다 면 기능을 다시 활성화 하는 것이 좋습니다.

  • 사용이 불가능 하 고 사용 가능한 디스크 공간이 자동 증가 설정을 사용 합니다.

  • 에 도달 하 고 사용 가능한 디스크 공간이 트랜잭션 로그 파일의 최대 크기 값을 늘립니다.

  • 현재 시스템 최대 2TB에 도달한 경우 또는 추가 공간이 사용 가능한 다른 볼륨에 사용할 수 있는 경우는 추가 트랜잭션 로그 파일을 추가 합니다.

상태

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

추가 정보

이유는 트랜잭션 로그가 예기치 않게 커지거나 가득 SQL Server 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.

317375 트랜잭션 로그가 예기치 않게 커지거나 가득 SQL Server다시 실행 작업이 블로킹 문제에 대 한 자세한 내용은 다음으로 이동.

AlwaysON-HADRON 학습 시리즈: lock_redo_blocked/재실행 작업자 보조 복제본에서 차단 됨AVAILABILITY_REPLICA 기반의 log_reuse_wait 열에 대 한 자세한 내용은 다음 MSDN 웹 사이트를 이동.

로그 잘림을 방해를 지연 시킬 수 있는 요소Sys.dm_hadr_database_replica_states 보기에 대 한 자세한 내용은 다음 Microsoft TechNet 웹 사이트로 이동.

Sys.dm_hadr_database_replica_states 함수에 대 한 소개모니터링 하 고 기록된 변경 내용이 도착 하지 하 고 적시에 적용 되지 않는 문제를 해결 하는 방법에 대 한 자세한 내용은 다음 TechNet 웹 사이트로 이동.

AlwaysOn 가용성 그룹에 대 한 성능 모니터링

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?

의견 주셔서 감사합니다!

×