You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake中误执行CREATE OR REPLACE TABLE后能否撤销操作?

解决方案

可以通过Snowflake的**时间旅行(Time Travel)**功能恢复原表数据,前提是表所在的数据库/仓库时间旅行保留期覆盖了错误操作的时间点(默认保留1天,企业版等可配置更长时长)。

  • 先验证原表在错误操作前的完整数据:

    SELECT * FROM myschema.public.table1 BEFORE(OFFSET => -<错误操作至今的分钟数>)
    

    替换<错误操作至今的分钟数>为实际数值,比如操作后过了15分钟就填15。

  • 确认数据无误后,执行以下语句恢复原表:

    CREATE OR REPLACE TABLE myschema.public.table1 AS
    SELECT * FROM myschema.public.table1 BEFORE(OFFSET => -<错误操作至今的分钟数>)
    
  • 稳妥起见,也可以先创建备份表再替换原表:

    -- 创建原表备份
    CREATE TABLE myschema.public.table1_backup AS
    SELECT * FROM myschema.public.table1 BEFORE(OFFSET => -<错误操作至今的分钟数>);
    -- 恢复原表
    CREATE OR REPLACE TABLE myschema.public.table1 AS
    SELECT * FROM myschema.public.table1_backup;
    

如果时间旅行保留期已过,只能依赖之前的克隆表或手动备份恢复,无法通过时间旅行找回数据。

内容的提问来源于stack exchange,提问作者YoungProgrammer1009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 22:45:31