DATABASE_STORAGE_USAGE_HISTORY¶
此表函数的用途是,查询指定日期范围内单个数据库(或账户中的所有数据库)的平均每日存储使用量(以字节为单位)。结果包括:
存储在数据库中的表和物化视图中的所有数据。
数据库的所有历史数据都处于故障安全状态。
备注
此函数返回过去 6 个月内的存储使用情况。
语法¶
DATABASE_STORAGE_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
过去 6 个月内要检索数据库存储使用情况的日期范围:
如果未指定结束日期,则会将 CURRENT_DATE 用作范围的结束日期。
如果未指定开始日期,则
DATE_RANGE_END
用作范围的开始日期(即默认为使用存储一天)。
如果范围超出了过去 6 个月,则返回错误。
DATABASE_NAME => 'string'
要检索其存储使用历史记录的数据库的名称。请注意,数据库名称必须放在单引号内。此外,如果数据库名称包含任何空格、混合大小写字符或特殊字符,则名称必须在单引号内使用双引号(例如
'"My DB"'
和'mydb'
)。如果未指定数据库,则返回账户中所有数据库的数据。
使用说明¶
仅为 ACCOUNTADMIN 角色或任何已明确授予 MONITOR USAGE 全局权限的角色返回结果。
当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数名称必须受到完全限定。有关更多详细信息,请参阅 Snowflake Information Schema。
输出¶
该函数返回以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
USAGE_DATE |
DATE |
此存储使用记录的日期 |
DATABASE_NAME |
TEXT |
数据库的名称 |
AVERAGE_DATABASE_BYTES |
NUMBER |
使用的数据库存储的字节数 |
AVERAGE_FAILSAFE_BYTES |
NUMBER |
使用的故障安全存储的字节数 |
如果数据库已删除并且其数据保留期已过(即,无法使用 Time Travel 恢复数据库),则数据库名称报告为 DROPPED_id
,其中 id
是内部生成的标识符。此 ID 可用于匹配表函数返回的行之间的条目。
示例¶
检索账户中所有数据库过去 10 天每个数据库的平均每日存储使用量:
select * from table(information_schema.database_storage_usage_history(dateadd('days',-10,current_date()),current_date()));