我正在为我的数据库构建审计表,需要选择要实现的样式.我目前正在考虑三个选项,所有选项都将使用触发器填充:
这三个选项中的每一个都是可行的,据我所知,没有提供的功能在另一个选项中是不可能的.所以必须有一些我没有考虑的东西或一些更标准的模式.如果它有任何区别,这个解决方案必须适用于mysql和sql server(虽然我可以稍后解决代码的细节).
审计表受到的打击非常严重,您不希望只使用一张表来进行所有审计,否则您会遇到阻塞。
我们做了类似于第二点的事情,只是每个表有两个表(一个存储更改实例,另一个存储实际数据。这使得很容易找到存储在表中的一百万条记录导入中的所有记录,例如,因为它们都是同一个实例。这意味着我们可以轻松地编写脚本,在添加新表时创建新的审计表。
对于第二种情况,我建议编写一个过程来恢复特定记录,这样恢复就很容易,而且您不必每次都弄清楚。