为什么审核报表中显示未更改的列?

启用列审核并查看审核报表后,启用审核的新列将显示在审核报表中,即使您尚未更改列中的值也是如此。

这是因为在启用列进行审核之前,这些列中的更改(如果有)不会写入审核报表。启用审核后,这些列也会添加到审核表中,并显示在审核报表中。

例如,假设在 2023 年 1 月 1 日创建了三个列(C1、C2 和 C3)。您在 C1 和 C2 列中添加值。

您的数据库表显示这些值。
C1 C2 C3 上次更新日期
c1value1 c2value1 NULL 2023 年 1 月 1 日

您仅为 C1 列启用审核,因此对应的审核报表将具有这些值。

请记住, 上次更新日期列始终会审核。
C1 C2 C3 上次更新日期
c1value1 NULL NULL 2023 年 1 月 1 日

三个月后,更新 C1 列中的值并在 C3 列中添加值。

数据库表将具有这些值。
C1 C2 C3 上次更新日期
c1value2 c2value1 c3value1 2023 年 4 月 1 日
对应的审核表现在有两行,其中显示启用审核的 C1 列的最新更改。
C1 C2 C3 上次更新日期
c1value1 NULL NULL 2023 年 1 月 1 日
c1value2 NULL NULL 2023 年 4 月 1 日

两个月后,您再次打开 C2 和 C3 列的审核。更新 C1 列中的值。

数据库表现在将具有这些值。
C1 C2 C3 上次更新日期
c1value3 c2value1 c3value1 2023 年 6 月 1 日
对应的审核表现在有三行。
C1 C2 C3 上次更新日期
c1value1 NULL NULL 2023 年 1 月 1 日
c1value2 NULL NULL 2023 年 4 月 1 日
c1value3 c2value1 c3value1 2023 年 6 月 1 日

虽然 C2 和 C3 列上次更新时间为 2023 年 4 月 1 日,但审核表显示这些列于 2023 年 6 月 1 日更新。每次对启用审核的列进行更新时,都会随行的快照一起添加审核表。但在此处,对列 C2 和 C3 的更新是启用了审核。接下来,只有在这两列中的值有任何更改时,才会更新 C2 和 C3 列的审核表。