SHOW LOCKS¶
Listet alle laufenden Transaktionen auf, die über Sperren für Ressourcen verfügen. Der Befehl kann verwendet werden, um Sperren für den aktuellen Benutzer in allen Sitzungen des Benutzers oder für alle Benutzer im Konto anzuzeigen.
Informationen zu Transaktionen und zum Sperren von Ressourcen finden Sie unter Transaktionen.
- Siehe auch:
Syntax¶
SHOW LOCKS [ IN ACCOUNT ]
Parameter¶
IN ACCOUNT
Gibt alle Sperren für alle Benutzer des Kontos zurück. Dieser Parameter gilt nur, wenn er von Benutzern mit der Rolle ACCOUNTADMIN (Kontoadministratoren) ausgeführt wird.
Bei allen anderen Rollen zeigt die Funktion nur Sperren für den aktuellen Benutzer in der aktuellen Sitzung.
Ausgabe¶
Die Ausgabe des Befehls zeigt Sperrenmetadaten in den folgenden Spalten an:
Spalte |
Beschreibung |
---|---|
|
Ein vollständig qualifizierter Tabellenname oder eine Transaktions-ID. |
|
|
|
Transaktions-ID (eine vorzeichenbehaftete 64-Bit-Ganzzahl). |
|
Zeitstempel, der angibt, wann die Ausführung der Transaktion begonnen hat. |
|
Aktueller Status der Transaktion: |
|
Zeitstempel, der angibt, wann die Sperre erworben wurde. |
|
Interner/vom System generierter Bezeichner für die SQL-Anweisung. |
|
Sitzungs-ID (nur sichtbar für Benutzer mit der Rolle ACCOUNTADMIN). |
Nutzungshinweise¶
Spalten, die mit dem Präfix
is_
beginnen, geben entwederY
(ja) oderN
(nein) zurück.Für die Ausführung des Befehls ist kein aktives Warehouse erforderlich.
Der Befehl gibt maximal 10.000 Datensätze für den angegebenen Objekttyp zurück, wie durch die Zugriffsrechte für die Rolle vorgegeben, die zur Ausführung des Befehls verwendet wird. Datensätze, die über dem Limit von 10.000 liegen, werden nicht zurückgegeben, selbst wenn ein Filter angewendet wird.
Um Ergebnisse anzuzeigen, für die mehr als 10.000 Datensätze existieren, fragen Sie die entsprechende Ansicht (falls vorhanden) in der Datei Snowflake Information Schema ab.
Um die Ausgabe dieses Befehls nachzubearbeiten, können Sie die Funktion RESULT_SCAN verwenden, die die Ausgabe wie eine abfragbare Tabelle behandelt.
Die Befehlsausgabe enthält die IDs für alle laufenden Transaktionen, für die Ressourcen gesperrt sind. Diese IDs können als Eingabe für SYSTEM$ABORT_TRANSACTION verwendet werden, um eine angegebene Transaktion abzubrechen.
Bei Hybridtabellen zeigt dieser Befehl eine Sperre nur an, wenn eine Transaktion blockiert ist oder wenn sie eine andere Transaktion blockiert.
Beispiele¶
In diesem Beispiel hält eine Transaktion eine Sperre für die angegebene Standardtabelle (die in der Spalte resource
genannte Tabelle).
SHOW LOCKS;
+---------------------------+------------+---------------------+-------------------------------+---------+-------------------------------+--------------------------------------+
| resource | type | transaction | transaction_started_on | status | acquired_on | query_id |
|---------------------------+------------+---------------------+-------------------------------+---------+-------------------------------+--------------------------------------|
| CALIBAN_DB.PUBLIC.WEATHER | PARTITIONS | 1721330303831000000 | 2024-07-18 12:18:23.831 -0700 | HOLDING | 2024-07-18 12:18:49.832 -0700 | 01b5c1c6-0002-8691-0000-a9950068a0c6 |
+---------------------------+------------+---------------------+-------------------------------+---------+-------------------------------+--------------------------------------+
In diesem Beispiel hält eine Transaktion eine Sperre auf Zeilenebene für eine Hybridtabelle. Eine andere Transaktion wartet auf diese Sperre.
SHOW LOCKS;
+---------------------+------+---------------------+-------------------------------+---------+-------------+--------------------------------------+
| resource | type | transaction | transaction_started_on | status | acquired_on | query_id |
|---------------------+------+---------------------+-------------------------------+---------+-------------+--------------------------------------|
| 1721165584820000000 | ROW | 1721165584820000000 | 2024-07-16 14:33:04.820 -0700 | HOLDING | NULL | |
| 1721165584820000000 | ROW | 1721165674582000000 | 2024-07-16 14:34:34.582 -0700 | WAITING | NULL | 01b5b715-0002-852b-0000-a99500665352 |
+---------------------+------+---------------------+-------------------------------+---------+-------------+--------------------------------------+