다음을 통해 공유


읽을 수 있는 보조 데이터베이스에 대한 지속형 통계

적용 대상:적용 대상:Microsoft Fabric의 SQL Server 2025(17.x) 미리 보기 Azure SQL Database SQL 데이터베이스

비고

읽을 수 있는 보조 데이터베이스에 대한 쿼리 저장소 는 SQL Server 2022에서 도입되었으며 읽기 가능한 보조 기능에 대한 지속형 통계는 읽기 가능한 보조 데이터베이스에 대한 쿼리 저장소의 인프라를 사용합니다. 읽을 수 있는 보조 데이터베이스의 쿼리 저장소는 SQL Server 2025에서 기본적으로 켜져 있는 반면, SQL Server 2022에서는 꺼져 있었고 이를 사용하려면 추적 플래그 12606가 필요했습니다. 추적 플래그 12606not SQL Server 2025 이상 버전에서 필요하며 사용되는 경우 읽을 수 있는 보조 기능에 대한 쿼리 저장소를 해제합니다.

배경

읽을 수 있는 보조 복제본에서 자동 만들기 통계 옵션을 사용하도록 설정하면 통계를 자동으로 만들 수 있지만 인스턴스를 다시 시작할 때 해당 통계는 일시적이고 사라집니다. 읽기 전용 데이터베이스 또는 읽기 전용 스냅샷에 대한 통계가 없거나 유효하지 않을 경우 데이터베이스 엔진은 tempdb에서 임시 통계를 만들어 유지 관리합니다. 데이터베이스 엔진이 임시 통계를 만들 때 임시 통계와 영구 통계를 구분하기 위해 접미사 _readonly_database_statistic 통계 이름이 추가됩니다. 접미사는 _readonly_database_statistic SQL Server에서 생성된 통계용으로 예약되어 있습니다. 이 방법을 사용한 이유는 주 복제본에 존재하지 않는 고유한 통계가 필요할 수 있는 읽기 가능한 보조 복제본에 대해 실행되는 워크로드를 해결하기 위한 것이었습니다.

읽을 수 있는 보조 복제본에 대한 쿼리 저장소가 추가되면 보조 복제본은 주 복제본으로 다시 통신 채널을 갖게 되며, 이 채널은 현재 쿼리 저장소 데이터(쿼리, 계획, 실행 통계 등)를 주 복제본으로 전송하여 데이터베이스에 보관하고 쿼리에 사용할 수 있도록 합니다.

유사한 메커니즘을 사용하여 통계 정보를 주 복제본으로 다시 보내고 이후에 모든 보조 복제본으로 다시 보냅니다. 보조 복제본에 생성되고 tempdb에 저장된 임시 통계는 주 복제본으로 전송되어 지속적으로 유지되며, 이렇게 하면 모든 읽기 가능한 보조 복제본에서 사용할 수 있게 됩니다.

카탈로그 뷰 지원

보조와 기본 간의 통계 생성/업데이트 비교를 지원하고 통계가 만들어진 위치를 이해하는 데 도움이 되도록 카탈로그 뷰에 세 개의 새 열이 sys.stats 추가되었습니다.

열 이름 데이터 형식 설명
replica_role_id tinyint 이 복제본의 복제본 집합 번호를 식별합니다. 1 = 기본, 2 = 보조, 3 = 지리적 복제 전달자, 4 = 지리적 HA 보조
replica_role_desc nvarchar(60) 기본, 보조, Geo Replication Forwarder, Geo HA Secondary
replica_name sysname 가용성 그룹에 있는 복제본의 인스턴스 이름입니다. NULL은 주 복제본을 위한 것입니다.