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 de bloqueio (como uma tabela) no qual a transação está aguardando um bloqueio.

LOCK_TYPE

TEXT

Tipo de bloqueio. Os valores válidos são PARTITION, STREAM, TABLE e ROW. ROW é mostrado para bloqueios de tabela híbrida.

OBJECT_NAME

TEXT

Identificador do objeto (como uma tabela) no qual a transação está aguardando um bloqueio. ROW é mostrado para bloqueios de tabela híbrida.

SCHEMA_ID

NUMBER

identificador interno/gerado pelo sistema para o esquema do objeto no qual a transação está aguardando um bloqueio. 0 é mostrado para tabelas híbridas.

SCHEMA_NAME

TEXT

Identificador para o esquema do objeto no qual a transação está esperando por um bloqueio. NULL é mostrado para bloqueios ROW.

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 bloqueadora com as seguintes propriedades: .

  • is_snowflake: TRUE se a consulta for um processo em 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 bloqueadora que bloqueou a instrução. Vazio se is_snowflake for verdadeiro. .

  • transaction_id: ID da transação bloqueadora. 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 antes dessa transação, aguardando o 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.