iT邦幫忙

DAY 30
3

MS SQL Server新特性探險:探險代碼 Denali系列 第 30

[Denali 新特性探險30]SQL Server Audit Enhancements

前面介紹完微軟BI SSIS ETL 新特性後,
接下來介紹 Denali 在安全面的稽核加強。
概述
稽核功能在Denali這版中有不少改善,好比錯誤操作選項:如果稽核本身錯誤無法寫入紀錄,
你可以選擇:1.繼續 2.關閉SERVER 3.失敗作業(預設選項=繼續)。
過濾條件:你可以針對某個登入或使用者….等執行稽核作業。
還有動作類型多了使用者定義稽核、新增TSQL-stack資訊..等,
這些改善使得稽核功能變得更有彈性及可用性,下面我將簡單實際操作使用者自訂稽核過程。

建立稽核(Using SSMS)

過濾條件(稽核SA)

確認 sa 的principal_id。


輸入 server_principal_id=1。

建立伺服器稽核規格(Using SSMS)

稽核動作類型選擇 USER_DEFINED_AUDIT_GROUP。

建立稽核(Using TSQL)

CREATE SERVER AUDIT [Audit-test1]
TO FILE 
(	FILEPATH = N'e:\db1_audit'
	,MAXSIZE = 0 MB
	,MAX_FILES = 5
	,RESERVE_DISK_SPACE = OFF
)
WITH
(	QUEUE_DELAY = 1000
	,ON_FAILURE = CONTINUE
)
WHERE (server_principal_id=1)
GO
alter server audit [Audit-test1] with(state = on )

建立伺服器稽核規格(Using TSQL)

CREATE SERVER AUDIT SPECIFICATION [ServerAuditSpecification-test]
FOR SERVER AUDIT [Audit-test1]
ADD (USER_DEFINED_AUDIT_GROUP)
with(state=on)
GO

啟用稽核

建立兩個store procedure內含執行sp_audit_write

create proc usp_getA
as
select * from dbo.A;
declare @myinfo nvarchar(1000);
set @myinfo=N'總共筆數:' +cast(@@rowcount as varchar(10));
exec sp_audit_write @user_defined_event_id =8888 , 
 @succeeded = 1 , @user_defined_information = @myinfo;

create proc usp_getAA
as
exec dbo.usp_getA
declare @myinfo nvarchar(1000);
set @myinfo=N'SP 中執行另一個SP';
exec sp_audit_write @user_defined_event_id =8888 , 
 @succeeded = 1 , @user_defined_information = @myinfo;

測試使用者自訂稽核

查看稽核紀錄

這裡沒有任何紀錄是正常的,因為我的稽核篩選條件是針對 SA,
所以下面我將使用SA登入後再來測試。

使用SA登入

變更連接。


輸入密碼。

執行SP

查看稽核紀錄(這裡我分段擷取)

動作識別碼為:User Defined Audit。


確認工作階段為 sa。


可以看到執行的陳述式。


Denali 稽核會擷取TSQL_stack資訊。


這裡就可以看到我們自行定義的事件識別碼和資訊。

接下來執行另一個SP,就可以明顯感受到其他資訊欄位的作用。


Level=2 ,object_name=usp_getAA,Level=3,object_name=usp_getA。


分別擷取到各自SP的使用者定義資訊。

鐵人賽第四屆心得:
這是我個人第三次參加IT邦幫忙所舉辦的鐵人賽(第二、三、四屆),
每一屆都是自我學習成長的一種挑戰,
挑戰連續30天在工作下班和休閒假日之餘分享學習心得筆記。
而這屆我分享的題目是: MS SQL Server新特性探險:探險代碼 Denali,
這30天中我總共分享了 Denali 15個開發面新特性、2個管理面新特性、
1個效能面新特性、1個安全面特性改善和 SSIS 新特性,
雖然無法全部並仔細介紹 Denali 所有相關新特性,
但這30天讓自己真的相當充實,也終於可以不用繼續站 00:00~02:00 "棟樑"哨,
今天也替自己連三屆鐵人賽畫下完美句點。


上一篇
[Denali 新特性探險29]SSIS Improvement(3)
系列文
MS SQL Server新特性探險:探險代碼 Denali30

尚未有邦友留言

立即登入留言