Schema:

ACCOUNT_USAGE

Ansicht LOCK_WAIT_HISTORY

Diese Account Usage-Ansicht enthält den Verlauf von Transaktionen, die auf Sperren warten. Weitere Details dazu finden Sie unter Analysieren von gesperrten Transaktionen mit der Ansicht LOCK_WAIT_HISTORY.

Spalten

Spaltenname

Datentyp

Beschreibung

OBJECT_ID

NUMBER

Interner/systemgenerierter Bezeichner für das Objekt (z. B. Tabelle), für das die Transaktion auf eine Sperre wartet.

LOCK_TYPE

TEXT

Typ der Sperre. Gültige Werte sind PARTITION, STREAM und TABLE.

OBJECT_NAME

TEXT

Bezeichner des Objekts (z. B. Tabelle), für das die Transaktion auf eine Sperre wartet.

SCHEMA_ID

NUMBER

Interner/systemgenerierter Bezeichner für das Schema des Objekts, für das die Transaktion auf eine Sperre wartet.

SCHEMA_NAME

TEXT

Bezeichner für das Schema des Objekts, für das die Transaktion auf eine Sperre wartet.

DATABASE_ID

NUMBER

Interner/systemgenerierter Bezeichner für die Datenbank des Objekts, für das die Transaktion auf eine Sperre wartet.

DATABASE_NAME

TEXT

Bezeichner für die Datenbank des Objekts, für das die Transaktion auf eine Sperre wartet.

QUERY_ID

TEXT

Interner/systemgenerierter Bezeichner für die SQL-Anweisung, die auf die Sperre wartet.

TRANSACTION_ID

NUMBER

Interner/systemgenerierter Bezeichner für die Transaktion mit der Anweisung, die auf die Sperre wartet. Kann mit QUERY_HISTORY-Ansicht verknüpft werden, um zusätzliche Details zu den Anweisungen in der Transaktion zu erhalten.

REQUESTED_AT

TIMESTAMP_LTZ

Zeitstempel, wann die Sperre von der Transaktion, die auf die Sperre wartet, angefordert wurde.

ACQUIRED_AT

TIMESTAMP_LTZ

Zeitstempel, wann die Sperre von der Transaktion, die gerade im Besitz der Sperre ist, erworben wurde.

BLOCKER_QUERIES

VARIANT

JSON-Array von Objekten. Jedes Objekt ist eine Blockierungsabfrage mit den folgenden Eigenschaften: . - is_snowflake: TRUE, wenn die Abfrage ein von Snowflake ausgeführter Hintergrundprozess ist (z. B. automatische Wartung materialisierter Ansichten). . - query_id: Abfrage-ID der aktuellen Anweisung in der Blockierungstransaktion, die die Anweisung blockiert hat. Leer, wenn is_snowflake wahr ist. . - transaction_id: ID der Blockierungstransaktion. Leer, wenn is_snowflake wahr ist. . . Dieses Array kann bis zu 20 Objekte enthalten.

Nutzungshinweise

  • Die erste Blockierungsabfrage-ID, die im Array blocker_queries zurückgegeben wird, ist die ID der Abfrage, die in der Transaktion ausgeführt wurde, die im Besitz der Sperre war, als die auf die Sperre wartende Transaktion zu warten begann. Beachten Sie, dass es möglich ist, dass Abfragen vor dieser Abfrage der Blockierungstransaktion ebenfalls die Sperre erhalten haben und daher untersucht werden sollten.

  • Jede Zeile der Ausgabe steht für eine Transaktion, die auf eine Sperre wartet. Beachten Sie, dass vor der Transaktion andere Transaktionen auf dieselbe Sperre warten können.

Beispiele

Suche nach allen gesperrten Transaktionen, die in den letzten 24 Stunden Sperren angefordert haben:

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

Weitere Beispiele finden Sie unter Analysieren von gesperrten Transaktionen mit der Ansicht LOCK_WAIT_HISTORY.