Server 2012数据库审核在指定主体DBO时对sysadmins执行审计。但是,这会导致对所有系统管理员进行审计。什么配置或解决方案可以用于仅审计一个具有sysadmin成员资格的特定组,而不对所有sysadmins的所有活动进行审计?我们试图减少不必要的操作事件(即sql引擎服务帐户或其他属于sysadmin且不需要审计的服务帐户)。这是一个用户数据库。
我们一直在运行cli: sqlplus / as sysdba中的命令列表,我们没有“历史记录”,因此退出了会话。如何获得之前作为sysdba运行的sql语句的列表?
我们尝试了以下几点:
SELECT
h.sample_time,
u.username,
h.program,
h.module,
s.sql_text
FROM
DBA_HIST_ACTIVE_SESS_HISTORY h,
DBA_USERS u,
DBA_HIST_SQLTEXT s
WHERE sample_time >= SYSDATE - 1
AND h.
我正在考虑更改我们的SQL Server 2005数据库的审核流程,我遇到了SQL Server 2008中的变更数据捕获。
这看起来是个好主意,我很想尝试一下,但在此之前,是否有人在商业环境中使用过它,您的想法是什么?
我注意到,当我在MS帮助中读到CDC时,它说审计数据通常会保存几天。这在这里是不可能的,我想无限期地保存数据,有人知道这种方法的问题吗?
如果由于我不知道的原因,这不是一个好的解决方案,您是否有其他用于审计数据更改的解决方案。我热衷于使用一个可以在我想要的任何表上实现的系统。
我的基本要求是:“之前、之后、谁、什么时候”的信息有任何变化。
我已经将audit_sys_operations设置为true,audit_trail是DB,EXTENDED。现在,我有了一个具有数据库管理员权限的帐号,名为admin。我使用AUDIT CREATE ANY TABLE BY ADMIN,但select * from SYS.AUD$没有显示管理员创建新表的任何内容,即使管理员创建了几个表;
是否可以查看具有DBA权限的用户的审计记录?
我的问题是我不知道该怎么办。我正在考虑构建类似这样的数据库结构():
然而,在进行研究时,我发现有一些审计包,如。所以我想知道什么是正反两方面?
我的想法是:
SQL历史记录:
Pro:
- Specific Source of Tables with specific attributes
- easy readable each row on DB viewers
Cons:
- harder to implement
像Laravel审计
Pro:
- Easy to implement via Trait
- Easy to get history