SHOW LOCKS

リソースをロックしている実行中のすべてのトランザクションをリストします。このコマンドを使用して、すべてのユーザーのセッションまたはアカウント内のすべてのユーザーの現在のユーザーのロックを表示できます。

トランザクションとリソースロックの詳細については、 トランザクション をご参照ください。

こちらもご参照ください。

SHOW TRANSACTIONS

構文

SHOW LOCKS [ IN ACCOUNT ]
Copy

パラメーター

IN ACCOUNT

アカウント内のすべてのユーザーのすべてのロックを返します。このパラメーターは、ACCOUNTADMIN ロールを使用するユーザー(アカウント管理者)によって実行された場合にのみ適用されます。

他のすべてのロールの場合、この関数は現在のユーザーのすべてのセッションのロックのみを表示します。

出力

コマンドの出力には、以下の列のロックメタデータが表示されます。

説明

resource

完全修飾テーブル名またはトランザクション ID。

type

PARTITIONS (標準テーブル・ロックの場合)または ROW (ハイブリッド・テーブル・ロックの場合)。

transaction

トランザクション ID(符号付き64ビット整数)。

transaction_started_on

トランザクションがいつ実行を開始したかを示すタイムスタンプ。

status

現在のトランザクションステータス: HOLDING または WAITING

acquired_on

ロックがいつ取得されたかを示すタイムスタンプ。

query_id

SQL ステートメントの内部/システム生成識別子。

session

セッション ID (ACCOUNTADMINロールを持つユーザーのみに表示されます)。

使用上の注意

  • コマンド出力には、リソースをロックしている実行中のすべてのトランザクションの IDs が含まれます。これらの IDs は、指定されたトランザクションを中止するための SYSTEM$ABORT_TRANSACTION の入力として使用できます。

  • ハイブリッドテーブルの場合、このコマンドはトランザクションがブロックされている場合、またはこのコマンドが他のトランザクションをブロックしている場合にのみロックを表示します。

  • このコマンドの実行には、稼働中のウェアハウスは必要ありません。

  • このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。

  • MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。

  • このコマンドの出力を後処理するには、 パイプ演算子->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。

    For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.

    When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column type, specify SELECT "type".

    You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.

  • コマンドは、コマンドを実行するために使用されるロールのアクセス権限によって決定された通り、指定されたオブジェクトタイプに対して 最大 1万件の記録を返します。1万件を超える記録は、フィルターを適用しても返されません。

    1万件を超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。

この例では、あるトランザクションが指定された標準テーブル(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 |
+---------------------+------+---------------------+-------------------------------+---------+-------------+--------------------------------------+