Esquema:

ACCOUNT_USAGE

Exibição LOCK_WAIT_HISTORY

Esta exibição do Account Usage inclui o histórico de transações que estão à espera de um bloqueio. Para obter mais detalhes, consulte Análise de transações bloqueadas com a exibição LOCK_WAIT_HISTORY.

Colunas

Nome da coluna

Tipo de dados

Descrição

OBJECT_ID

NUMBER

Identificador interno/gerado pelo sistema para o objeto (por exemplo, tabela) no qual a transação está esperando por um bloqueio.

LOCK_TYPE

TEXT

Tipo de bloqueio. Os valores válidos são PARTITION, STREAM e TABLE.

OBJECT_NAME

TEXT

Identificador do objeto (por exemplo, tabela) no qual a transação está esperando por um bloqueio.

SCHEMA_ID

NUMBER

Identificador interno/gerado pelo sistema para o esquema do objeto no qual a transação está esperando por um bloqueio.

SCHEMA_NAME

TEXT

Identificador para o esquema do objeto no qual a transação está esperando por um bloqueio.

DATABASE_ID

NUMBER

Identificador interno/gerado pelo sistema para o banco de dados do objeto no qual a transação está esperando por um bloqueio.

DATABASE_NAME

TEXT

Identificador para o banco de dados do objeto no qual a transação está esperando por um bloqueio.

QUERY_ID

TEXT

Identificador interno/gerado pelo sistema para a instrução SQL que está esperando por um bloqueio.

TRANSACTION_ID

NUMBER

Identificador interno/gerado pelo sistema para a transação com a instrução que está esperando por um bloqueio. Consulte ID de transação.

REQUESTED_AT

TIMESTAMP_LTZ

Carimbo de data/hora em que o bloqueio foi solicitado pela transação à espera do bloqueio.

ACQUIRED_AT

TIMESTAMP_LTZ

Carimbo de data/hora em que o bloqueio foi adquirido pela transação que a detinha.

BLOCKER_QUERIES

VARIANT

Conjunto de objetos JSON. Cada objeto é uma consulta de bloqueio com as seguintes propriedades: . - query_id: ID da consulta da instrução atual na transação do bloqueador que bloqueou a instrução. . - transaction_id: ID da transação do bloqueador. . . Pode haver até 20 objetos nesta matriz.

Notas de uso

  • O primeiro ID de consulta do bloqueador retornado na matriz blocker_queries é o ID da consulta que estava sendo executada na transação que detém o bloqueio quando a transação à espera do bloqueio começou a esperar. Note que é possível que consultas anteriores a essa consulta na transação do bloqueador também adquiriram o bloqueio e devem ser investigadas.

  • Cada linha na saída representa uma transação à espera de um bloqueio. Observe que pode haver outras transações à sua frente à espera do mesmo bloqueio.

Exemplos

Encontre todas as transações bloqueadas que solicitaram bloqueios dentro das últimas 24 horas:

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

Para exemplos adicionais, consulte Análise de transações bloqueadas com a exibição LOCK_WAIT_HISTORY.