关于监控动态表¶
Snowsight 和 SQL 都可用于查看动态表信息。以下各部分介绍用于监控和查看动态表信息的不同方法。
任务 |
描述 |
---|---|
监控动态表刷新。 |
|
检查动态表图。 |
|
使用 SQL 检查动态表。 |
|
查看动态表刷新模式 |
使用 Snowsight 监控刷新¶
若要确定刷新是否遇到错误,请在 动态表详细信息页面 上选择 Refresh History 选项卡。
选项卡顶部显示的信息包括:
动态表最近更新的日期和时间
动态表的目标滞后时间
动态表在给定时间间隔内的最长实际滞后时间
该选项卡还显示一个包含刷新历史记录的表。对于历史记录中的每次刷新,该表将显示以下信息:
评估刷新时的事务时间戳
(这可能略早于刷新开始的实际时间。)
刷新完成所花费的时间
目标滞后和刷新提交前达到的最大滞后
刷新状态
使用 Snowsight 检查动态表的图¶
在 Snowsight 中,您可以查看有向无环图 (DAG)。您可以使用此图来确定给定的动态表所依赖的表。例如,您可以:
确定动态表从何处检索数据。
确定动态表的上游依赖项。
确定可能受动态表更改影响的下游依赖项。
要检查包含动态表的图,请执行以下操作:
在 动态表详细信息页面 上,选择 Graph 选项卡。
这将显示包含所选动态表节点的图。右侧 Details 窗格显示有关所选表或动态表的信息。
若要在图中显示不同项目的详细信息,请选择相应项目。
若要查看图中表的完整详细信息,请将鼠标悬停在表的节点上,然后选择节点右上角的 Go to Dynamic Table Page 或 Go to Table Page。
若要使用最新更改更新显示的图和信息,请选择图上方栏中的刷新按钮。
下图显示了 Graph 选项卡和 Details 窗格。
在 Details 窗格中:
显示的常规基表信息包括:
拥有该表的角色和该表的创建日期
表中的行数
表的大小
显示的动态表信息包括:
拥有动态表的角色和创建动态表的日期
刷新模式
动态表的仓库
目标滞后
平均实际滞后
最大实际滞后
使用信息架构函数监控动态表¶
若要确定刷新是否出现问题,请使用以下 INFORMATION_SCHEMA 表函数:
DYNAMIC_TABLE_REFRESH_HISTORY 提供账户中一个或多个动态表的刷新历史记录。
DYNAMIC_TABLE_GRAPH_HISTORY 提供每个动态表的历史记录、其属性及其与其他表和动态表的依赖项。
您可以使用此表函数获取给定时间点动态表的依赖关系树的快照。
输出还反映了随时间推移动态表属性所做的更改。每行表示一个动态表和一组特定的属性。如果更改动态表的属性(例如,目标滞后),则该函数将为该更新的属性集生成一行新的输出。
若要识别有错误的刷新,请调用 DYNAMIC_TABLE_REFRESH_HISTORY 函数,并传入实参 ERROR_ONLY => TRUE。
例如,如果要检查
mydb
数据库和myschema
架构内动态表中的刷新错误,请执行以下语句:SELECT name, state, state_code, state_message, query_id, data_timestamp, refresh_start_time, refresh_end_time FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY(NAME_PREFIX => 'MYDB.MYSCHEMA.', ERROR_ONLY => TRUE)) ORDER BY name, refresh_version;
查看动态表刷新模式¶
使用具有 必要权限 的角色,您可以使用以下方法之一验证 刷新模式:
使用 SQL:运行 SHOW DYNAMIC TABLES 语句。在 输出 中,
text
列显示用户指定的刷新模式,refresh_mode
列显示实际刷新模式,refresh_mode_reason
显示选择实际刷新模式的原因。使用 Snowsight:在导航菜单中,选择 Monitoring » Dynamic Tables,然后选择您的动态表。您可以在 Table Details 选项卡中查看动态表的刷新模式。将鼠标悬停在刷新模式上时可以看到刷新模式原因。