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_processed 와 end_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
.