Bra*_*ood 31 sql database sql-server audit
我过去使用的一个简单方法基本上就是创建第二个表,其结构镜像我想要审计的表,然后在主表上创建更新/删除触发器.在更新/删除记录之前,当前状态将通过触发器保存到审计表中.
虽然有效,但审计表中的数据并不是最有用或最简单的报告.我想知道是否有人有更好的方法来审核数据变化?
这些记录的更新不应太多,但它是高度敏感的信息,因此对客户而言,所有更改都经过审核并易于报告,这一点非常重要.
Gre*_*man 18
你对这张表的阅读与阅读量有多大关系?
我使用了一个审计表,其中包含Table,Column,OldValue,NewValue,User和ChangeDateTime的列 - 通用程序足以与DB中的任何其他更改一起使用,并且当大量数据写入该表时,报告这些数据非常稀少,可以在当天的低使用期运行.
补充: 如果需要考虑数据量与报告的数量,可以将审计表复制到只读数据库服务器,这样您就可以在必要时运行报告,而不会让主服务器停止工作.
小智 6
我们正在使用两个表设计.
一个表保存有关事务的数据(数据库,表名,模式,列,触发事务的应用程序,启动事务的登录的主机名,日期,受影响的行数以及更多).
第二个表仅用于存储数据更改,以便我们可以根据需要撤消更改并报告旧/新值.
另一种选择是使用第三方工具,例如SQL Server中的ApexSQL Audit或Change Data Capture功能.
| 归档时间: |
|
| 查看次数: |
12578 次 |
| 最近记录: |