为什么审核报表中显示未更改的列?
启用列审核并查看审核报表后,启用审核的新列将显示在审核报表中,即使您尚未更改列中的值也是如此。
这是因为在启用列进行审核之前,这些列中的更改(如果有)不会写入审核报表。启用审核后,这些列也会添加到审核表中,并显示在审核报表中。
例如,假设在 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 列的审核表。