sys.dm_xtp_gc_stats(Transact-SQL)
적용 대상: SQL ServerAzure SQL Database Azure SQL Managed Instance
메모리 내 OLTP 가비지 수집 프로세스의 현재 동작에 대한 정보(전체 통계)를 제공합니다.
행은 일반 트랜잭션 처리의 일부로 또는 유휴 작업자라고 하는 기본 가비지 수집 스레드에 의해 수집되는 가비지입니다. 사용자 트랜잭션이 커밋되면 가비지 수집 큐(sys.dm_xtp_gc_queue_stats(Transact-SQL)에서 하나의 작업 항목을 큐에서 제거합니다. 가비지 수집될 수 있지만 기본 사용자 트랜잭션에 의해 액세스되지 않는 모든 행은 불량 영역 검색(더 적게 액세스되는 인덱스 영역 검색)의 일부로 유휴 작업자에 의해 가비지 수집됩니다.
자세한 내용은 메모리 내 OLTP(메모리 내 최적화)를 참조하세요.
열 이름 | Type | 설명 |
---|---|---|
rows_examined | bigint | 서버가 시작된 이후 가비지 수집 하위 시스템이 검사한 행 수입니다. |
rows_no_sweep_needed | bigint | 먼지가 많은 코너 검색 없이 제거된 행 수입니다. |
rows_first_in_bucket | bigint | 해시 버킷의 첫 번째 행이었던 가비지 수집에서 검사한 행 수입니다. |
rows_first_in_bucket_removed | bigint | 제거된 해시 버킷의 첫 번째 행이었던 가비지 수집에 의해 검사되는 행의 수입니다. |
rows_marked_for_unlink | bigint | 참조 수가 =0인 인덱스에 이미 연결되지 않은 것으로 표시된 가비지 수집에서 검사한 행 수입니다. |
parallel_assist_count | bigint | 사용자 트랜잭션에서 처리되는 행 수입니다. |
idle_worker_count | bigint | 유휴 작업자가 처리한 가비지 행의 수입니다. |
sweep_scans_started | bigint | 가비지 수집 하위 시스템이 수행하는 먼지가 많은 코너 검사 수입니다. |
sweep_scan_retries | bigint | 가비지 수집 하위 시스템이 수행하는 먼지가 많은 코너 검사 수입니다. |
sweep_rows_touched | bigint | 먼지가 많은 코너 처리에서 읽은 행입니다. |
sweep_rows_expiring | bigint | 불량 영역 처리에서 읽는 만료되는 행입니다. |
sweep_rows_expired | bigint | 불량 영역 처리에서 읽는 만료된 행입니다. |
sweep_rows_expired_removed | bigint | 먼지가 많은 코너 처리로 인해 만료된 행이 제거되었습니다. |
사용 권한
인스턴스에 대한 VIEW SERVER STATE 권한이 필요합니다.
SQL Server 2022 이상에 대한 권한
서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.
사용 시나리오
다음은 샘플 출력입니다.
rows_examined rows_no_sweep_needed rows_first_in_bucket rows_first_in_bucket_removed
280085 209512 69905
rows_first_in_bucket_removed rows_marked_for_unlink parallel_assist_count idle_worker_count
69905 0 8953
idle_worker_count sweep_scans_started sweep_scan_retries sweep_rows_touched
10306473 670 0 1343
sweep_rows_expiring sweep_rows_expired sweep_rows_expired_removed
0 673673