SQL Server临时表仅用于历史更改

问题描述

我有一个经常更改的数据表。我不在乎不到30天的数据更改。无需跟踪那些版本。但是,一旦数据已经使用了30天,我想跟踪它的变化。使用单个时态表可能吗?还是我需要拥有包含所有内容的“实时”表和一个单独的“存档表”,以便仅在30天的旧数据中进行ETL转换并启用时态?

解决方法

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

您必须使用此方法,因为在配置时态表时,无法在某个日期属性上设置 30天的偏移量

因此,正如您在第一个问题中所指出的那样,逻辑解决方法是创建一个计划的进程,该进程将MERGE更改添加到已启用TEMPORAL TABLE功能的档案表中,因此它将保留更改历史记录。

,

使用单个时态表是否可能?还是我需要 有我的“实时”表,其中包含所有内容,并有单独的 “存档表”,我们将仅对30天的数据进行ETL转换 暂时的?

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