sys.dm_xtp_gc_stats(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure 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  

참고 항목

메모리 최적화 테이블 동적 관리 뷰(Transact-SQL)