中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

SQL Server 2008中的代碼安全(二):DDL觸發(fā)器與登錄觸發(fā)器

  本文主要 涉及DDL觸發(fā)器和登錄觸發(fā)器的應(yīng)用實例。

  MicrosoftSQL Server 提供兩種主要機制來強制使用業(yè)務(wù)規(guī)則和數(shù)據(jù)完整性:約束和觸發(fā)器。觸發(fā)器為特殊類型的存儲過程,可在執(zhí)行語言事件時自動生效。SQL Server 包括三種常規(guī)類型的觸發(fā)器:DML 觸發(fā)器DDL 觸發(fā)器登錄觸發(fā)器

  1、當數(shù)據(jù)庫中發(fā)生數(shù)據(jù)操作語言 (DML) 事件時將調(diào)用 DML 觸發(fā)器。DML 事件包括在指定表或視圖中修改數(shù)據(jù)的 INSERT 語句、UPDATE 語句或 DELETE 語句。DML 觸發(fā)器可以查詢其他表,還可以包含復(fù)雜的 Transact-SQL 語句。將觸發(fā)器和觸發(fā)它的語句作為可在觸發(fā)器內(nèi)回滾的單個事務(wù)對待。如果檢測到錯誤(例如,磁盤空間不足),則整個事務(wù)即自動回滾。

  關(guān)于DML觸發(fā)器應(yīng)用最為廣泛。這里不再贅述。MSDN官方說明:http://msdn.microsoft.com/zh-cn/library/ms189799.ASPx

  2、當服務(wù)器或數(shù)據(jù)庫中發(fā)生數(shù)據(jù)定義語言 (DDL) 事件時將調(diào)用 DDL 觸發(fā)器。DDL 觸發(fā)器是一種特殊的觸發(fā)器,它在響應(yīng)數(shù)據(jù)定義語言 (DDL) 語句時觸發(fā)。它們可以用于在數(shù)據(jù)庫中執(zhí)行管理任務(wù),例如,審核以及規(guī)范數(shù)據(jù)庫操作。

  下面我們用舉例說明DDL觸發(fā)器(http://techNET.microsoft.com/zh-cn/library/ms189799%28SQL.90%29.ASPx)的應(yīng)用

  示例一:創(chuàng)建一個DDL觸發(fā)器審核數(shù)據(jù)庫級事件

/***************
創(chuàng)建一個審核表,其中EventData是一個XML數(shù)據(jù)列
3w@live.cn
******************
*/

USE master
GO
CREATE TABLE dbo.ChangeAttempt
(EventData xml
NOT NULL,
AttemptDate
datetime NOT NULL DEFAULT GETDATE(),
DBUser
char(50) NOT NULL)
GO

/***************
在目標數(shù)據(jù)庫上創(chuàng)建一個觸發(fā)器,以記錄該數(shù)據(jù)庫的索引變化動作,
包括Create|alter|Drop
3w@live.cn
******************
*/

CREATE TRIGGER db_trg_RestrictINDEXChanges
ON DATABASE
FOR CREATE_INDEX, ALTER_INDEX, DROP_INDEX
AS
SET NOCOUNT ON
INSERT dbo.ChangeAttempt
(EventData, DBUser)
VALUES (EVENTDATA(), USER)
GO

/***************
創(chuàng)建一個索引,以測試觸發(fā)器
3w@live.cn
******************
*/

CREATE NONCLUSTERED INDEX ni_ChangeAttempt_DBUser ON
dbo.ChangeAttempt(DBUser)
GO

/***************
查看審核記錄
3w@live.cn
******************
*/

SELECT EventData
FROM dbo.ChangeAttempt



--------/***************
--
------刪除測試觸發(fā)器和記錄表
--
------3w@live.cn
--
------*******************/

----drop TRIGGER [db_trg_RestrictINDEXChanges]
--
--ON DATABASE
--
--go
--
--drop table dbo.ChangeAttempt
--
--go

it知識庫SQL Server 2008中的代碼安全(二):DDL觸發(fā)器與登錄觸發(fā)器,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩精品久久久久久 | 午夜婷婷激情 | 国产精品中文字幕一区二区三区 | 亚洲国产精选 | 中文字幕一区二区三区不卡在线 | 热久久999 | 成人深夜福利 | 岛国av免费看| 国产高清在线精品一区二区三区 | 青青草在线播放 | 久久久久欧美 | 网站黄色在线 | 久久久久国产精品一区二区 | 亚洲国产一区视频 | 91精品免费| 成人a在线观看 | 久久国| 久久99精品国产自在现线小黄鸭 | 久久久久久亚洲 | 国产久 | 影音先锋成人资源 | 伊人网在线播放 | 欧美日韩一二三区 | 国产免费一区二区 | 免费看国产片在线观看 | 岛国二区 | 亚洲人成在线观看 | 精品av久久久久电影 | 在线视频一区二区三区 | 久久激情视频 | 日韩美女爱爱 | 国产在线观看一区二区 | 男女免费观看在线爽爽爽视频 | 国产精品久久国产精品 | 午夜免费视频 | 欧美日韩18 | 天天看片天天干 | 欧美精品第一区 | 成人毛片网 | 成人高清在线 | 久久小视频 |