偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL Server 2008中的審核

數(shù)據(jù)庫 SQL Server
任何安全解決方案的一個重要組成部分就是出于可說明性和法規(guī)遵從性的考慮而進(jìn)行審核的能力。SQL Server 2008包含很多特性,使審核活動成為可能。

任何安全解決方案的一個重要組成部分就是出于可說明性和法規(guī)遵從性的考慮而進(jìn)行審核的能力。SQL Server 2008包含很多特性,使審核活動成為可能。

所有動作審核

SQL Server 2008通過Audit對象提供審核支持,這使管理員能夠捕獲數(shù)據(jù)庫服務(wù)器中的活動并將其存儲在日志中。使用SQL Server 2008,您可以將審核信息存儲在以下目標(biāo)中:

文件
Windows應(yīng)用程序日志
Windows安全日志

要寫入Windows安全日志,必須將SQL Server服務(wù)配置為作為Local System、Local Service、Network Service或擁有SeAuditPrivilege權(quán)限且不是交互用戶的域帳戶運行。

要創(chuàng)建Audit對象,必須使用CREATE SERVER AUDIT語句。該語句定義Audit對象并將其與目標(biāo)關(guān)聯(lián)。用于配置Audit對象的特定選項取決于審核目標(biāo)。例如,以下Transact-SQL代碼創(chuàng)建了兩個Audit對象;一個將活動記錄到文件,另一個將活動記錄到 Windows應(yīng)用程序日志。

CREATE SERVER AUDIT HIPAA_File_Audit
TO FILE ( FILEPATH=’\\SQLPROD_1\Audit\’ );

CREATE SERVER AUDIT HIPAA_AppLog_Audit
TO APPLICATION_LOG
WITH ( QUEUE_DELAY = 500,  ON_FAILURE = SHUTDOWN);

 

注意當(dāng)記錄到文件目標(biāo)時,文件名沒有在 CREATE SERVER AUDIT 語句中指定。審核文件名采用 AuditName_AuditGUID_nn_TS.sqlaudit 的形式,其中 AuditName是 Audit 對象的名稱,AuditGUID是與該 Audit 對象相關(guān)的惟一標(biāo)識符,nn是用于分區(qū)文件集的分區(qū)號,而 TS是時間戳的值。例如,通過前面的代碼樣例創(chuàng)建的 HIPAA_FILE_Audit Audit 對象可以生成一個與以下名稱類似的日志文件:

HIPAA_File_Audit_{9***481F8-DEF3-40ad-B3C6-126B68257223}_00_29384.sqlaudit

可以使用 QUEUE_DELAY 審核選項實現(xiàn)出于性能原因的異步審核,可以使用 ON_FAILURE 選項確定無法向目標(biāo)寫入審核信息時采取的操作。在前面展示的 HIPAA_AppLog_Audit 示例中,ON_FAILURE選項被配置為在無法寫入日志時關(guān)閉 SQL Serve r實例;在這種情況下,執(zhí)行CREATE SERVER AUDIT 語句的用戶必須擁有 SHUTDOWN 權(quán)限。

在創(chuàng)建 Audit 對象之后,可以通過使用 CREATE SERVER AUDIT SPECIFICATION 和 CREATE DATABASE AUDIT SPECIFICATION 語句對其添加事件。CREATE SERVER AUDIT SPECIFICATION 向 Audit 添加服務(wù)器級的操作組(即可以在服務(wù)器級發(fā)生的預(yù)定義的相關(guān)操作集合)。例如,以下代碼將 FAILED_LOGIN_GROUP 操作組(它記錄了失敗的登錄嘗試)添加到HIPAA_File_Audit Audit。

CREATE SERVER AUDIT SPECIFICATION  Failed_Login_Spec
FOR SERVER AUDIT HIPAA_File_Audit
ADD (FAILED_LOGIN_GROUP);

 

CREATE DATABASE AUDIT SPECIFICATION 語句向 Audit 添加數(shù)據(jù)庫級的操作組和單個數(shù)據(jù)庫事件。添加單個操作使您能根據(jù)對象篩選記錄的操作以及操作涉及的用戶。例如,以下代碼樣例向HIPAA_AppLog_Audit Audit 添加了 DATABASE_OBJECT_CHANGE_GROUP 操作組(它記錄數(shù)據(jù)庫中的任何 CREATE、ALTER 或 DROP 操作)以及在 Sales 架構(gòu)中由 SalesUser SalesAdmin 用戶對對象執(zhí)行的 INSERT、UPDATE 或 DELETE 語句。

CREATE DATABASE AUDIT SPECIFICATION  Sales_Audit_Spec
FOR SERVER AUDIT HIPAA_AppLog_Audit
ADD (DATABASE_OBJECT_CHANGE_GROUP),
ADD (INSERT, UPDATE, DELETE
ON Schema::Sales
BY SalesUser, SalesAdmin);

 

Audit 對象提供了一個可管理的審核框架,該框架使定義應(yīng)記錄的事件和事件應(yīng)存儲的位置變得很容易。SQL Server 添加的這個功能幫助您實現(xiàn)綜合的審核解決方案以確保數(shù)據(jù)庫的安全并滿足法規(guī)遵從性的要求。

DDL觸發(fā)器

DDL 觸發(fā)器是在 SQL Server 2005 中引入的。與表中數(shù)據(jù)發(fā)生變化時執(zhí)行 Transact-SQL 代碼的DML 觸發(fā)器不同,DDL 觸發(fā)器在表結(jié)構(gòu)發(fā)生變化時激活。這是跟蹤和審核數(shù)據(jù)庫架構(gòu)的結(jié)構(gòu)性變化的***方式。

這些觸發(fā)器的語法與 DML 觸發(fā)器的類似。DDL 觸發(fā)器是 AFTER 觸發(fā)器,為了響應(yīng) DDL 語言事件而激活;它們不會為了響應(yīng)執(zhí)行類似 DDL 操作的系統(tǒng)存儲過程而激活。它們是完全事務(wù)性的,因此您可以 ROLLBACK 一個 DDL 變更。您可以在 DDL 觸發(fā)器中運行 Transact-SQL 或者 CLR代碼。 DDL 觸發(fā)器還支持類似其他模塊的 EXECUTE AS 子句。 

SQL Server 將關(guān)于觸發(fā)器事件的信息作為非類型化的 XML 提供。可以通過稱為 EVENTDATA()的能夠發(fā)出 XML 數(shù)據(jù)的新內(nèi)置功能獲得這些信息??梢允褂?XQuery 表達(dá)式解析 EVENTDATA() XML 以發(fā)現(xiàn)事件屬性,如架構(gòu)名稱、目標(biāo)對象名稱、用戶名,以及導(dǎo)致觸發(fā)器***激活的整個Transact-SQL DDL語句。例如,請參見 SQL Server Books Online 中的 EVENTDATA (Transact-SQL)。數(shù)據(jù)庫級 DDL 觸發(fā)器由數(shù)據(jù)庫或更低級別的 DDL 語言事件激活。例如,CREATE_TABLE、 ALTER_USER等等。服務(wù)器級 DDL 觸發(fā)器由服務(wù)器級的 DDL 語言事件激活,例如 CREATE_DATABASE、ALTER_LOGIN 等等。為了管理方便,您可以使用事件組,比如 DDL_TABLE_EVENTS,來簡稱所有 CREATE_TABLE、ALTER_TABLE 和 DROP_TABLE 事件。各種 DDL 事件組和事件類型及其相關(guān) XML EVENTDATA()在SQL Server Books Online 上均有記述。
與 DML 觸發(fā)器名稱不同(它是架構(gòu)范圍的),DDL 觸發(fā)器是數(shù)據(jù)庫范圍或服務(wù)器范圍的。

使用此目錄視圖發(fā)現(xiàn) DML 觸發(fā)器和數(shù)據(jù)庫級 DDL 觸發(fā)器的觸發(fā)器元數(shù)據(jù):

SELECT * FROM sys.triggers ;
GO

 

如果 parent_class_desc 列中存在 'DATABASE' 的值,那么它就是 DDL 觸發(fā)器,并通過數(shù)據(jù)庫本身確定名稱范圍。Transact-SQL 觸發(fā)器的代碼體可以在 sys.sql_modules 目錄視圖中找到,并且可以將它連接到 sys.triggers 的object_id 列中。 關(guān)于 CLR 觸發(fā)器的元數(shù)據(jù)可以在 sys.assembly_modules 目錄視圖中找到,同樣可以連接到 sys.triggers 的 object_id 列中。

使用此目錄視圖發(fā)現(xiàn)服務(wù)器范圍的 DDL 觸發(fā)器的元數(shù)據(jù):

SELECT * FROM sys.server_triggers ;
GO

 

Transact-SQL 服務(wù)器級別的觸發(fā)器的代碼體可以在 sys.server_sql_modules 目錄視圖中找到,可以將它連接到 sys.server_triggers 的 object_id 列上。關(guān)于一個 CLR 服務(wù)器級別的觸發(fā)器的元數(shù)據(jù)可以在 sys.server_assembly_modules 目錄視圖中找到,同樣可以將它連接到 sys.server_triggers 的 object_id 列上。

可以使用 DDL 觸發(fā)器來捕捉和審核數(shù)據(jù)庫中的 DDL 活動。創(chuàng)建一個帶有非類型化的 XML 列的審核表。為 DDL 事件或您感興趣的事件組創(chuàng)建一個 EXECUTE AS SELF DDL 觸發(fā)器。這個DDL 觸發(fā)器的代碼體可以簡單地將 EVENTDATA() XML 插入到審核表中。

DDL 觸發(fā)器的另一個有趣的使用是由 CREATE_USER 事件激活然后添加代碼到自動權(quán)限管理。例如,假設(shè)您想讓所有的數(shù)據(jù)庫用戶獲得一個對存儲過程 P1、P2 和 P3 的 GRANT EXECUTE 權(quán)限。DDL 觸發(fā)器可以從 EVENTDATA() XML 中提取用戶名稱,動態(tài)地生成一個語句,像 ‘GRANT EXECUTE ON P1 TO someuser’,然后對它執(zhí)行EXEC()。

【編輯推薦】

  1. SQL Server 2008數(shù)據(jù)集成服務(wù)簡介
  2. 在SQL Server 2008中管理報表服務(wù)
  3. 利用SQL Server 2008進(jìn)行自動化管理
責(zé)任編輯:yangsai 來源: MSDN
相關(guān)推薦

2009-06-10 08:24:55

2009-04-16 17:44:31

2009-06-22 10:22:57

SQL Server

2012-04-06 10:13:08

SQLSQL Server

2010-10-14 09:32:52

SQL Server

2012-04-16 09:55:38

SQL Server

2009-04-16 17:03:12

報表開發(fā)工具報表制作SQL Server

2013-03-13 09:53:50

SQL Server

2010-09-13 10:21:26

sql server2

2011-04-02 14:06:46

SQL Server MERGE

2009-04-16 17:59:25

細(xì)粒度權(quán)限

2009-04-16 18:07:39

2011-03-29 12:42:25

SQL Server 高效性

2009-04-16 17:34:19

2009-04-16 17:11:39

管理報表配置報表SQL Server

2011-03-24 10:19:58

SQL Server2CPU性能監(jiān)控

2009-04-16 17:24:56

報表處理報表內(nèi)嵌SQL Server

2009-02-16 16:10:49

安全審計安裝SQL Server

2011-08-19 10:13:34

SQL Server Values新用途

2011-08-19 10:24:46

SQL Server Top新用途
點贊
收藏

51CTO技術(shù)棧公眾號