Schéma :

ORGANIZATION_USAGE

Vue LOCK_WAIT_HISTORY

Important

Cette vue n’est disponible que dans le compte de l’organisation. Pour plus d’informations, voir Vues premium dans le compte de l’organisation.

La vue Utilisation de l’organisation comprend l’historique des transactions qui attendent des verrous. Pour plus de détails, voir Analyse des transactions bloquées avec la vue LOCK_WAIT_HISTORY.

Colonnes

Colonnes au niveau de l’organisation

Nom de la colonne

Type de données

Description

ORGANIZATION_NAME

VARCHAR

Nom de l’organisation.

ACCOUNT_LOCATOR

VARCHAR

Identificateur du compte généré par le système.

ACCOUNT_NAME

VARCHAR

Identificateur défini par l’utilisateur pour le compte.

Colonnes supplémentaires

Nom de la colonne

Type de données

Description

OBJECT_ID

NUMBER

Identificateur interne/généré par le système pour l’objet bloquant (par exemple, une table) sur lequel la transaction attend un verrou.

LOCK_TYPE

TEXT

Type de verrou. Les valeurs valides sont PARTITION, STREAM, TABLE, et ROW. ROW est affiché pour les verrous de table hybrides.

OBJECT_NAME

TEXT

Identificateur de l’objet (tel qu’une table) sur lequel la transaction attend un verrou. ROW est affiché pour les verrous de table hybrides.

SCHEMA_ID

NUMBER

Identificateur interne/généré par le système pour le schéma de l’objet sur lequel la transaction attend un verrou. 0 est affiché pour les tables hybrides.

SCHEMA_NAME

TEXT

Identificateur du schéma de l’objet sur lequel la transaction attend un verrou. NULL est montré pour les verrous ROW.

DATABASE_ID

NUMBER

Identificateur interne/système généré pour la base de données de l’objet sur lequel la transaction attend un verrou.

DATABASE_NAME

TEXT

Identificateur de la base de données de l’objet sur lequel la transaction attend un verrou.

QUERY_ID

TEXT

Identificateur interne/généré par le système pour l’instruction SQL qui attend le verrou.

TRANSACTION_ID

NUMBER

Identificateur interne/système pour la transaction avec l’instruction qui attend le verrou. Peut être associé à Vue QUERY_HISTORY pour obtenir des détails supplémentaires sur les instructions de la transaction.

REQUESTED_AT

TIMESTAMP_LTZ

Horodatage lorsque le verrou a été demandé par la transaction qui attend le verrou.

ACQUIRED_AT

TIMESTAMP_LTZ

Horodatage lorsque le verrou a été acquis par la transaction qui le détient.

BLOCKER_QUERIES

VARIANT

Tableau JSON d’objets. Chaque objet est une requête de blocage avec les propriétés suivantes : .

  • is_snowflake : TRUE si la requête est un processus d’arrière-plan exécuté par Snowflake (par exemple, la maintenance automatique des vues matérialisées). .

  • query_id : ID de requête de l’instruction en cours dans la transaction de blocage qui a bloqué l’instruction. Vide si is_snowflake est vrai. .

  • transaction_id : ID de la transaction de blocage. Vide si is_snowflake est vrai. .

Il peut y avoir jusqu’à 20 objets dans ce tableau.

Notes sur l’utilisation

  • L’ID de la première requête de blocage qui est renvoyé dans le tableau blocker_queries est l’ID de la requête qui était en cours d’exécution dans la transaction qui détient le verrou lorsque la transaction en attente du verrou a commencé à attendre. Notez qu’il est possible que des requêtes antérieures à cette requête dans la transaction de blocage aient également acquis le verrou et qu’elles doivent être examinées.

  • Chaque ligne de la sortie représente une transaction en attente d’un verrou. Notez qu’il peut y avoir d’autres transactions avant cette transaction qui attendent le même verrou.

Exemples

Trouvez toutes les transactions bloquées qui ont demandé des verrous au cours des 24 dernières heures :

SELECT account_name, query_id, object_name, transaction_id, blocker_queries
  FROM snowflake.organization_usage.alert_history.lock_wait_history
  WHERE requested_at >= DATEADD('hours', -24, CURRENT_TIMESTAMP());
Copy

Pour d’autres exemples, voir Analyse des transactions bloquées avec la vue LOCK_WAIT_HISTORY.