类别:

:doc:`/sql-reference/functions-system`(系统信息)

SYSTEM$DATABASE_REFRESH_PROGRESS、SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB – 已弃用

SYSTEM$DATABASE_REFRESH_PROGRESS 函数系列可用于查询各个维度的数据库刷新状态:

  • SYSTEM$DATABASE_REFRESH_PROGRESS 返回一个 JSON 对象,该对象按名称指示辅助数据库的当前刷新状态。

  • SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB 返回一个 JSON 对象,该对象通过刷新查询指示辅助数据库的当前刷新状态。

备注

这些函数返回过去 14 天内的数据库刷新活动。

语法

SYSTEM$DATABASE_REFRESH_PROGRESS( '<secondary_db_name>' )

SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Copy

实参

secondary_db_name

辅助数据库的名称。如果辅助数据库是当前会话中的活动数据库,则此实参可选。

请注意,整个名称必须放在单引号内。

query_id

数据库刷新查询的 ID。可以从 Web 界面中的 History History 选项卡 页面获取查询 ID。

输出

该函数在 JSON 对象中返回以下元素:

列名称

数据类型

描述

phaseName

TEXT

到目前为止已完成(或正在进行)的复制阶段的名称。有关阶段列表,请参阅使用说明。

resultName

TEXT

复制阶段的状态。

startTimeUTC

NUMBER

复制阶段开始的时间。格式为纪元时间。

endTimeUTC

NUMBER

该阶段结束的时间(如果适用)。格式为纪元时间。

details

VARIANT

一个单独的 JSON 对象,显示数据刷新的总字节数,以及该阶段到目前为止已复制的字节数。如果 refresh 语句之前失败或被取消并再次启动,则该对象会显示第二次尝试时跳过的字节数。details 对象包含在 Copying Primary DataCopying Replica Data 相位信息中。

使用说明

  • 仅返回账户管理员(具有 ACCOUNTADMIN 角色)的结果。

  • 以下是所处理订单中的阶段列表:

    1. SECONDARY_UPLOADING_INVENTORY

    2. PRIMARY_UPLOADING_METADATA

    3. PRIMARY_UPLOADING_DATA

    4. SECONDARY_DOWNLOADING_METADATA

    5. SECONDARY_DOWNLOADING_DATA

    6. COMPLETED / FAILED / CANCELED

示例

下面的示例检索指定辅助数据库的当前刷新状态。结果以 JSON 对象返回:

SELECT SYSTEM$DATABASE_REFRESH_PROGRESS('mydb');
Copy

以下示例检索与上一个示例中相同的详细信息,但结果被分隔为关系列,时间戳被转换为 TIMESTAMP_LTZ:

SELECT value:phaseName::string AS "Phase",
  value:resultName::string AS "Result",
  TO_TIMESTAMP_LTZ(value:startTimeUTC::numeric,3) AS "startTime",
  TO_TIMESTAMP_LTZ(value:endTimeUTC::numeric,3) AS "endTime",
  value:details AS "details"
  FROM table(flatten(INPUT=> PARSE_JSON(SYSTEM$DATABASE_REFRESH_PROGRESS('mydb1'))));
Copy

下面的示例检索指定数据库刷新查询的状态。结果以 JSON 对象返回:

SELECT SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB('4cbd7187-51f6-446c-9814-92d7f57d939b');
Copy

以下示例检索与上一个示例中相同的详细信息,但结果被分隔为关系列,时间戳被转换为 TIMESTAMP_LTZ:

SELECT value:phaseName::string AS "Phase",
  value:resultName::string AS "Result",
  TO_TIMESTAMP_LTZ(value:startTimeUTC::numeric,3) AS "startTime",
  TO_TIMESTAMP_LTZ(value:endTimeUTC::numeric,3) AS "endTime",
  value:details AS "details"
  FROM TABLE(FLATTEN(input=> PARSE_JSON(SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB('4cbd7187-51f6-446c-9814-92d7f57d939b'))));
Copy
语言: 中文