审计与跟踪

最近发现经常数据库的存储过程被人更新过了,所以需要将修改的日志记录下来。在实现过程中发现跟踪、审计均能达到跟踪的目的,暂没有发现两个差别。

1跟踪

需要先创建跟踪,设置先关配置,再添加需要跟踪的事件及我们关注的指标列 ,最后开启跟踪。下面是是监控数据库中Create、Alter、Drop对象的操作脚本。

/****************************************************************/

--创建跟踪文件返回值
declare @rc int
--创建一个跟踪句柄
declare @TraceID int
--创建跟踪文件路径
declare @TraceFilePath nvarchar(500)
set @TraceFilePath=N'D:\FTP共享\HL\SqlTraceLog'

--跟踪文件的大小
declare @maxfilesize bigint
set @maxfilesize=5
--设置停止的时间
declare @EndTime datetime
set @EndTime=null
--设置系统默认的操作
declare @options int
set @options=2
--设置默认滚动文件的数目
declare @filecount int
set @filecount=5

---创建跟踪
exec @rc=sp_trace_Create
@TraceID output,
@options,
@TraceFilePath,
@maxfilesize,
@EndTime,
@filecount

--查询创建跟踪的TraceID,这是系统返回
if(@rc=0)
select  @TraceID

--select * from sys.traces
--where id=9

--添加跟踪事件
--131表示要跟踪的事件,后面一列表示要关注的属性列 这里关注了textdata ,starttime ,databasename ,loginname ,error 5列,最后1表示状态,为开启跟踪

exec sp_trace_setevent @TraceID,131,1,1
exec sp_trace_setevent @TraceID,131,11,1
exec sp_trace_setevent @TraceID,131,14,1
exec sp_trace_setevent @TraceID,131,35,1
exec sp_trace_setevent @TraceID,131,31,1


--将跟踪启用为跟踪
exec sp_trace_setstatus @TraceID,1

--查询
select textdata ,starttime ,databasename ,loginname ,error  from ::fn_trace_gettable('D:\FTP共享\HL\SqlTraceLog.trc',1)

2审计

审计分为服务器、数据库、对象3个级别的审计


添加数据审核规范,这个是在数据库—安全性—数据库审核规范中,右击新建





数据库审计添加成功,现在可以create drop alter 数据库对象,均会被记录在文件中







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值