为什么我们需要数据库表中的审计列?

前端之家收集整理的这篇文章主要介绍了为什么我们需要数据库表中的审计列?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我见过很多数据库设计在所有表上都有以下审计列……

>创建者
>创建日期时间
>更新者
> Upldated DateTime

从一个角度来看,我从以下视图中看到了表…

>实体表:

>审计专栏的好候选人)

>参考表:

>审核列可能需要也可能不需要.在某些情况下,根本不需要上次更新信息,因为记录永远不会被修改.)

>参考数据表

>与国家/地区名称,实体状态等类似…可能不需要审核列,因为这些信息仅在系统安装期间创建,并且永远不会更改.

我见过很多设计师盲目地把所有的审核专栏都放到了所有的表中,这种做法是不错的,如果是的话可能是什么原因……

我只是想知道,因为对我而言似乎不合逻辑.我很难弄清楚他们为什么这样设计数据库?我不是说他们错了或是对的,只是想知道为什么?

如果有可供选择的审计模式或解决方案,您也可以建议我……

感谢致敬

解决方法

数据审计是许多业务系统所必需的内部控制(请参阅Sarbanes Oxley,了解原因).它必须在数据库级别,以确保捕获所有更改,尤其是未经授权的更改.

即使使用查找表,未经授权的更改也可能会对您的系统造成严重破坏,因此了解谁进行了更改以及何时进行更改非常重要.什么时候特别重要,因为它有助于dbas知道在多大程度上获取备份以便意外或恶意地更改信息.

我们认为我们所有的员工都值得信赖,但许多盗窃的个人数据和破坏公司数据的恶意变更来自内部资源(这就是为什么让许多心怀不满的员工很危险),几乎所有的欺诈行为都是如此.然而,大多数程序员似乎认为他们只需要防范外部威胁.

当然,您仍然会有一些人可以进行未经授权的更改,但您无法阻止系统管理员执行此操作.但至少通过审计可以限制数据损坏的可能性(在雇用dbas时要特别小心,并且不允许在数据库服务器上使用其他任何管理员权限).

原文链接:https://www.f2er.com/mssql/84123.html

猜你在找的MsSQL相关文章