SHOW LOCKS¶
Liste toutes les transactions en cours d’exécution dont les ressources sont bloquées. La commande peut être utilisée pour afficher les verrouillages de l’utilisateur actuel dans toutes les sessions de l’utilisateur ou tous les utilisateurs du compte.
Pour plus d’informations sur les transactions et le verrouillage des ressources, voir Transactions.
- Voir aussi :
Syntaxe¶
SHOW LOCKS [ IN ACCOUNT ]
Paramètres¶
IN ACCOUNT
Renvoie tous les verrouillages de tous les utilisateurs du compte. Ce paramètre ne s’applique que lorsqu’il est exécuté par les utilisateurs avec le rôle ACCOUNTADMIN (administrateurs de compte).
Pour tous les autres rôles, la fonction affiche uniquement les verrouillages pour l’utilisateur actuel dans toutes les sessions.
Sortie¶
La sortie de la commande affiche les métadonnées de verrouillage dans les colonnes suivantes :
Colonne |
Description |
---|---|
|
Un nom de table complet ou un ID de transaction. |
|
|
|
ID de transaction (un entier signé 64 bits). |
|
Horodatage spécifiant quand la transaction a commencé à s’exécuter. |
|
Statut actuel de la transaction : |
|
Horodatage spécifiant quand le verrou a été acquis. |
|
Identificateur interne / généré par le système pour l’instruction SQL. |
|
ID de session (visible pour les utilisateurs disposant du rôle ACCOUNTADMIN uniquement). |
Notes sur l’utilisation¶
La sortie de commande inclut les IDs de toutes les transactions en cours d’exécution dont les ressources sont bloquées. Ces IDs peuvent être utilisés comme entrée pour SYSTEM$ABORT_TRANSACTION afin d’annuler une transaction spécifiée.
Pour les tables hybrides, cette commande n’affiche un verrou que si une transaction est bloquée ou si elle bloque une autre transaction.
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.
Exemples¶
Dans cet exemple, une transaction verrouille la table standard spécifiée (la table nommée dans la colonne resource
).
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 |
+---------------------------+------------+---------------------+-------------------------------+---------+-------------------------------+--------------------------------------+
Dans cet exemple, une transaction applique un verrou au niveau de la ligne sur une table hybride. Une autre transaction est en attente sur ce verrou.
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 |
+---------------------+------+---------------------+-------------------------------+---------+-------------+--------------------------------------+