다음을 통해 공유


서버 구성: ADR 클리너 재시도 시간 제한(분)

적용 대상:SQL Server

SQL Server 2019(15.x)부터 이 구성 설정은 ADR(가속 데이터베이스 복구)에 사용됩니다. 클리너는 주기적으로 작동하여 필요하지 않은 행 버전을 정리하는 역할을 하는 비동기 프로세스입니다.

경우에 따라 청소기는 스윕 중에 사용자 워크로드와의 잠금 충돌로 인해 개체 또는 파티션 수준 IX 잠금을 획득하는 동안 문제가 발생할 수 있습니다. 클리너는 별도의 목록에서 이러한 페이지를 추적합니다. ADR cleaner retry timeout (min) 청소기가 스윕을 포기하기 전에 IX 잠금 획득 및 정리를 독점적으로 재시도하는 시간을 제어합니다. 중단된 트랜잭션 맵에서 중단된 트랜잭션의 증가를 억제하려면 100개의% 성공으로 스윕을 완료하는 것이 필수적입니다. 별도의 목록의 페이지를 지정된 시간 제한 시간에 정리할 수 없는 경우 현재 스윕이 중단되고 다음 스윕 중에 정리가 시도됩니다.

버전 Default value
SQL Server 2019 (15.x) 120
SQL Server 2022(16.x) 이상 버전 15

설명

클리너는 SQL Server 2019(15.x)의 단일 스레드입니다. SQL Server 2022(16.x)에서 클리너는 기본적으로 단일 스레드이지만 ADR Cleaner Thread Count 서버 구성을 구성하여 다중 스레드로 만들 수 있습니다.

클리너가 단일 스레드인 경우 한 번에 하나의 데이터베이스에서만 작동할 수 있습니다. 인스턴스에 ADR을 사용하는 데이터베이스가 두 개 이상 있는 경우 시간 초과를 큰 값으로 늘리지 마세요. 그럴 경우 다른 데이터베이스에서 다시 시도하는 동안, 특정 데이터베이스에서 정리 작업이 지연될 수 있습니다.

알려진 문제

SQL Server 2019(15.x) CU 12 및 이전 버전의 경우, 이 값을 0으로 설정할 수 있습니다. 이 문서의 예를 사용하여 설계된 기본값인 값 120으로 수동으로 초기화하는 것이 좋습니다.

예시

다음은 클리너 재시도 제한 시간을 기본값으로 설정하는 예제입니다.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 120;
RECONFIGURE;
GO

예시

다음은 클리너 재시도 제한 시간을 기본값으로 설정하는 예제입니다.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO