10、 查询审计跟踪
审计表的构成
|
列名 |
数据类型 |
说明 |
|
event |
smallint |
正被审计的事件的类型 |
|
eventmod |
smallint |
关于正被审计的事件的详细信息 0=事件无修改者 1=事件通过了权限检查 2=事件未通过权限检查 |
|
spid |
smallint |
引起写入审计记录的进程的id |
|
eventtime |
datetime |
审计事件发生的日期和时间 |
|
sequence |
smallint |
单个事件中记录的序列号。 |
|
suid |
smallint |
执行审计事件的用户的服务器登录id |
|
objid |
int null |
被访问的对象、存储过程或触发器的id |
|
xactid |
binary(6)null |
包含被审计事件的事务的id。 |
|
loginname |
varchar(30)null |
与suid相应的登录名 |
|
dbname |
varchar(30)null |
与dbid相应的数据库名 |
|
objname |
varchar(30)null |
与objid相应的对象名 |
|
objowner |
varchar(30)null |
objid的所有者名 |
|
extminfo |
varchar(255)null |
有关被审计的其它信息。 |
查询审计跟踪实验:
1) 假设审计数据位于audit_db数据库中名为audit_data的表中。要选择由“bob”于1999年7月5日所执行的审计记录
use audit_db
go
select * from audit_data
where loginname = "bob"
and eventtime like "jul 5% 93"
go
2) 下面的命令请求aca_db数据库中由具有sso_role角色的用户所执行命令的审计记录
select * from audit_data
where extrainfo like “%sso_role%
and dbname = "pubs2"
go
3) 下面的命令请求所有表截断(事件64)的审计记录
select *from audit_data where event=64
go
