SHOW TRANSACTIONS¶
Liste toutes les transactions en cours d’exécution. La commande peut être utilisée pour afficher les transactions de l’utilisateur actuel ou de tous les utilisateurs du compte.
- Voir aussi :
Syntaxe¶
SHOW TRANSACTIONS [ IN ACCOUNT ]
Paramètres¶
IN ACCOUNT
Affiche toutes les transactions de tous les utilisateurs du compte. Il ne peut être utilisé que par les utilisateurs ayant le rôle ACCOUNTADMIN (c’est-à-dire les administrateurs de comptes).
Sortie¶
La sortie de la commande affiche les métadonnées de transaction dans les colonnes suivantes :
Colonne |
Description |
---|---|
|
ID de transaction (un entier signé 64 bits). |
|
Utilisateur actuel. |
|
ID de session. |
|
Nom défini par l’utilisateur ou nom généré par le système (UUID) pour la transaction. |
|
Horodatage spécifiant quand la transaction a commencé à s’exécuter. |
|
État de la transaction : |
|
ID de l’opération qui a créé une procédure stockée dans une transaction limitée. |
Notes sur l’utilisation¶
La sortie de commande inclut les IDs de toutes les transactions en cours. Ces IDs peuvent être utilisés comme entrée pour SYSTEM$ABORT_TRANSACTION afin d’annuler une transaction spécifiée.
Une procédure stockée qui contient une transaction peut être appelée à partir d’une autre transaction. Ces transactions sont distinctes mais « scopées ». Les valeurs dans la colonne
scope
sont utiles pour découvrir si deux transactions sont dans le même scope. Pour plus d’informations, voir Transactions scopées.
La commande ne nécessite pas l’exécution d’un entrepôt en cours d’exécution.
La commande ne renvoie que les objets pour lesquels le rôle actuel de l’utilisateur s’est vu accorder au moins un privilège d’accès.
Le privilège d’accès MANAGE GRANTS permet implicitement à son titulaire de voir tous les objets du compte. Par défaut, seuls l’administrateur du compte (utilisateurs avec le rôle ACCOUNTADMIN) et l’administrateur de sécurité (utilisateurs avec le rôle SECURITYADMIN) ont le privilège MANAGE GRANTS.
Pour post-traiter la sortie de cette commande, vous pouvez utiliser la fonction RESULT_SCAN qui traite la sortie sous forme de table à interroger. Vous pouvez également utiliser l”opérateur de canal pour interroger la sortie de cette commande.
La commande renvoie un maximum de dix mille enregistrements pour le type d’objet spécifié, conformément aux privilèges d’accès du rôle utilisé pour exécuter la commande. Aucun enregistrement au-delà de la limite de dix mille enregistrements n’est renvoyé, même si un filtre a été appliqué.
Pour afficher les résultats pour lesquels il existe plus de dix mille enregistrements, interrogez la vue correspondante (le cas échéant) dans Schéma d’information de Snowflake.
Exemple¶
Dans cet exemple, deux sessions sont exécutées par le même utilisateur, avec une transaction en cours pour chaque session.
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 |
+---------------------+---------+-----------------+--------------------------------------+-------------------------------+---------+-------+