sys.dm_tran_persistent_version_store_stats(Transact-SQL)
적용 대상: SQL Server 2019(15.x) Azure SQL 데이터베이스 Azure SQL Managed Instance
ADR(가속 데이터베이스 복구) PVS(영구 버전 저장소) 메트릭에 대한 정보를 반환합니다.
반환된 테이블
열 이름 | 데이터 형식 | 설명 |
---|---|---|
database_id | int | 이 행의 database_id 입니다. Azure SQL Database에서 값은 단일 데이터베이스 또는 탄력적 풀 내에서 고유하지만 논리 서버 내에는 고유하지 않습니다. |
pvs_filegroup_id | smallint | PVS 버전 저장소를 호스트하는 파일 그룹입니다. |
persistent_version_store_size_kb | bigint | PVS 크기(KB)입니다. 이 값은 PVS가 사용하는 현재 공간을 결정하는 데 사용됩니다. |
online_index_version_store_size_kb | bigint | 온라인 인덱스 다시 작성 중에 사용되는 특수 버전 저장소 크기(킬로바이트)입니다. |
current_aborted_transaction_count | bigint | 데이터베이스의 중단 트랜잭션 수입니다. 중단 트랜잭션의 세부 정보는 sys.dm_tran_aborted_transactions 에서 볼 수 있습니다. |
oldest_active_transaction_id | bigint | 가장 오래된 활성 트랜잭션의 트랜잭션 ID입니다. |
oldest_aborted_transaction_id | bigint | 가장 오래된 중단 트랜잭션의 트랜잭션 ID입니다. PVS 클리너가 중단된 트랜잭션을 제거할 수 없는 경우 이 값은 가장 오래된 값을 반영합니다. |
min_transaction_timestamp | bigint | 스냅샷 검색의 시스템에서 유용한 최소 타임스탬프입니다. |
online_index_min_transaction_timestamp | bigint | 시스템에서 PVS 정리를 보류하는 데 유용한 최소 타임스탬프입니다. 이 값은 online_index_version_store_size_kb 에 해당합니다. |
secondary_low_water_mark | bigint | 읽기 가능한 보조의 쿼리에 대해 집계된 낮은 워터마크입니다. 트랜잭션 ID이며 비교 및 oldest_aborted_transaction_id 비교 oldest_active_transaction_id 하는 데 사용할 수 있습니다. |
offrow_version_cleaner_start_time | datetime2(7) | 행 외부 PVS 정리 프로세스의 시작 시간입니다. |
offrow_version_cleaner_end_time | datetime2(7) | 행 외부 PVS 정리 프로세스의 마지막 종료 시간입니다. |
aborted_version_cleaner_start_time | datetime2(7) | 전체 스윕의 시작 타임스탬프입니다. |
aborted_version_cleaner_end_time | datetime2(7) | 마지막 전체 스윕의 종료 타임스탬프입니다. 시작 시간에는 값이 있지만 종료 시간에는 없는 경우 이 데이터베이스에서 PVS 정리가 진행 중임을 의미합니다. |
pvs_off_row_page_skipped_low_water_mark | bigint | 보조 읽기 쿼리의 보류로 인해 회수를 위해 건너뛴 페이지 수입니다. |
pvs_off_row_page_skipped_transaction_not_cleaned | bigint | 중단된 트랜잭션으로 인해 회수를 위해 건너뛴 페이지 수입니다. 버전 클리너가 중단된 트랜잭션 버전 정리에 최소 임계값을 사용하므로 이 값은 중단된 트랜잭션으로부터의 PVS 보류를 반영하지 않습니다. 이는 큰 PVS 문제에 대해 무시할 수 있습니다. |
pvs_off_row_page_skipped_oldest_active_xdesid | bigint | 가장 오래된 활성 트랜잭션으로 인해 회수를 위해 건너뛴 페이지 수입니다. |
pvs_off_row_page_skipped_min_useful_xts | bigint | 긴 스냅샷 검색으로 인해 회수를 위해 건너뛴 페이지 수입니다. |
pvs_off_row_page_skipped_oldest_snapshot | bigint | 온라인 인덱스 다시 빌드 작업으로 인해 회수를 위해 건너뛴 페이지 수입니다. 이는 PVS 사용에 일반적이지 않습니다. |
pvs_off_row_page_skipped_oldest_aborted_xdesid | bigint | 적용 대상: SQL Server 2022(16.x) 이상 가장 오래된 중단된 트랜잭션으로 인해 회수를 위해 건너뛴 페이지 수입니다. 버전 클리너가 느리거나 무효화되면 이 값은 중단된 트랜잭션에 대해 유지해야 하는 페이지 수를 반영합니다. |
사용 권한
SQL Server 및 SQL Managed Instance에서는 VIEW SERVER STATE
권한이 필요합니다.
SQL Database Basic, S0 및 S1 서비스 목표 또는 탄력적 풀 내의 데이터베이스에 대해서는 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 ##MS_ServerStateReader##
서버 역할의 멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에 대해서는 데이터베이스에 대한 VIEW DATABASE STATE
권한 또는 ##MS_ServerStateReader##
서버 역할의 멤버 자격이 필요합니다.
SQL Server 2022 이상에 대한 사용 권한
서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.
설명
가속화된 데이터베이스 복구에 대한 모범 사례를 검토합니다. ADR PVS가 증가하는 경우 가속화된 데이터베이스 복구 문제를 참조하세요.