外部表故障排除

本主题介绍如何对外部表问题进行故障排除。

本主题内容:

自动元数据刷新功能已禁用

如果外部表的所有权(即外部表的 OWNERSHIP 权限)转让给其他角色,外部表的 AUTO_REFRESH 参数默认设置为 FALSE。要重新启用外部表元数据的自动刷新功能,请使用 ALTER EXTERNAL TABLE 语句将 AUTO_REFRESH 参数设置为 TRUE。

验证为外部云消息传递服务配置的设置是否仍然准确。有关更多信息,请参阅云存储提供商的说明:

查看自动元数据刷新的进度

检索外部表用于刷新其元数据的内部隐藏管道的当前状态。结果以 JSON 格式显示。有关信息,请参阅 SYSTEM$EXTERNAL_TABLE_PIPE_STATUS

查看以下值:

lastReceivedMessageTimestamp

指定从消息队列接收的最后一条事件消息的时间戳。

如果时间戳早于预期,则可能表示云事件通知服务配置或服务本身存在问题。如果该字段为空,请验证服务配置设置。如果该字段包含时间戳,但早于预期,请验证服务配置中是否更改了设置。

lastForwardedMessageTimestamp

指定转发到管道的最后一个事件消息的时间戳。

错误:找不到与暂存区 {1} 关联的集成 {0}

003139=SQL compilation error:\nIntegration ''{0}'' associated with the stage ''{1}'' cannot be found.
Copy

当外部暂存区与链接到该暂存区的存储集成之间的关联中断时,可能会发生此错误。当(使用 CREATE OR REPLACE STORAGE INTEGRATION)重新创建存储集成对象时,会发生这种情况。暂存区使用隐藏 ID(而不是存储集成的名称)链接到存储集成。在后台,CREATE OR REPLACE 语法会删除对象,并使用其他隐藏 ID 重新创建对象。

如果将存储集成链接到一个或多个暂存区后,必须重新创建该存储集成,则必须通过执行 ALTER STAGE stage_name SET STORAGE_INTEGRATION = storage_integration_name 来重新建立每个暂存区与存储集成之间的关联,其中:

  • stage_name 是暂存区的名称。

  • storage_integration_name 是存储集成的名称。

错误:外部表 {0} 已标记为无效。暂存区 {1} 位置已更改

查询外部表可能会产生类似于以下内容的错误:

091093 (55000): External table ''{0}'' marked invalid. Stage ''{1}'' location altered.
Copy

在创建外部表后,修改引用的暂存区的 URL 时,可能会发生此错误(使用 ALTER STAGE ...SET URL)。

如果必须修改暂存区 URL,则必须重新创建用于引用该暂存区的现有外部表(使用 CREATE OR REPLACE EXTERNAL TABLE)。

语言: 中文