简单的sql数据审计日志表

时间:2013-05-17 06:58:37

标签: sql-server audit-tables

我需要记录表中的所有更改。我在数据审计日志中经历了很多关于SO的文章。对我来说似乎都很复杂。

我计划在更新和删除数据之前保留表的副本。这是个好主意吗?

3 个答案:

答案 0 :(得分:1)

如果我们只讨论一张桌子,那么是的。如果有几张桌子那么可能。如果有很多表需要审核,那么没有。

原因是你需要维护的表越多,它就越复杂。此外,许多表格的报告可能是一项艰巨的任务。

以下是其他一些想法:

存储的两个表设计:想法是在一个表(用户,主机,事务时间,表名,数据库名等)和第二个表中的数据更改中保留有关事务的详细信息(旧的价值观,钥匙等)

第三方工具:有几种工具可以在不同级别提供审核。 ApexSQL Audit是基于触发器的审核工具,ApexSQL Log更高级,可以审核权限和架构更改,Idera的Compliance manager是最先进的,甚至可以捕获select语句。

更改数据捕获:这内置于SQL Server 2008+中,但仅限于企业版。

答案 1 :(得分:0)

为了了解数据库中每个表中所做的更改,我相信您应该为LepideAuditor for SQL Server。通过此工具,您可以跟踪有关在数据库和SQL Server对象上完成的创建,更改,删除活动的更改。 它详细说明了对这些对象进行的所有操作的人员,内容,时间和地点。

答案 2 :(得分:0)

如果您打算保留表的副本,我建议您查看数据库快照。它将帮助您创建数据库的只读副本,并且可以轻松地将表恢复和与快照进行比较。

关于SQL审计,在开始时创建有点困难,但是一旦有了工作,第二次审计将需要几分钟才能实现。

SQL Audit是少数几个表的不错选择。如果您有多个,请使用更改数据捕获或第三方工具,如Lepide或apexsql触发器。