sys.dm_db_xtp_checkpoint_stats(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

현재 데이터베이스의 메모리 내 OLTP 검사point 작업에 대한 통계를 반환합니다. 데이터베이스에 메모리 내 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 2014 항목에서 더 낮은 내용에 대해 설명합니다.

SQL Server 2016(13.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 마지막으로 완료된 검사point의 결과로 강화된 루트 파일의 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 닫는 검사point의 ID입니다.

직렬 변환기는 병렬로 작동하므로 작업이 완료되면 검사point는 닫기 스레드에서 닫을 후보입니다. 그러나 닫기 스레드는 한 번에 하나씩만 닫을 수 있으며 순서에 따라야 하므로 닫는 검사 지점은 닫기 스레드가 작업 중인 스레드입니다.
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 True이면 데이터베이스가 메모리 내 OLTP 검사포인트 전용 모드입니다.

SQL Server 2014(12.x)

다음 표에서는 SQL Server 2014(12.x)의 열sys.dm_db_xtp_checkpoint_stats에 대해 설명합니다.

열 이름 Type 설명
log_to_process_in_bytes bigint 스레드의 현재 LSN(로그 시퀀스 번호)과 로그 끝 사이의 로그 바이트 수입니다.
total_log_blocks_processed bigint 서버 시작 후 처리된 총 로그 블록 수입니다.
total_log_records_processed bigint 서버 시작 이후 처리된 총 로그 레코드 수입니다.
xtp_log_records_processed bigint 서버 시작 후 처리된 총 메모리 OLTP 로그 레코드 수입니다.
total_wait_time_in_ms bigint 누적 대기 시간(밀리초)입니다.
waits_for_io bigint 로그 IO에 대한 대기 횟수입니다.
io_wait_time_in_ms bigint 로그 ID를 대기하는 데 걸린 누적 시간입니다.
waits_for_new_log bigint 새 로그가 생성될 때까지 대기한 횟수입니다.
new_log_wait_time_in_ms bigint 새 로그를 기다리는 데 걸린 누적 시간입니다.
log_generated_since_last_checkpoint_in_bytes bigint 마지막 메모리 내 OLTP 검사 지점 이후 생성된 로그 양입니다.
ms_since_last_checkpoint bigint 마지막 메모리 OLTP 검사점 이후 시간(밀리초)입니다.
checkpoint_lsn numeric(38) 마지막으로 완료된 메모리 내 OLTP 검사point와 연결된 LSN(복구 로그 시퀀스 번호)입니다.
current_lsn numeric(38) 현재 처리 중인 로그 레코드의 LSN입니다.
end_of_log_lsn numeric(38) 로그 끝의 LSN입니다.
task_address varbinary(8) SOS_Task의 주소입니다. 조인하여 sys.dm_os_tasks 추가 정보를 찾습니다.

사용 권한

데이터베이스에 대한 VIEW DATABASE STATE 권한이 필요합니다.

SQL Server 2022 이상에 대한 권한

데이터베이스에 대한 VIEW DATABASE PERFORMANCE STATE 권한이 필요합니다.