我们正在使用asp.net和sql server开发一个Web应用程序.我们需要为应用程序执行审计跟踪.据了解,审计线索基本上是针对数据库上的所有插入,更新和删除的?现在我们来解决这个问题的方法是在每个插入,更新或删除被触发之后,在数据库中有一个审计跟踪表填充(手动在DAL中编写脚本).但是,直接从sql管理工作室触发的任何数据库更改都将不会被记录(显而易见的原因是:P).
为了照顾我,我可以创造一个触发器,并照顾一切.我也做了一些搜索,发现sql服务器有能力做审计追踪.但是使用触发器的问题是我不会得到登录在网站上的用户信息.我会得到sql用户,但我不给两个hoots,我关心的网站用户.
我想出的一个解决方案是
a)从我的Web应用程序审计跟踪,并设置触发器.在审计报告中,我只是从Web应用程序显示审核日志,并从sql server显示审核日志.
这种方法的显而易见的问题:过头.在每个DB CHANGE上写入两组不同的表.
b)我有一个名为UserId ON的列的每个数据库表.然后我创建一个触发器来捕获所有的DB更改.我通过这个userId在我更改的每个表(插入,更新,删除)和从触发器获取这个id.
明显的挫折:每个表中的不必要的用户标识列
我对长篇职位表示歉意.基本上,我需要一个审核日志来记录所有的数据库更改(包括直接破解到数据库),但同时给我提供了从Web应用程序进行的那些数据库更改的用户登录信息.
将会感谢在这方面的任何意见.
非常感谢
xeshu