【问题标题】:SQL Server temporal table for historical changes only仅用于历史更改的 SQL Server 时态表
【发布时间】:2020-10-20 08:32:39
【问题描述】:

我有一张经常更改的数据表。我不关心少于 30 天的数据的更改。无需跟踪这些版本。但是一旦数据大约 30 天前,我想跟踪它的变化。这可能使用单个时态表吗?或者我是否需要有一个包含所有内容的“实时”表和一个单独的“存档表”,我们将仅在 30 天前的数据中进行 ETL 并打开时间?

【问题讨论】:

    标签: sql-server temporal-tables


    【解决方案1】:

    或者我是否需要有一个包含所有内容的“实时”表? 一个单独的“存档表”,我们将在 30 天前进行 ETL 数据/日期时间并打开时间?

    您必须使用这种方法,因为当您配置临时表时,您无法在某些日期属性上设置 30 天偏移量

    因此,正如您在最初的问题中指出的那样,合乎逻辑的解决方法是创建一个计划进程,将更改合并到启用了 TEMPORAL TABLE 功能的存档表中,因此它将保留更改历史记录。

    【讨论】:

      【解决方案2】:

      这可以使用单个时态表吗?或者我需要 有我的“实时”表,里面有所有东西,还有一个单独的 “存档表”,我们将仅在 30 天前的数据中进行 ETL 并转 时间上的那个?

      创建系统版本的临时表时,它会自动创建一个以“_history”为后缀的历史表。虽然系统版本控制已打开,但无法从 _history 中删除。简单的答案是关闭版本控制,从 _history 表中删除行,然后重新打开系统版本控制。喜欢this。 SO 和其他网站上有很多文章和示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多