国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

使用觸發(fā)器,強化安全性

2017-03-08 19:09
網(wǎng)絡(luò)安全和信息化 2017年4期
關(guān)鍵詞:觸發(fā)器數(shù)據(jù)表語句

SQL Server提供約束和觸發(fā)器這兩種機制,可以強制使用業(yè)務(wù)規(guī)則和數(shù)據(jù)完整性。其中的觸發(fā)器其實是特殊類型的存儲過程,SQL Server內(nèi)置了DML觸發(fā)器,DDL觸發(fā)器和登錄觸發(fā)器三種常規(guī)類型的觸發(fā)器。

其中的DDL觸發(fā)器通常用于對數(shù)據(jù)庫的保護功能,例如禁止用戶隨意刪除和修改表,數(shù)據(jù)庫對象等內(nèi)容。對于諸如防止數(shù)據(jù)庫架構(gòu)中出現(xiàn)某些更改,希望數(shù)據(jù)庫中發(fā)生某種情況以響應(yīng)數(shù)據(jù)庫架構(gòu)的更改,希望記錄數(shù)據(jù)庫結(jié)構(gòu)中的更改操作或者事件,啟動/停止/暫停和修改跟蹤結(jié)果,重現(xiàn)跟蹤結(jié)果等場景,可以使用DDL觸發(fā)器。

登錄觸發(fā)器是為了響應(yīng)登錄事件而激發(fā)的存儲過程,與SQL Server實例建立用戶會話時將會引發(fā)該事件。例如,希望在某一個特定的時間段只允許某個賬戶登錄SQL Server服務(wù)器時,就可以使用登錄觸發(fā)器來實現(xiàn)。SQL Server引入了對數(shù)據(jù)定義語言DDL觸發(fā)器的支持,允許捕獲DDL操作,并對其作出反應(yīng)。當對SQL Server數(shù)據(jù)庫的安全性進行管理時,離不開DDL觸發(fā)器的支持。例如在刪除數(shù)據(jù)表以及執(zhí)行完整性檢查等方面,都可以借助于DDL觸發(fā)器來實現(xiàn)。

例 如, 執(zhí) 行“Use Clientzl”,“go”,“CREATE T R I G G E R D e n y d r o p_t a b l e O N D A T A B A S E F O R D R O P_T A B L E A S RAISERROR('Not allowed to drop tables.', 10,1) PRINT 'DROP TABLE attempt in database' + DB_NAME() + '.'PRINT cast(EventData()a s v a r c h a r(4 0 0 0))ROLLBACK”,“Go”語句,可以創(chuàng)建名為“Denydrop_table”的DDL觸發(fā)器。

當用戶試圖刪除“Clientzl”數(shù)據(jù)庫中的表時,該觸發(fā)器就會被激活,顯示禁止刪除數(shù)據(jù)表的提示,并執(zhí)行回滾操作,禁止刪除數(shù)據(jù)表。執(zhí)行“DROP TRIGGER Denydrop_table ON DATABASE”語句,可以刪除該觸發(fā)器。

使用登錄觸發(fā)器,可以管控登錄事件。例如執(zhí) 行“CREATE TRIGGER shehedenglu ON ALL SERVER FOR CREATE_LOGIN, ALTER_LOGIN,DROP_LOGIN AS PRINT'DDL LOGIN took place.'PRINT cast(EventData()as varchar(4000))”,“go”語句,可以創(chuàng)建名為“shehedenglu”的 登 錄 觸發(fā)器,可以用來捕獲登錄操作事件。這樣,在執(zhí)行諸如創(chuàng)建、更改或者除去一個登錄等操作時,就會激活該觸發(fā)器,顯示相應(yīng)的提示信息。而執(zhí)行“DROP TRIGGER shehedenglu ON ALL SERVER”語句,就可以刪除該登錄觸發(fā)器。

猜你喜歡
觸發(fā)器數(shù)據(jù)表語句
淺談時序邏輯電路的成長記憶
重點:語句銜接
湖北省新冠肺炎疫情數(shù)據(jù)表(2.26-3.25)
湖北省新冠肺炎疫情數(shù)據(jù)表
基于列控工程數(shù)據(jù)表建立線路拓撲關(guān)系的研究
觸發(fā)器在酒店管理系統(tǒng)中的應(yīng)用
圖表
我喜歡
幾種常見觸發(fā)器工作方式的討論
觸發(fā)器邏輯功能轉(zhuǎn)換的兩種方法