當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]介紹??? Audit是SQL Server 2008之后才有的功能,它能告訴你“誰(shuí)什么時(shí)候做了什么事情”。具體是指審核SQL Server 數(shù)據(jù)庫(kù)引擎實(shí)例或單獨(dú)的數(shù)據(jù)庫(kù)涉及到跟蹤和記錄數(shù)據(jù)庫(kù)引擎中發(fā)

介紹

??? Audit是SQL Server 2008之后才有的功能,它能告訴你“誰(shuí)什么時(shí)候做了什么事情”。具體是指審核SQL Server 數(shù)據(jù)庫(kù)引擎實(shí)例或單獨(dú)的數(shù)據(jù)庫(kù)涉及到跟蹤和記錄數(shù)據(jù)庫(kù)引擎中發(fā)生的事件。它的底層是基于擴(kuò)展事件(Extented Event),所以其性能和靈活性相對(duì)較好。審核數(shù)據(jù)可以輸出到審核文件、Windows安全日志和應(yīng)用程序日志。

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

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

1. 創(chuàng)建審核并定義目標(biāo)。

2. 創(chuàng)建映射到審核的服務(wù)器審核規(guī)范或數(shù)據(jù)庫(kù)審核規(guī)范,并啟用審核規(guī)范。

3. 啟用審核。

4. 通過(guò)使用 Windows“事件查看器”、“日志文件查看器”或 fn_get_audit_file 函數(shù)來(lái)讀取審核事件。

?

實(shí)現(xiàn)

創(chuàng)建測(cè)試數(shù)據(jù)庫(kù)和數(shù)據(jù):

use?master

go

create?database?AuditTest

go

use?AuditTest

go

create?table?tb(ID?int?primary?key?,name?varchar(20),weight?decimal(10,2));

insert?into?tb?values(1,'John',70.2),(2,'Ted',80.8),(3,'Clark',75.1)

go

1.?創(chuàng)建審核和定義目標(biāo)。

創(chuàng)建審核可以用SSMS或者語(yǔ)句實(shí)現(xiàn)。所謂目標(biāo),就是審核輸出存到哪里,與擴(kuò)展事件的Target差不多。

對(duì)應(yīng)的語(yǔ)句創(chuàng)建:

--create?Server?Audit

USE?[master]

GO

CREATE?SERVER?AUDIT?[Audit-AuditTest]

TO?FILE

(?FILEPATH?=?N'D:share'

?,MAXSIZE?=?50?MB

?,MAX_FILES?=?10

?,RESERVE_DISK_SPACE?=?ON

)

WITH

(?QUEUE_DELAY?=?1000

?,ON_FAILURE?=?CONTINUE

?--AUDIT_GUID=uniqueidentifier?

)

--WHERE?object_name='tb'

GO

--Enable?Server?Audit

alter?server?audit?[Audit-AuditTest]?with?(state=on)

簡(jiǎn)單說(shuō)明一下相關(guān)參數(shù):

TO FILE:指定輸出到審核文件,也可以指定為Security Log和Application Log。?
FILEPATH:審核文件的目錄地址。

MaxSize:?jiǎn)蝹€(gè)審核文件的最大容量。?
MAXSIZE:類(lèi)似于Trace,指定Rollover允許最多文件數(shù)。?
RESERVE_DISK_SPACE:預(yù)先分配審核文件到MaxSize。個(gè)人推薦啟用。?
QUEUE_DELAY:指定事件發(fā)生到被強(qiáng)制審核的毫秒間隔。指定為0則為同步審核。?
ON_FAILURE :當(dāng)審核向上檔寫(xiě)入數(shù)據(jù)失敗時(shí),接下來(lái)會(huì)采取的行為:CONTINUE | SHUTDOWN | FAIL_OPERATION。?
AUDIT_GUID:用于數(shù)據(jù)庫(kù)鏡像。類(lèi)似Login的SID作用,鏡像會(huì)話的主庫(kù)如果有審核,則在鏡像庫(kù)創(chuàng)建對(duì)應(yīng)的審核需要指定同樣GUID。

WHERE:相當(dāng)于擴(kuò)展事件中Predicate,用于指定過(guò)濾條件。

2.?創(chuàng)建數(shù)據(jù)庫(kù)審核規(guī)范并啟用之

指定從屬于哪個(gè)SQL Server審核和定義出要審核的內(nèi)容。可以通過(guò)SSM或者語(yǔ)句創(chuàng)建之。下面針對(duì)測(cè)試表tb創(chuàng)建審核規(guī)范:任何人對(duì)tb表的DML和表結(jié)構(gòu)修改操作都被審核。

對(duì)應(yīng)的語(yǔ)句:

--Create?and?enable?Database?Audit?Specification

USE?[AuditTest]

GO

CREATE?DATABASE?AUDIT?SPECIFICATION?[DatabaseAuditSpecification-AuditTest]

FOR?SERVER?AUDIT?[Audit-AuditTest]

ADD?(SCHEMA_OBJECT_CHANGE_GROUP),

ADD?(SELECT,DELETE,INSERT,UPDATE?ON?OBJECT::[dbo].[tb]?BY?[public])

WITH?(STATE=ON)

GO

對(duì)照SSMS,參數(shù)的意義就很明白了。更詳細(xì)內(nèi)容參考:CREATE DATABASE AUDIT SPECIFICATION

審核活動(dòng)類(lèi)型(Audit Action Type)參考:SQL Server 審核操作組和操作

3.?啟用審核

??? SQL Server在創(chuàng)建審核和審核規(guī)范時(shí),默認(rèn)是不啟用,需要顯式啟用。在前面兩步,我已經(jīng)顯式啟用了。

4.?測(cè)試和查看審核數(shù)據(jù)

use?AuditTest

go

select?*?from?dbo.tb

where?ID=1;

update?dbo.tb

set?name='Ted_New'

where?ID=2;

alter?table?dbo.tb?alter?column?name?varchar(30);

alter?table?dbo.tb?add?newCol?varchar(20);

go

在前面目標(biāo)定義的文件中會(huì)生成一個(gè)審核文件,文件名:[SQL Server審核名稱(chēng)]_[審核的GUID]_*.sqlaudit。

這個(gè)文件也可以用其它文字編輯器打,但是不便閱讀。通常使用系統(tǒng)函數(shù)sys.fn_get_audit_file讀取它。

SELECT?event_time

????,?action_id

????,?succeeded

????,?session_id

????,?session_server_principal_name

????,?object_name

????,?statement

????,?file_name

????,?audit_file_offset

from?sys.fn_get_audit_file('d:share*',default,default)

從結(jié)果可以得到:誰(shuí)在什么時(shí)候做了什么。Select和Alter語(yǔ)句只有一條記錄。Update有兩條記錄,一條Select和一條Update。將audit_file_offset的值傳遞給fn_get_audit_file作為第三個(gè)參數(shù)值,可以實(shí)現(xiàn)從指定的offset讀取審核文件。注意:event_time輸出為UTC時(shí)間了。

當(dāng)然也可以直接查看:

5.?嘗試服務(wù)器審核規(guī)范

審核創(chuàng)建和刪除登錄,并將審核內(nèi)容記錄到應(yīng)用程序日志。

USE?[master]
GO
CREATE?SERVER?AUDIT?[Audit-AuditTest]
TO?APPLICATION_LOG
WITH
(?QUEUE_DELAY?=?1000
,ON_FAILURE?=?CONTINUE
)
GO
Alter?SERVER?AUDIT?[Audit-AuditTest]?With(State=On)
go
Create?Server?Audit?Specification?SAS_CreateDropLogin
For?Server?Audit?[Audit-AuditTest]
Add?(SERVER_PRINCIPAL_CHANGE_GROUP)
With?(State=On)
go
create?login?xx?with?password='P@ssW0rd';
drop?login?xx?;

通過(guò)Windows的事件查看器,可以查看到33205事件。個(gè)人覺(jué)得在查看數(shù)據(jù)詳細(xì)事件時(shí),使用XML格式更好理解一些。


總結(jié) SQL Server審核相對(duì)而言性能影響較少,審核粒度也非常靈活。審核是針對(duì)“事件“,回答”誰(shuí)什么時(shí)候干了什么“,但對(duì)數(shù)據(jù)本身變化的跟蹤力度較弱。審核的目標(biāo)結(jié)果,無(wú)論是審核文件或者應(yīng)用程序日志,都需要另外處理和分析才能得想要的內(nèi)容。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉