文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

37-SQLServer的审核/审计功能介绍

2020-12-18 12:06

关注


	37-SQLServer的审核/审计功能介绍
[数据库教程]

一、总结

SQLServer2008开始支持审计功能,审计规范分为服务器级别和数据库级别两种;

无论是服务器级别的审计还是数据库级别的审计,第一步创建审计对象的方式一样,最后创建完都是在实例下的安全性查看;

创建审计对象的时候,不能在创建脚本里直接启用审计(也就是添加state=on),在创建审计规范对象的时候的可以直接在创建脚本里直接添加state=on,直接启用审计规范;

 4、SQLServer审核功能相对而言性能影响较小,审核粒度也非常灵活;

 5、审核的日志文件是二进制的,不能使用文本编辑器直接打开;

在SQLServer中,一个审计对象只能绑定一个审核规范,而一个审核规范可以被多个审计对象使用;

不管是修改审计还是审计规范都得先禁用,再修改,再启用;

不能审核tempdb中的数据库操作;

二、创建审计对象

1、创建审计对象

create server audit MyFileAudit to file(
filepath=‘D:sqlaudits‘,
maxsize=4gb,
max_rollover_files=6)
with(
on_failure=continue,
queue_delay=1000
);

 

 

 

 

 

 

技术图片

 参数详解:

  maxsize:定义每个审核日志的最大大小是4GB;

  max_rollover_files:定义滚动文件的数目,达到6个文件的时候,开始删除前面的历史记录,复用文件空间;

  on_failure:指明当审核发生错误的时候,是否继续审计,如果指明shutdown,那么将会shutdown整改实例;

  query_delay:指定审核数据写入的延迟时间,1000表示1秒,如果指定0表示实时写入,当然性能也有些影响;

2、开启审计
命令:alter server audit MyAudit with(state=on)

3、禁用审计
命令:alter server audit MyFileAudit with(state=off)

4、修改审计选项(修改之前要先禁用审计,修改完之后再启用审计)
命令:alter server audit MyAudit with(state=off)
          alter server audit MyAudit with (queue_delay=1000)
          alter server audit MyAudit with(state=on)

5、查看审计的状态(1表示启用,0表示禁用)
命令:select name,is_state_enabled from sys.server_file_audits

技术图片

 6、删除审计

命令:drop  server audit MyFileAudit

 

三、创建服务器级别的审核规范

1、创建服务器级别的审核规范

create server audit specification CaptureLoginsToFile

for server audit MyAudit

add (failed_login_group),

add (successful_login_group)

with(state=on)

go

 

 

 

 

 

 

技术图片

 2、修改审核规范

--(1)禁用审核规范

alter server audit specification CaptureLoginsToFile with (state=off)

--(2)修改审核规范

alter server audit specification CaptureLoginsToFile

add (login_change_password_group),     --改变登录名的密码后,写入审计日志

drop (successful_login_group)               --删除登录成功信息的审计

--(3)启用审核规范

alter server audit specification CaptureLoginsToFile with (state=on)

 

 

 

 

 

 

 

 

技术图片

 3、查看审核规范状态

 命令:select name,is_state_enabled from sys.server_audit_specifications

技术图片

 4、查看审核规范的详细信息

 命令:select * from sys.server_audit_specification_details

技术图片

 5、删除审计规范

 命令:drop server audit  specification CaptureLoginsToFile

6、使用sys.[fn_get_audit_file]()函数查看审核日志

 命令:select * from sys.[fn_get_audit_file](‘D:sqlauditsMyAudit_C3C37587-2CFA-41C2-90B0-3F87F16135EA_0_132400485274590000.sqlaudit‘,default,default)

技术图片

7、在SSMS里查看审核日志

技术图片 

 技术图片

 

四、创建数据库级别的审核规范

1、创建审计对象(服务器级别和数据库级别创建方式一致)

create server audit MyDBAudit to file(

filepath=‘D:sqlauditsdbaudits‘,

maxsize=4gb,

max_rollover_files=6)

with(

on_failure=continue,

queue_delay=1000

);

 

 

 

 

 

 

 

 

技术图片

 2、创建数据库级别的审核规范

use [test]

go

create database audit specification CaptureDBToFile

for server audit MyDBAudit

add (database_object_change_group),

add (select,insert,update,delete on schema::dbo by public)

with(state=on)

go

 

 

 

 

 

 

 

 

技术图片

 3、修改数据库级别的审计规范

--(1)禁用审核规范

alter database audit specification CaptureDBToFile with (state=off)

--(2)修改审核规范

alter database audit specification CaptureDBToFile

drop (select on schema::dbo by public)    --删除select的审计

--(3)启用审核规范

alter database audit specification CaptureDBToFile with (state=on)

 

 

 

 

 

 

 

技术图片

 4、查看审核规范状态

 命令:select name,is_state_enabled from test.sys.database_audit_specifications

技术图片

 5、查看审计规范的详细信息

 命令:select * from test.sys.database_audit_specification_details

技术图片

6、删除审计规范

 命令:drop database audit  specification CaptureDBToFile

7、使用sys.[fn_get_audit_file]()函数查看审计结果

select * from sys.[fn_get_audit_file](‘D:sqlauditsdbauditsMyDBAudit_A5675035-43BB-4A19-B647-D6792E0120F9_0_132400509506420000.sqlaudit‘,default,default)

技术图片

 五、审核功能相关视图

查看审核对象信息

select * from sys.server_file_audits

查看服务器级别审核规范

select * from sys.server_audit_specifications

select * from sys.server_audit_specification_details

查看数据库级别的审核规范

select * from sys.database_audit_specifications

select * from sys.database_audit_specification_details

查看审核对象的状态

select * from sys.dm_server_audit_status

查看有所有的操作组

select * from sys.dm_audit_actions  

select * from sys.dm_audit_class_type_map

 

 

 

参考网址

https://www.cnblogs.com/lyhabc/p/4074003.html

 

 

***************************************************

如下是个人开发系统,欢迎大家体验,纯属个人爱好,想一块玩的,私信。

易本浪账:www.jialany.com  

***************************************************

 

37-SQLServer的审核/审计功能介绍

原文地址:https://www.cnblogs.com/jialanyu/p/13373166.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯