最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQLServer審計功能配置詳細(xì)圖文教程

 更新時間:2024年01月02日 09:34:14   作者:Jepson2017  
這篇文章主要給大家介紹了關(guān)于SQLServer審計功能配置的相關(guān)資料,SQL Server 的審計功能可以捕獲數(shù)據(jù)庫的活動和事件,包括登錄、DDL 和 DML 操作、失敗的登錄嘗試、權(quán)限更改等,需要的朋友可以參考下

一. SQL Server審計功能介紹

SQL Server審計功能(Audit)是SQL Server 2008之后才有的功能,審計(Audit)用于追蹤和記錄SQL Server實(shí)例,或者單個數(shù)據(jù)庫中發(fā)生的事件(Event),審計運(yùn)作的機(jī)制是通過捕獲事件(Event),把事件包含的信息寫入到事件日志(Event Log)或?qū)徲嬑募?Audit File)中,為review提供最真實(shí)詳細(xì)的數(shù)據(jù)。

Audit都需要創(chuàng)建一個實(shí)例級的“SQL Server審核”,然后可以創(chuàng)建從屬于它“服務(wù)器審核規(guī)范”和“數(shù)據(jù)庫審核規(guī)范”??梢岳斫?ldquo;SQL Server審核”是審核的頂級容器,這兩個“規(guī)范”是定義要審核的具體內(nèi)容。

創(chuàng)建和使用審核的一般過程:

  1. 創(chuàng)建審核并啟用。
  2. 創(chuàng)建映射到審核的服務(wù)器審核規(guī)范數(shù)據(jù)庫審核規(guī)范,并啟用審核規(guī)范。
  3. 通過使用 Windows“事件查看器”、“日志文件查看器”或 fn_get_audit_file 函數(shù)來讀取審核事件。

官方手冊參考:https://learn.microsoft.com/zh-cn/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions?view=sql-server-ver16

二. 啟用審核功能

下面以SQL Server2019為例,啟用審核功能,具體配置過程如下:

1.創(chuàng)建審核并啟用

“SQL Server 審核” 對象收集單個服務(wù)器實(shí)例或數(shù)據(jù)庫級操作和操作組以進(jìn)行監(jiān)視。 這種審核處于 SQL Server 實(shí)例級別。 每個 SQL Server 實(shí)例可以具有多個審核。

定義審核時,將指定結(jié)果的輸出位置,這是審核的目標(biāo)位置。目標(biāo)位置支持三種,分別是文件、windows安全事件日志、windows應(yīng)用程序事件日志。 審核是在 禁用 狀態(tài)下創(chuàng)建的,因此不會自動審核任何操作。 啟用審核后,審核目標(biāo)將從審核接收數(shù)據(jù)。

創(chuàng)建審核可以通過SSMS界面化配置,也可通過執(zhí)行SQL語句實(shí)現(xiàn)。

(1)創(chuàng)建一個審核,名為 Audit-logfile,目標(biāo)位置為文件(審核結(jié)果文件存放在c:\dbaudit路徑中),通過SSMS界面化配置方法如下:
用管理員賬號登錄SQL Server管理工具(SQL Server Management Studio),在“安全性”-“審核”菜單上,右鍵-“新建審核”,如下圖:

新建審核界面如下圖:

點(diǎn)擊“確定”即可創(chuàng)建一個審核,創(chuàng)建后在“安全性”-“審核”下面多了一個名為“Audit-logfile”的審核配置,默認(rèn)是未啟用狀態(tài)(紅色的叉號表示未啟用,若想啟用審核,可右鍵點(diǎn)擊,選擇啟用審核即可),如下圖:

對應(yīng)的通過SQL語句方式創(chuàng)建審核的語句如下:

USE [master]
GO

CREATE SERVER AUDIT [Audit-logfile]
TO FILE 
(	FILEPATH = N'C:\dbaudit\'
	,MAXSIZE = 1024 MB
	,MAX_FILES = 100
	,RESERVE_DISK_SPACE = ON
) 
WITH 
(	QUEUE_DELAY = 1000, 
	ON_FAILURE = CONTINUE
)

ALTER SERVER AUDIT [Audit-logfile] WITH (STATE = OFF)
GO

如下圖,執(zhí)行sql語句后,會在左側(cè)“安全性”-“審核”下面生成一個名為“Audit-logfile”的配置:

SQL語句中相關(guān)參數(shù)說明如下:

  • TO FILE:指定輸出到審核文件,也可以指定為SECURITY_LOG和APPLICATION_LOG。
  • FILEPATH:審核文件的目錄地址。
  • MAXSIZE:單個審核文件的大容量。
  • MAX_FILES:類似于Trace,指定Rollover允許多文件數(shù)。
  • RESERVE_DISK_SPACE:預(yù)先分配審核文件到MAXSIZE,推薦啟用。
  • QUEUE_DELAY:指定事件發(fā)生到被強(qiáng)制審核的毫秒間隔。指定為0則為同步審核。
  • ON_FAILURE :當(dāng)審核向上檔寫入數(shù)據(jù)失敗時,接下來會采取的行為:CONTINUE | SHUTDOWN | FAIL_OPERATION。
  • ALTER SERVER AUDIT [Audit-logfile] WITH (STATE = OFF) # 該語句是是否啟用審核,默認(rèn)是創(chuàng)建時未啟用(STATE = OFF),也可以創(chuàng)建的時候直接啟用(STATE = ON)

啟用審核后,在服務(wù)器 C:\dbaudit 路徑下會生成一個 審計日志文件(Audit-logfile),如下圖:

文件為sqlaudit類型(不可讀,后面需要通過sql語句進(jìn)行查詢:select * from sys.fn_get_audit_file(‘C:\dbaudit*’,default,default))

(2)創(chuàng)建一個審核,名為 Audit-log,目標(biāo)位置為windows應(yīng)用程序日志(審核結(jié)果寫在windows應(yīng)用程序事件中),通過SSMS界面化配置方法如下:

通過sql語句創(chuàng)建如下:

USE [master]
GO

CREATE SERVER AUDIT [Audit-log]
TO APPLICATION_LOG 
WITH (
QUEUE_DELAY = 1000, 
ON_FAILURE = CONTINUE
)
ALTER SERVER AUDIT [Audit-log] WITH (STATE = ON)  --創(chuàng)建時啟用
GO

上面創(chuàng)建了兩個審核,Audit-logfile 和 Audit-log(審核目標(biāo)位置不同),介紹了目標(biāo)位置為不同方式的兩種創(chuàng)建方法,實(shí)際運(yùn)用中可選擇其中一種即可。

2. 創(chuàng)建審核規(guī)范并啟用

審核規(guī)范可以是服務(wù)器級別的審核規(guī)范,也可以是數(shù)據(jù)庫級別的審核規(guī)范,二者創(chuàng)建一種即可。

如果是服務(wù)器級別的審核規(guī)范,則審核規(guī)范對所有數(shù)據(jù)庫都生效,如果是數(shù)據(jù)庫級別的審核規(guī)范,則需要對每一個具體的數(shù)據(jù)庫定義審核規(guī)范。

下面分別介紹兩種審核規(guī)范的創(chuàng)建方式。

2.1 創(chuàng)建服務(wù)器審核規(guī)范

“服務(wù)器審核規(guī)范” 對象屬于審核。 您可以為每個審核創(chuàng)建一個服務(wù)器審核規(guī)范,因?yàn)樗鼈兌际窃?SQL Server 實(shí)例范圍內(nèi)創(chuàng)建的。

服務(wù)器審核規(guī)范可收集許多由擴(kuò)展事件功能引發(fā)的服務(wù)器級操作組。 您可以在服務(wù)器審核規(guī)范中包括“審核操作組” 。 審核操作組是預(yù)定義的操作組,它們是 數(shù)據(jù)庫引擎中發(fā)生的原子事件。 這些操作將發(fā)送到審核,審核將它們記錄到目標(biāo)中。

如為上一步創(chuàng)建的審核(Audit-logfile) 創(chuàng)建一個服務(wù)器審核規(guī)范,下面分別介紹兩種方式:通過SSMS界面配置和通過SQL語句創(chuàng)建。

(1)通過SSMS界面創(chuàng)建服務(wù)器審核規(guī)范
右鍵“安全性”-“服務(wù)器審核規(guī)范”:

點(diǎn)擊“新建服務(wù)器審核規(guī)范”:

如上圖:名稱自定義,如Server-audit,審核對象選擇 Audit-logfile,審核操作類型可選擇需要審計的類型:

部分審計類型含義如下:

  • AUDIT_CHANGE_GROUP:當(dāng)Audit被創(chuàng)建、修改和刪除時,觸發(fā)該事件
  • BATCH_COMPLETED_GROUP:當(dāng)任何batch、sp或事務(wù)完成執(zhí)行時,觸發(fā)該事件,并記錄下執(zhí)行的命令的文本。
  • BATCH_STARTED_GROUP:當(dāng)任何batch、sp或事務(wù)開始執(zhí)行時,觸發(fā)該事件,并記錄下執(zhí)行的命令的文本。
  • DATABASE_OBJECT_CHANGE_GROUP:當(dāng)任何數(shù)據(jù)庫中的對象執(zhí)行create、alter或drop命令時,觸發(fā)該事件,可能會產(chǎn)生巨大的審計日志
  • FAILED_LOGIN_GROUP:當(dāng)一個principal嘗試登錄SQL Server,并失敗時,觸發(fā)該事件
  • FAILED_DATABASE_AUTHENTICATION_GROUP:當(dāng)一個Principal嘗試登錄數(shù)據(jù)庫,并失敗時,觸發(fā)該事件
  • SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP:當(dāng)一個principal成功登錄SQL Server中的數(shù)據(jù)庫時,觸發(fā)該事件
  • SUCCESSFUL_LOGIN_GROUP:當(dāng)一個principal成功登錄SQL Server時,觸發(fā)該事件

(2)通過SQL語句創(chuàng)建,執(zhí)行sql語句如下:

USE [master]
GO

CREATE SERVER AUDIT SPECIFICATION [Server-audit]
FOR SERVER AUDIT [Audit-logfile]
ADD (FAILED_LOGIN_GROUP),
ADD (FAILED_DATABASE_AUTHENTICATION_GROUP),
ADD (SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP),
ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (SCHEMA_OBJECT_CHANGE_GROUP),
ADD (SCHEMA_OBJECT_ACCESS_GROUP),
ADD (SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP)
WITH (STATE = ON)
GO

執(zhí)行成功后,會在左側(cè)“安全性”-“服務(wù)器審核規(guī)范”下面生成一條配置,名為 Server-audit,如下圖

2.2 創(chuàng)建數(shù)據(jù)庫審核規(guī)范

“數(shù)據(jù)庫審核規(guī)范” 對象也屬于 SQL Server 審核。 針對每個審核,您可以為每個 SQL Server 數(shù)據(jù)庫創(chuàng)建一個數(shù)據(jù)庫審核規(guī)范。

數(shù)據(jù)庫審核規(guī)范可收集由擴(kuò)展事件功能引發(fā)的數(shù)據(jù)庫級審核操作。 你可以向數(shù)據(jù)庫審核規(guī)范添加審核操作組或?qū)徍耸录?審核事件 是可以由 SQL Server 引擎審核的原子操作。 “審核操作組”是預(yù)定義的操作組。 它們都位于 SQL Server 數(shù)據(jù)庫作用域。 這些操作將發(fā)送到審核,審核將它們記錄到目標(biāo)中。

下面分別介紹兩種方式:通過SSMS界面創(chuàng)建和通過執(zhí)行SQL語句創(chuàng)建數(shù)據(jù)庫審核規(guī)范,針對測試環(huán)境數(shù)據(jù)庫mydb創(chuàng)建數(shù)據(jù)庫審核規(guī)范。

(1)通過SSMS界面創(chuàng)建數(shù)據(jù)庫審核規(guī)范

選擇“數(shù)據(jù)庫”-mydb-“安全性”-“數(shù)據(jù)庫審核規(guī)范”,右鍵如下圖:

點(diǎn)擊“新建數(shù)據(jù)庫審核規(guī)范”,如下圖:

如上圖:名稱自定義,如Db-Audit,審核對象選擇 Audit-logfile,審核操作類型可選擇需要審計的事件操作類型等:

(2)通過執(zhí)行SQL語句創(chuàng)建數(shù)據(jù)庫審核規(guī)范

use [mydb]
GO

CREATE DATABASE AUDIT SPECIFICATION [Db-Audit]
FOR SERVER AUDIT [Audit-logfile]
ADD (DELETE,UPDATE,SELECT,INSERT ON DATABASE::[mydb] BY [public])
WITH (STATE = ON)
GO

執(zhí)行如下圖:

執(zhí)行成功后,會在左側(cè) “數(shù)據(jù)庫”-mydb-“安全性”-“數(shù)據(jù)庫審核規(guī)范” 下面生成一個名為 Db-Audit 的配置項(xiàng)。

數(shù)據(jù)庫級別的審核規(guī)范,審計動作組部分含義如下:

  • BATCH_COMPLETED_GROUP
  • BATCH_STARTED_GROUP
  • DATABASE_OBJECT_CHANGE_GROUP:當(dāng)對數(shù)據(jù)庫對象執(zhí)行CREATE、ALTER、 或 DROP命令時,觸發(fā)該事件
  • DATABASE_OBJECT_PERMISSION_CHANGE_GROUP:當(dāng)數(shù)據(jù)庫對象的權(quán)限(執(zhí)行GRANT, REVOKE, or DENY)發(fā)生變化時,觸發(fā)該事件
  • DATABASE_PRINCIPAL_CHANGE_GROUP:當(dāng)數(shù)據(jù)庫中的user,role等發(fā)生變化時,觸發(fā)該事件
  • SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP:當(dāng)一個Schema中的對象的權(quán)限(執(zhí)行GRANT, REVOKE, or DENY)發(fā)生變化時,觸發(fā)該事件
  • SCHEMA_OBJECT_CHANGE_GROUP:當(dāng)對Schema中的對象執(zhí)行CREATE、ALTER、 或 DROP命令時,觸發(fā)該事件
  • SCHEMA_OBJECT_ACCESS_GROUP:當(dāng)schema中的對象的權(quán)限發(fā)生變化時,觸發(fā)該事件

數(shù)據(jù)庫級別的審核規(guī)范,單個審計動作如下:

數(shù)據(jù)庫級別的審計動作(Audit Action),分別在執(zhí)行查詢、修改、插入、刪除、執(zhí)行、等命令時觸發(fā)

  • SELECT :發(fā)出 SELECT 語句時將引發(fā)此事件。
  • UPDATE: 發(fā)出 UPDATE 語句時將引發(fā)此事件。
  • INSERT: 發(fā)出 INSERT 語句時將引發(fā)此事件。
  • DELETE: 發(fā)出 DELETE 語句時將引發(fā)此事件。
  • EXECUTE: 發(fā)出 EXECUTE 語句時將引發(fā)此事件。
  • RECEIVE: 發(fā)出 RECEIVE 語句時將引發(fā)此事件。
  • REFERENCES: 檢查 REFERENCES 權(quán)限時將引發(fā)此事件。

3. 查看審核事件日志

3.1 通過SSMS日志文件查看器查看

右鍵 “安全性”-“審核”-“Audit-logfile”, 選擇 “查看審核日志”:

日志如下圖所示:

3.2 針對目標(biāo)位置為文件的審核日志

通過SQL查詢:

select * from 
sys.fn_get_audit_file('C:\dbaudit\*',default,default)

如下圖:

總結(jié) 

到此這篇關(guān)于SQLServer審計功能配置的文章就介紹到這了,更多相關(guān)SQLServer審計功能配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • sqlserver自動增長列引起的問題解決方法

    sqlserver自動增長列引起的問題解決方法

    僅當(dāng)使用了列列表并且 IDENTITY_INSERT 為 ON 時,才能為表'*'中的標(biāo)識列指定顯式值。
    2011-10-10
  • sql update 觸發(fā)器 可獲得被update的行的信息

    sql update 觸發(fā)器 可獲得被update的行的信息

    sql update 觸發(fā)器 可獲得被update的行的信息,需要的朋友可以參考下。
    2010-06-06
  • Navicat 連接SQLServer數(shù)據(jù)庫(圖文步驟)

    Navicat 連接SQLServer數(shù)據(jù)庫(圖文步驟)

    這篇文章主要介紹了Navicat 連接SQLServer數(shù)據(jù)庫(圖文步驟),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • SQL SERVER臨時表排序問題的解決方法

    SQL SERVER臨時表排序問題的解決方法

    這篇文章主要給大家介紹了關(guān)于SQL SERVER臨時表排序問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • SQL Server的三種備份類型詳解(完整、差異和事務(wù)日志備份)

    SQL Server的三種備份類型詳解(完整、差異和事務(wù)日志備份)

    SQL Server 提供了三種主要的備份類型,每種類型都有其特定的用途和特點(diǎn),理解這些備份類型的區(qū)別對于設(shè)計有效的數(shù)據(jù)庫備份和恢復(fù)策略至關(guān)重要,下面小編將和大家一起深入探討這三種類型,需要的朋友可以參考下
    2025-06-06
  • SQL Server 批量插入數(shù)據(jù)的完美解決方案

    SQL Server 批量插入數(shù)據(jù)的完美解決方案

    這篇文章主要介紹了SQL Server 批量插入數(shù)據(jù)的完美解決方案,需要的朋友可以參考下
    2020-12-12
  • SQL Server設(shè)置主鍵自增長列(使用sql語句實(shí)現(xiàn))

    SQL Server設(shè)置主鍵自增長列(使用sql語句實(shí)現(xiàn))

    主鍵自增長列在進(jìn)行數(shù)據(jù)插入的時候,很有用的,如可以獲取返回的自增ID值,接下來將介紹SQL Server如何設(shè)置主鍵自增長列,感興趣的朋友可以了解下,希望本文對你有所幫助
    2013-01-01
  • 數(shù)據(jù)庫備份 SQLServer的備份和災(zāi)難恢復(fù)

    數(shù)據(jù)庫備份 SQLServer的備份和災(zāi)難恢復(fù)

    數(shù)據(jù)處理在現(xiàn)代企業(yè)運(yùn)營中變得越來越重要,越來越關(guān)鍵,甚至?xí)蔀槠髽I(yè)發(fā)展的一項(xiàng)瓶頸. 數(shù)據(jù)保護(hù)的重要性也不言而喻. 如果一個企業(yè)沒有很好的數(shù)據(jù)保護(hù)方案或策略的話,一旦發(fā)生重要數(shù)據(jù)丟失,后果將會是災(zāi)難性的,伴隨著會有經(jīng)濟(jì)利益方面的損失.
    2010-07-07
  • SqlDateTime溢出該怎么解決

    SqlDateTime溢出該怎么解決

    這篇文章主要介紹了SqlDateTime溢出該怎么解決的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • SQL Server中判斷和處理NULL值的多種方法和解決方案

    SQL Server中判斷和處理NULL值的多種方法和解決方案

    在SQL Server數(shù)據(jù)庫中,NULL是表示缺少數(shù)據(jù)或未知值的特殊標(biāo)記,處理NULL值是SQL開發(fā)人員經(jīng)常遇到的問題之一,本文將介紹SQL Server中判斷和處理NULL值的不同方法,以及一些解決方案,幫助您更好地處理數(shù)據(jù)庫中的NULL值情況,需要的朋友可以參考下
    2024-01-01

最新評論

阜新市| 泰兴市| 吴忠市| 若尔盖县| 凌源市| 舒兰市| 张掖市| 舒兰市| 武定县| 肃宁县| 威远县| 江陵县| 通河县| 梁平县| 广灵县| 宝应县| 保靖县| 英德市| 长乐市| 翁源县| 新晃| 万源市| 民乐县| 彰化县| 东港市| 塔河县| 广安市| 巫溪县| 宁津县| 桐梓县| 鹤壁市| 房山区| 安龙县| 株洲县| 娄底市| 永济市| 本溪| 三穗县| 桦南县| 三原县| 宁南县|