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. Pode ser unido ao Exibição QUERY_HISTORY para detalhes adicionais sobre as instruções na 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 do bloqueador com as seguintes propriedades: . - is_snowflake: TRUE se a consulta for um processo de segundo plano executado pelo Snowflake (por exemplo, manutenção automática de exibições materializadas). . - query_id: =ID de consulta da instrução atual na transação do bloqueador que bloqueou a instrução. Vazio se is_snowflake for verdadeiro. . - transaction_id: ID da transação do bloqueador. Vazio se is_snowflake for verdadeiro. . . 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());
Copy

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