如何检查SQL Server 2012中的历史记录?

时间:2019-01-14 03:15:01

标签: sql-server sql-server-2012

我有一个包含5列的表tbpayment

  1. StudentId //付款人
  2. 金额
  3. Datepay
  4. 状态//已付款或未付款。
  5. AdminID //收件人或谁管理数据。

管理员是指AdminId。

管理员可以将付款人状态更改为已付款或未付款。但是我没有控制这个问题。

例如:首先,管理员确实为付款人付款,此后,他将付款人状态更改为未付款,从而产生了问题。这可以通过Update语句以及替换更新数据后起作用。 MultiAdmin。

我想知道:

我可以在SQL日志中查看该付款人的历史记录吗?

是否有可能每次都知道谁是管理员?

以及如何检查历史记录?

1 个答案:

答案 0 :(得分:0)

  

我可以在SQL日志中查看该付款人的历史记录还是不能

否,默认情况下,这不会记录到SQL Server错误日志中

  

并且可能知道每次的管理员是谁?以及如何检查   历史吗?

当然可以,但是您需要进行一些配置。本质上,您要审核或记录对此表所做的更改。为此,您有一些选择。

  1. 通过创建AFTER INSERT / UPDATE TRIGGER手动审核更改,该操作将整行记录到审核表中。这将允许您查看您指定的任何列的所有版本
  2. 设置一个SQL Server audit来为您完成
  3. 设置rowversion来捕获更改
  4. 设置Change Data Capture来捕获更改

所有这些都有其优点和缺点以及复杂程度。最简单的方法是触发审计表,因为您可以根据自己的喜好快速对其进行自定义。