基本概念
- 审计功能:把用户对数据库的所有操作自动记录下来放入审计日记中
- 可审计事件:服务器事件、系统权限、语句事件、模式对象事件
- 审计分类:用户级审计、系统级审计
- 用户级审计:用户针对自己创建的数据库表或试图进行审计,记录所有用户对这些表或试图的一切成功和不成功的访问要求以及各种类型的SQL事件
- 系统级审计:只能由数据库管理员设置,用以监测成功或失败的登录要求,监测授权和收回操作以及其他数据库级权限下的操作
SQL语言实现
- ps:代码中注释行内的名称均可替换为所需名称
- 开启审计
-- 审计名称:audit_name
-- 模式名称:Student_Course
-- 审计日志所要保存的绝对路径:C:\1
-- 所要审计的表/视图:table_name
-- 角色:R1
use master
create server audit [audit_name] to file(filepath = 'C:\1');
alter server audit [audit_name] with(state = on);
use [Student_Course]
create database audit specification auditmonitorquery for server audit [audit_name] add (update on object::dbo.table_name by R1);
alter database audit specification auditmonitorquery with(state = on);
- 删除审计
-- 审计名称:audit_name
-- 模式名称:Student_Course
use master
alter server audit [audit_name] with(state = off);
drop server audit [audit_name];
use [模式名称:Student_Course]
alter database audit specification auditmonitorquery with(state = off);
drop database audit specification auditmonitorquery;
手动操作实现
- ps:模式名以“S-T”为例
设置的审计对象为“SC”
设置审核
-
右键新建
-
启用审核
-
启用成功结果如下
设置服务器审核规范
-
右键新建
-
ps:若未先新建审核,则在新建服务器审核规范时会出现“未提供服务器审核”的错误,导致无法新建成功 -
启动服务器审核规范(与上述启动审核操作一致)
设置数据库审计
- 新建数据库审核规范
ps:该建立在相应的模式下的安全性建立
上述的审核与服务器审核在服务器下的安全性建立
- 右键启动
关于角色与用户的授权问题可转至下方文章:
角色与用户的授权问题