다음을 통해 공유


sys.dm_db_xtp_checkpoint_stats(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance

현재 데이터베이스의 메모리 내 OLTP 검사점 작업에 대한 통계를 반환합니다. 데이터베이스에 메모리 내 OLTP 개체가 없으면 빈 결과 집합을 반환합니다 sys.dm_db_xtp_checkpoint_stats .

자세한 내용은 메모리 내 OLTP(메모리 내 최적화)를 참조하세요.

USE [In_Memory_db_name]
SELECT * FROM sys.dm_db_xtp_checkpoint_stats;

SQL Server 2014(12.x)는 최신 버전과 크게 다르며 별도로 설명합니다.

다음 표에서는 SQL Server 2016(13.x) 이상 버전의 열 sys.dm_db_xtp_checkpoint_stats에 대해 설명합니다.

열 이름 Type 설명
last_lsn_processed bigint 컨트롤러에서 마지막으로 본 LSN입니다.
end_of_log_lsn numeric(38) 로그 끝의 LSN입니다.
bytes_to_end_of_log bigint 컨트롤러에서 처리되지 않은 로그 바이트(사이 last_lsn_processedend_of_log_lsn.
log_consumption_rate bigint 컨트롤러의 트랜잭션 로그 사용률(KB/초)입니다.
active_scan_time_in_ms bigint 컨트롤러가 트랜잭션 로그를 적극적으로 검사하는 데 소요된 시간입니다.
total_wait_time_in_ms bigint 로그를 검사하지 않는 동안 컨트롤러에 대한 누적 대기 시간입니다.
waits_for_io bigint 컨트롤러 스레드에서 발생하는 로그 IO에 대한 대기 수입니다.
io_wait_time_in_ms bigint 컨트롤러 스레드에서 로그 IO를 기다리는 데 걸린 누적 시간입니다.
waits_for_new_log_count bigint 새 로그를 생성하기 위해 컨트롤러 스레드에서 발생하는 대기 횟수입니다.
new_log_wait_time_in_ms bigint 컨트롤러 스레드에서 새 로그를 기다리는 데 걸린 누적 시간입니다.
idle_attempts_count bigint 컨트롤러가 유휴 상태로 전환된 횟수입니다.
tx_segments_dispatched bigint 컨트롤러에서 보고 직렬 변환기로 디스패치된 세그먼트 수입니다. 세그먼트는 직렬화 단위를 구성하는 로그의 연속 부분입니다. 현재 크기는 1MB이지만 나중에 변경될 수 있습니다.
segment_bytes_dispatched bigint 데이터베이스가 다시 시작된 이후 컨트롤러에서 serializer로 디스패치한 총 바이트 수입니다.
bytes_serialized bigint 데이터베이스를 다시 시작한 후 직렬화된 총 바이트 수입니다.
serializer_user_time_in_ms bigint 사용자 모드에서 직렬 변환기에서 소요된 시간입니다.
serializer_kernel_time_in_ms bigint 커널 모드에서 직렬 변환기에서 소요된 시간입니다.
xtp_log_bytes_consumed bigint 데이터베이스를 다시 시작한 후 사용된 총 로그 바이트 수입니다.
checkpoints_closed bigint 데이터베이스를 다시 시작한 후 닫힌 검사점 수입니다.
last_closed_checkpoint_ts bigint 마지막으로 닫힌 검사점의 타임스탬프입니다.
hardened_recovery_lsn numeric(38) 복구는 이 LSN에서 시작됩니다.
hardened_root_file_guid uniqueidentifier 마지막으로 완료된 검사점의 결과로 강화된 루트 파일의 GUID입니다.
hardened_root_file_watermark bigint 내부 전용입니다. 루트 파일을 읽는 것이 유효한 정도를 지정합니다(내부적으로 관련된 형식인 BSN이라고 함).
hardened_truncation_lsn numeric(38) 잘림 지점의 LSN입니다.
log_bytes_since_last_close bigint 마지막에서 현재 로그 끝까지의 바이트입니다.
time_since_last_close_in_ms bigint 검사점의 마지막 닫기 이후의 시간입니다.
current_checkpoint_id bigint 현재 새 세그먼트가 이 검사점에 할당되고 있습니다. 검사점 시스템은 파이프라인입니다. 현재 검사점은 로그의 세그먼트가 할당되는 검사점입니다. 한도에 도달하면 컨트롤러는 검사점을 해제하고 새 검사점을 현재로 만듭니다.
current_checkpoint_segment_count bigint 현재 검사점의 세그먼트 수입니다.
recovery_lsn_candidate bigint 내부적으로만. 닫히면 current_checkpoint_id recoverylsn으로 선택될 후보입니다.
outstanding_checkpoint_count bigint 닫기를 기다리는 파이프라인의 검사점 수입니다.
closing_checkpoint_id bigint 닫는 검사점의 ID입니다.

직렬 변환기는 병렬로 작동하므로 완료되면 검사점은 닫기 스레드로 닫을 후보입니다. 그러나 닫기 스레드는 한 번에 하나씩만 닫을 수 있으며 순서에 따라야 하므로 닫는 검사점은 닫기 스레드가 작업 중인 검사점입니다.
recovery_checkpoint_id bigint 복구에 사용할 검사점의 ID입니다.
recovery_checkpoint_ts bigint 복구 검사점의 타임스탬프를 나타냅니다.
bootstrap_recovery_lsn numeric(38) 부트스트랩에 대한 복구 LSN입니다.
bootstrap_root_file_guid uniqueidentifier 부트스트랩에 대한 루트 파일의 GUID입니다.
internal_error_code bigint 컨트롤러, 직렬 변환기, 닫기 및 병합 스레드에서 발생하는 오류입니다.
bytes_of_large_data_serialized bigint serialize된 데이터의 양을 지정합니다.
db_in_checkpoint_only_mode bit 데이터베이스가 메모리 내 OLTP 검사점 전용 모드인 경우 True입니다.

적용 대상: SQL Server 2022(16.x) 이상 버전

사용 권한

SQL Server 2019(15.x) 및 이전 버전에는 데이터베이스에 대한 권한이 필요합니다 VIEW DATABASE STATE .

SQL Server 2022(16.x) 이상 버전에는 데이터베이스에 대한 권한이 필요합니다 VIEW DATABASE PERFORMANCE STATE .