我可以在 Snowflake 界面中从 SnowSql 会话中查找查询 ID 吗?
Can I look up the query id from a SnowSql session in the Snowflake Interface?
是否可以使用 SnowSql 命令行界面 (CLI) 来做同样的事情?我想使用 CLI 查看特定查询的 SQL 代码,如其查询 ID 所指定。
使用网络控制台时,可以进入“历史记录”选项卡并按 "Query ID" 进行过滤,例如"xxx-xxxxx" 查看该特定查询的 SQL 代码和错误消息(如果有)。
您可以使用 LAST_QUERY_ID 检索会话中查询的查询 ID。
select last_query_id();
获取最近的查询 ID
select last_query_id(1);
获取会话的第一个查询 ID
select last_query_id(-2);
从之前的两个查询中获取查询 ID。
等等
如果需要,您可以使用这样的查询来获取实际的查询文本。
SELECT QUERY_TEXT
FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY_BY_SESSION(RESULT_LIMIT => 10))
WHERE QUERY_ID = '018cde0c-0077-09ee-0000-001812d26346'
;
如果您需要在 Session 之外检索查询信息,我相信您可以使用 ACCOUNT_USAGE 如果这对您有用。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY WHERE QUERY_ID = '018cde0c-0077-09ee-0000-001812d26346';
请尝试使用 QUERY_HISTORY* 表:
SELECT query_id, query_text,user_name,session_id,role_name,warehouse_name,
execution_status,error_code,error_message,start_time,end_time
FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY(DATEADD('HOURS',-1,CURRENT_TIMESTAMP()),CURRENT_TIMESTAMP()))
ORDER BY start_time;
参考:https://docs.snowflake.net/manuals/sql-reference/functions/query_history.html
是否可以使用 SnowSql 命令行界面 (CLI) 来做同样的事情?我想使用 CLI 查看特定查询的 SQL 代码,如其查询 ID 所指定。
使用网络控制台时,可以进入“历史记录”选项卡并按 "Query ID" 进行过滤,例如"xxx-xxxxx" 查看该特定查询的 SQL 代码和错误消息(如果有)。
您可以使用 LAST_QUERY_ID 检索会话中查询的查询 ID。
select last_query_id();
获取最近的查询 ID
select last_query_id(1);
获取会话的第一个查询 ID
select last_query_id(-2);
从之前的两个查询中获取查询 ID。
等等
如果需要,您可以使用这样的查询来获取实际的查询文本。
SELECT QUERY_TEXT
FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY_BY_SESSION(RESULT_LIMIT => 10))
WHERE QUERY_ID = '018cde0c-0077-09ee-0000-001812d26346'
;
如果您需要在 Session 之外检索查询信息,我相信您可以使用 ACCOUNT_USAGE 如果这对您有用。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY WHERE QUERY_ID = '018cde0c-0077-09ee-0000-001812d26346';
请尝试使用 QUERY_HISTORY* 表:
SELECT query_id, query_text,user_name,session_id,role_name,warehouse_name,
execution_status,error_code,error_message,start_time,end_time
FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY(DATEADD('HOURS',-1,CURRENT_TIMESTAMP()),CURRENT_TIMESTAMP()))
ORDER BY start_time;
参考:https://docs.snowflake.net/manuals/sql-reference/functions/query_history.html