SHOW TRANSACTIONS¶
Listen Sie alle laufenden Transaktionen auf. Mit dem Befehl können Sie Transaktionen für den aktuellen Benutzer oder alle Benutzer im Konto anzeigen.
- Siehe auch:
Syntax¶
SHOW TRANSACTIONS [ IN ACCOUNT ]
Parameter¶
IN ACCOUNT
Zeigt alle Transaktionen für alle Benutzer des Kontos an. Er kann nur von Benutzern mit der Rolle ACCOUNTADMIN verwendet werden (d. h. Kontoadministratoren).
Ausgabe¶
Die Befehlausgabe zeigt die Metadaten der Transaktion in den folgenden Spalten an:
Spalte |
Beschreibung |
---|---|
|
Transaktions-ID (eine vorzeichenbehaftete 64-Bit-Ganzzahl). |
|
Aktueller Benutzer. |
|
Sitzung ID. |
|
Benutzerdefinierter Name oder systemgenerierter Name (UUID) für die Transaktion. |
|
Zeitstempel, der angibt, wann die Ausführung der Transaktion begonnen hat. |
|
Transaktionsstatus: |
|
ID der Operation, die eine gespeicherte Prozedur in einer bereichsbezogenen Transaktion mit erstellt hat. |
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. Diese IDs können als Eingabe für SYSTEM$ABORT_TRANSACTION verwendet werden, um eine angegebene Transaktion abzubrechen.
Eine gespeicherte Prozedur, die eine Transaktion enthält, kann aus einer anderen Transaktion heraus aufgerufen werden. Diese Transaktionen sind voneinander getrennt, aber „bereichsbezogen“. Die Werte in der Spalte
scope
sind nützlich, um herauszufinden, ob zwei Transaktionen im gleichen Bereich liegen. Weitere Informationen dazu finden Sie unter Bereichsbezogene Transaktionen.
Beispiel¶
In diesem Beispiel werden zwei Sitzungen von demselben Benutzer durchgeführt, wobei für jede Sitzung eine Transaktion läuft.
SHOW TRANSACTIONS;
+---------------------+---------+-----------------+--------------------------------------+-------------------------------+---------+-------+
| id | user | session | name | started_on | state | scope |
|---------------------+---------+-----------------+--------------------------------------+-------------------------------+---------+-------|
| 1721165674582000000 | CALIBAN | 186457423713330 | 551f494d-90ed-438d-b32b-1161396c3a22 | 2024-07-16 14:34:34.582 -0700 | running | 0 |
| 1721165584820000000 | CALIBAN | 186457423749354 | a092aa44-9a0a-4955-9659-123b35c0efeb | 2024-07-16 14:33:04.820 -0700 | running | 0 |
+---------------------+---------+-----------------+--------------------------------------+-------------------------------+---------+-------+