一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

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

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

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

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

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

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

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

/***************
創(chuàng)建一個(gè)審核表,其中EventData是一個(gè)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

/***************
在目標(biāo)數(shù)據(jù)庫(kù)上創(chuàng)建一個(gè)觸發(fā)器,以記錄該數(shù)據(jù)庫(kù)的索引變化動(dòng)作,
包括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)建一個(gè)索引,以測(cè)試觸發(fā)器
3w@live.cn
******************
*/

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

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

SELECT EventData
FROM dbo.ChangeAttempt



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

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

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

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

主站蜘蛛池模板: 国内精品久久久久久野外 | 国产精品乱码免费一区二区 | 97超级碰久久久久香蕉人人 | 亚洲免费人成 | 欧美性xxxx人妖 | 视频在线观看一区二区 | 91综合精品网站久久 | 麻豆高清 | 手机国产乱子伦精品视频 | 四虎永久在线日韩精品观看 | 午夜一级成人 | 免费观看黄色网 | 色噜噜狠狠一区二区三区果冻 | 伊人精品线视天天综合 | 岛国a香蕉片不卡在线观看 岛国不卡 | 国产精品热久久毛片 | 污污网站免费入口链接 | 精品久久久久久乐 | 欧美三级黄| 国产亚洲精品拍拍拍拍拍 | 涩涩久久 | 亚洲精品第一国产综合高清 | 黄页网站在线播放 | 亚洲另类图片小说 | 国产婷婷 | 久久精品免费全国观看国产 | 四虎在线观看免费视频 | 成人国产精品视频频 | 亚洲国产成人资源在线软件 | 欧美日韩一区妖精视频yjsp | 免费黄色欧美 | 男女朋友做爽爽爽免费视频网 | 91精品国产自产91精品 | 男人进去女人爽免费视频国产 | 国产视频二区在线观看 | 国产精品视频一区二区三区经 | 皇色在线视频 | 欧美性禁片在线观看 | 77777网站| 日本网络视频www色高清免费 | 国产成人鲁鲁免费视频a |