如何找到针对数据库/模式运行的 DDL 语句

时间:2021-06-20 12:46:18

标签: snowflake-cloud-data-platform

我有特定要求,我只需要找到在特定时间段内针对我的雪花数据库/模式运行的 DDL,我们如何使用 query_history 或任何其他方法找到任何想法?

1 个答案:

答案 0 :(得分:1)

可以使用QUERY_HISTORY

SELECT *
FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY())
     -- END_TIME_RANGE_START/END_TIME_RANGE_END  to get specific time range
WHERE DATABASE_NAME ILIKE '<db_name>'
  AND SCHEMA_NAME   ILIKE '<schema_name>'
  AND QUERY_TYPE    ILIKE ANY ('CREATE%', 'ALTER%', 'DROP%', 'DESCRIBE%');

QUERY_TYPE 列包含更具描述性的值,例如:CREATE_VIEW/CREATE_TABLE_AS_SELECT/CRATE_TABLE/ALTER_TABLE_ADD_COLUMN

要检索整个 DDL commands 类,使用了通配符模式 CREATE%ALTER%。可以根据具体需求进一步调整。

相关问题