스키마:

ACCOUNT_USAGE

LOCK_WAIT_HISTORY 뷰

이 Account Usage 뷰는 잠금을 기다리는 트랜잭션 의 기록을 포함합니다. 자세한 내용은 LOCK_WAIT_HISTORY 뷰로 차단된 트랜잭션 분석하기 섹션을 참조하십시오.

열 이름

데이터 타입

설명

OBJECT_ID

NUMBER

트랜잭션이 잠금을 기다리고 있는 오브젝트(예: 테이블)에 대한 내부/시스템 생성 식별자입니다.

LOCK_TYPE

TEXT

잠금의 유형. 유효한 값은 PARTITION, STREAM, TABLE 입니다.

OBJECT_NAME

TEXT

트랜잭션이 잠금을 기다리고 있는 오브젝트(예: 테이블)의 식별자입니다.

SCHEMA_ID

NUMBER

트랜잭션이 잠금을 기다리고 있는 오브젝트의 스키마에 대한 내부/시스템 생성 식별자입니다.

SCHEMA_NAME

TEXT

트랜잭션이 잠금을 기다리고 있는 오브젝트의 스키마에 대한 식별자입니다.

DATABASE_ID

NUMBER

트랜잭션이 잠금을 기다리고 있는 오브젝트의 데이터베이스에 대한 내부/시스템 생성 식별자입니다.

DATABASE_NAME

TEXT

트랜잭션이 잠금을 기다리고 있는 오브젝트의 데이터베이스에 대한 식별자입니다.

QUERY_ID

TEXT

잠금을 기다리고 있는 SQL 문의 내부/시스템 생성 식별자입니다.

TRANSACTION_ID

NUMBER

잠금을 기다리고 있는 문을 사용하는 트랜잭션의 내부/시스템 생성 식별자 입니다. 트랜잭션의 문에 대한 추가 세부 정보를 위해 QUERY_HISTORY 뷰 와 조인할 수 있습니다.

REQUESTED_AT

TIMESTAMP_LTZ

잠금을 기다리는 트랜잭션에서 잠금이 요청된 시점의 타임스탬프입니다.

ACQUIRED_AT

TIMESTAMP_LTZ

잠금을 보유한 트랜잭션이 잠금을 획득한 시점의 타임스탬프입니다.

BLOCKER_QUERIES

VARIANT

오브젝트의 JSON 배열. 각 오브젝트는 다음 속성이 있는 차단 쿼리입니다. . - is_snowflake: 쿼리가 Snowflake가 실행하는 백그라운드 프로세스(예: 구체화된 뷰의 자동 유지 관리)인 경우 TRUE입니다. . - query_id: 문을 차단한 차단 트랜잭션에서 현재 문의 쿼리 ID입니다. is_snowflake 이(가) true이면 비어 있습니다. . - transaction_id: 차단 트랜잭션의 ID입니다. is_snowflake 가 true이면 비어 있습니다. . . 이 배열에는 최대 20개의 오브젝트가 있을 수 있습니다.

사용법 노트

  • blocker_queries 배열에 반환되는 첫 번째 차단 쿼리 ID는 잠금을 기다리는 트랜잭션이 대기하기 시작했을 때 잠금을 보유한 트랜잭션에서 실행 중이던 쿼리의 ID입니다. 차단 트랜잭션에서 해당 쿼리 이전의 쿼리도 잠금을 획득했을 수 있으므로 이 쿼리를 조사해야 합니다.

  • 출력의 각 행은 잠금을 기다리는 트랜잭션을 나타냅니다. 그 트랜잭션 앞에 같은 잠금을 기다리는 다른 트랜잭션이 있을 수 있습니다.

지난 24시간 동안 잠금을 요청한 차단된 트랜잭션을 전부 찾습니다.

SELECT query_id, object_name, transaction_id, blocker_queries
  FROM snowflake.account_usage.lock_wait_history
  WHERE requested_at >= dateadd('hours', -24, current_timestamp());
Copy

추가적인 예를 보려면 LOCK_WAIT_HISTORY 뷰로 차단된 트랜잭션 분석하기 섹션을 참조하십시오.