DATABASE_REPLICATION_USAGE_HISTORY¶
此表函数可用于查询指定日期范围内指定数据库的复制历史记录。函数返回的信息包括数据库名称、使用的 Credit 和为复制而传输的字节数。
备注
此函数返回过去 14 天内的数据库复制使用活动。
语法¶
DATABASE_REPLICATION_USAGE_HISTORY(
[ DATE_RANGE_START => <constant_expr> ]
[ , DATE_RANGE_END => <constant_expr> ]
[ , DATABASE_NAME => '<string>' ] )
实参¶
所有实参均为可选。
DATE_RANGE_START => constant_expr
、.DATE_RANGE_END => constant_expr
显示数据库复制历史记录的日期/时间范围:
如果未指定结束日期,则会将 CURRENT_DATE 用作范围的结束日期。
如果未指定开始日期,则范围会在
DATE_RANGE_END
开始前 10 分钟开始(即默认值是显示前 10 分钟的历史记录)。
例如,如果
DATE_RANGE_END
是 CURRENT_DATE,则默认DATE_RANGE_START
是前一天 11:50 PM。DATABASE_NAME => 'string'
数据库名称。如果指定了数据库名称,则仅显示指定数据库的历史记录。
如果未指定数据库名称,则结果将包括在指定时间范围内复制的每个数据库的数据。
输出¶
该函数在 JSON 对象中返回以下元素:
列名称 |
数据类型 |
描述 |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
指定时间范围的开始时间。 |
END_TIME |
TIMESTAMP_LTZ |
指定时间范围的结束时间。 |
DATABASE_NAME |
TEXT |
数据库的名称。 |
CREDITS_USED |
TEXT |
在 START_TIME 和 END_TIME 窗口期间为数据库复制收取的 Credit。 |
BYTES_TRANSFERRED |
NUMBER |
在 START_TIME 和 END_TIME 窗口期间为数据库复制传输的字节数和使用的字节数。 |
使用说明¶
仅为 ACCOUNTADMIN 角色或任何已明确授予 MONITOR USAGE 全局权限的角色返回结果。
当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数名称必须受到完全限定。有关更多详细信息,请参阅 Snowflake Information Schema。
示例¶
检索账户在 30 分钟的范围内的复制历史记录:
select database_name, credits_used, bytes_transferred from table(information_schema.database_replication_usage_history( date_range_start=>'2023-03-28 12:00:00.000 +0000', date_range_end=>'2023-03-28 12:30:00.000 +0000'));
检索账户过去 12 小时的历史记录:
select database_name, credits_used, bytes_transferred from table(information_schema.database_replication_usage_history( date_range_start=>dateadd(H, -12, current_timestamp)));
检索账户过去一周的历史记录:
select start_time, end_time, database_name, credits_used, bytes_transferred from table(information_schema.database_replication_usage_history( date_range_start=>dateadd(d, -7, current_date), date_range_end=>current_date));
检索过去一周账户中数据库 mydb
的复制历史记录:
select start_time, end_time, database_name, credits_used, bytes_transferred from table(information_schema.database_replication_usage_history( date_range_start=>dateadd(d, -7, current_date), date_range_end=>current_date, database_name=>'mydb'));