SHOW LOCKS

列出所有锁定资源的正在运行的事务。该命令可用于显示当前用户在其所有会话中的锁,或账户中所有用户的锁。

有关事务和资源锁定的信息,请参阅 事务

另请参阅:

SHOW TRANSACTIONS

语法

SHOW LOCKS [ IN ACCOUNT ]
Copy

参数

IN ACCOUNT

返回账户中所有用户的所有锁。此参数仅在由具有 ACCOUNTADMIN 角色的用户(账户管理员)执行时适用。

对于所有其他角色,该函数仅显示当前用户在所有会话中的锁。

输出

命令输出在以下列中显示锁元数据:

描述

resource

完全限定的表名称或事务 ID。

type

``PARTITIONS``(对于标准表锁)或 ``ROW``(对于混合表锁)。

transaction

事务 ID(一个有符号的 64 位整数)。

transaction_started_on

指定事务开始执行时间的时间戳。

status

事务的当前状态:HOLDINGWAITING

acquired_on

指定获取锁的时间的时间戳。

query_id

内部/系统生成的 SQL 语句标识符。

session

会话 ID(仅对具有 ACCOUNTADMIN 角色的用户可见)。

使用说明

  • 以前缀 is_ 开头的列返回 Y (yes) 或 N (no)。

  • 该命令不需要正在运行的仓库即可执行。

  • 该命令 最多 返回指定对象类型的 1 万条记录,由用于执行命令的角色的访问权限决定;即使应用了筛选器,也不会返回任何超过 1 万条限制的记录。

    要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中查询相应的视图(如果存在)。

  • 若要对此命令的输出进行后处理,可以使用 RESULT_SCAN 函数,该函数会将输出视为可查询的表。

  • 命令输出包含了所有正在运行且资源被锁定的事务的 IDs。这些 IDs 可以用作 SYSTEM$ABORT_TRANSACTION 的输入,以中止指定的事务。

  • 对于混合表,此命令仅在事务被阻止时才显示锁,或者在阻止另一个事务时显示锁。

示例

在本例中,一个事务持有指定标准表(resource 列中命名的表)上的锁。

SHOW LOCKS;
Copy
+---------------------------+------------+---------------------+-------------------------------+---------+-------------------------------+--------------------------------------+
| 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 |
+---------------------------+------------+---------------------+-------------------------------+---------+-------------------------------+--------------------------------------+

在本例中,一个事务持有混合表上的行级锁。另一个事务正在等待该锁。

SHOW LOCKS;
Copy
+---------------------+------+---------------------+-------------------------------+---------+-------------+--------------------------------------+
| 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 |
+---------------------+------+---------------------+-------------------------------+---------+-------------+--------------------------------------+
语言: 中文