日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server 审计

發布時間:2023/12/4 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server 审计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

審計(Audit)用于追蹤和記錄SQL Server實例或數據庫中發生的事件,審計主要包括審計對象(Audit)和審計規范(Audit Specification),創建審計首先需要創建一個SQL Server 實例級的審計對象,然后,創建從屬于它的“服務器審計規范”或“數據庫審計規范”。審計數據可以輸出到審計文件(File)、安全日志(Security Log)和應用程序日志(Application Log)。

啟用審計的目的一般是為了監控SQL Server執行的操作,例如,記錄什么人在什么時候查詢數據、修改數據,登陸SQL Server實例等,由于審計記錄的數據有可能很豐富,因此,啟用審計可能產生大量的日志數據,占用磁盤的大量空間。審計使用一句話來概括就是:記錄誰在什么時候做了什么事,審計對象(Audit)定義:配置數據存在何處,而審計規范(Audit Specification)定義:記錄什么事,一旦特定的事件觸發,SQL Server引擎就使用審計記錄事件發生的現場信息。

創建和使用審計的一般步驟是:

  • step1:創建服務器級別的審計對象,并啟用審計對象;

  • step2:創建審計規范,并映射到審計對象審核,啟用審計規范,審計對象開始追蹤和記錄數據;

  • step3:查看審計數據,可以通過使用SSMS的”Log Files Viewer“或函數sys.fn_get_audit_file 查看記錄的日志數據。

一,創建審計對象

首先創建服務器級別的審計對象,展開"Security",右擊Audits,通過“New Audit”,打開“Create Audit”窗體開始創建審計對象,審計輸出的數據保存到“Audit destination”中,本文選擇File,把數據存儲到審計文件中,其他類型是:Security Log和Application Log。Queue delay是指數據寫入到審計文件的延遲,默認是1s。審計對象的作用是指定審計數據保存的路徑,以及寫入數據的延遲和數據文件的大小,審計對象主要是存儲審計規范的數據。

根據硬盤空間的限制,設置審計對象的屬性 Audit File maximum Limit、Maximum File size、以及Reserve disk space,控制審計文件的大小,管理硬盤空間的使用,避免硬盤爆掉。

創建的審計對象默認是禁用(Disable)的,在使用審計對象之前,必須啟用,選中新建的審計對象,右擊,選中“Enable Audit”。

二,創建服務器級別的審計規范

展開Security,選中“Server Audit Specifications”,右擊彈出快捷菜單,選擇“New Server Audit Specifications”,打開“Create Server Audit Specifications”的窗體,通過UI創建審計規范:

審計規范指定審計對象記錄的事件類型,在審計規范中指定的事件類型,SQL Server 一旦檢測到事件發生,就會把跟該事件相關的信息寫入到審計對象指定的文件中,保存起來,以便于后續的檢查(review)。

1,添加審計操作組

創建審計規范,選擇審計對象,從Audit Action Type列表中選擇審計操作組,創建的審計規范默認是禁用的,選中新建的審計規范,右擊彈出快捷菜單,選中”Enable Server Audit Specifications “啟用:

從審核操作類型列表中選擇審計操作組,審計操作組是審計記錄的事件操作類型,常用的審計操作組是:

  • DATABASE_OBJECT_ACCESS_GROUP:訪問數據庫對象時將引發此事件;

  • DATABASE_OBJECT_CHANGE_GROUP:針對數據庫對象(如架構)執行 CREATE、ALTER 或 DROP 語句時將引發此事件。 創建、更改或刪除任何數據庫對象時均將引發此事件。

  • DATABASE_OPERATION_GROUP:數據庫中發生操作(如檢查點或訂閱查詢通知)時將引發此事件。 對于任何數據庫的任何操作都將引發此事件。

  • FAILED_DATABASE_AUTHENTICATION_GROUP:指示某個主體嘗試登錄到數據庫并且失敗。

  • FAILED_LOGIN_GROUP:指示主體嘗試登錄到 SQL Server ,但是失敗。

  • SUCCESSFUL_LOGIN_GROUP:指示主體已成功登錄到 SQL Server。

2,查看審計數據

點擊審計對象,右擊彈出快捷菜單,點擊”View Audit Logs“查看審計對象記錄的數據:

或者通過TSQL 函數查看審計數據,

sys.fn_get_audit_file ( file_pattern, ? { default | initial_file_name | NULL }, ? { default | audit_record_offset | NULL } )

審計文件名由四部分組成:AuditName_GUID_n_m.sqlaudit,第一個參數是file_pattern,包括路徑和文件名,對于文件名,可以通過特殊的匹配符指定:

  • *:表示所有的字符;

  • {}:指定GUID;

  • 如果文件名以擴展名( .sqlaudit)結尾,表示查看特定的文件;

例如,查看所有的審計文件的數據:

select *from sys.fn_get_audit_file('E:\AuditFiles\*',default,default)

三,創建數據庫級別的審計規范

在數據庫的Security中右擊“Database Audit Specifications”,數據庫級別的審計操作組,大部分和服務器級別的審計操作組很相似,除了數據庫級別的審計動作(Database-Level Audit Actions),在數據庫對象上發生以下操作(Action)時,記錄事件的信息:

  • SELECT

  • UPDATE

  • INSERT

  • DELETE

  • EXECUTE

  • REFERENCES

數據庫級別的審計操作追蹤和記錄的是數據庫對象(schema,objects)上發生的事件,因此必須配置Object Class、Object Schema,Object Name 和 Principal Name字段:

查看審計數據,選中Server級別的審計對象,通過”View Audit Logs“查看記錄的日志數據。

四,維護審計

創建審計很簡單,DBA需要更多關注的是審計數據的維護

略,后續補充

參考文檔:

SQLSERVER2008新增的審核/審計功能

SQL Server Audit (Database Engine)

SQL Server Audit Action Groups and Actions

sys.fn_get_audit_file (Transact-SQL)

原文地址:http://www.cnblogs.com/ljhdo/p/5721668.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的SQL Server 审计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。