SQL server審核/審計


37-SQLServer的審核/審計功能介紹

一、總結

1、SQLServer2008開始支持審計功能,審計規范分為服務器級別和數據庫級別兩種;

2、無論是服務器級別的審計還是數據庫級別的審計,第一步創建審計對象的方式一樣,最后創建完都是在實例下的安全性查看;

3、創建審計對象的時候,不能在創建腳本里直接啟用審計(也就是添加state=on),在創建審計規范對象的時候的可以直接在創建腳本里直接添加state=on,直接啟用審計規范;

 4、SQLServer審核功能相對而言性能影響較小,審核粒度也非常靈活;

 5、審核的日志文件是二進制的,不能使用文本編輯器直接打開;

6、在SQLServer中,一個審計對象只能綁定一個審核規范,而一個審核規范可以被多個審計對象使用;

7、不管是修改審計還是審計規范都得先禁用,再修改,再啟用;

8、不能審核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:\sqlaudits\MyAudit_C3C37587-2CFA-41C2-90B0-3F87F16135EA_0_132400485274590000.sqlaudit',default,default)

7、在SSMS里查看審核日志

 

 

 

四、創建數據庫級別的審核規范

1、創建審計對象(服務器級別和數據庫級別創建方式一致)

復制代碼
create server audit MyDBAudit to file(

filepath='D:\sqlaudits\dbaudits',

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:\sqlaudits\dbaudits\MyDBAudit_A5675035-43BB-4A19-B647-D6792E0120F9_0_132400509506420000.sqlaudit',default,default)

 五、審核功能相關視圖

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

復制代碼
1、查看審核對象信息

select * from sys.server_file_audits

2、查看服務器級別審核規范

select * from sys.server_audit_specifications

select * from sys.server_audit_specification_details

3、查看數據庫級別的審核規范

select * from sys.database_audit_specifications

select * from sys.database_audit_specification_details

4、查看審核對象的狀態

select * from sys.dm_server_audit_status

5、查看有所有的操作組

select * from sys.dm_audit_actions  

select * from sys.dm_audit_class_type_map
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM