亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

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

2024-08-31 01:00:51
字體:
來源:轉載
供稿:網友

本文主要 涉及DDL觸發器和登錄觸發器的應用實例。

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

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

關于DML觸發器應用最為廣泛。這里不再贅述。MSDN官方說明:

2、當服務器或數據庫中發生數據定義語言 (DDL) 事件時將調用 DDL 觸發器。DDL 觸發器是一種特殊的觸發器,它在響應數據定義語言 (DDL) 語句時觸發。它們可以用于在數據庫中執行管理任務,例如,審核以及規范數據庫操作。

下面我們用舉例說明DDL觸發器(%28SQL.90%29.aspx)的應用:

     示例一:創建一個DDL觸發器審核數據庫級事件

復制代碼 代碼如下:


/***************
創建一個審核表,其中EventData是一個XML數據列
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

/***************
在目標數據庫上創建一個觸發器,以記錄該數據庫的索引變化動作,
包括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

/***************
創建一個索引,以測試觸發器
3w@live.cn
*******************/

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

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

SELECT EventData
FROM dbo.ChangeAttempt



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

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


執行結果:

SQL Server 2008中的代碼安全(二) DDL觸發器與登錄觸發器ROLLBACK
GO

--------/***************
--------試圖創建一個登錄賬號
--------3w@live.cn
--------*******************/
CREATE LOGIN johny WITH PASSWORD = '123456'
GO

--------/***************
--------刪除演示觸發器
--------3w@live.cn
--------*******************/

drop TRIGGER srv_trg_RestrictNewLogins
ON ALL SERVER
go

效果:

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

--------/***************
--------演示數據庫和審核表
--------3w@live.cn
--------*******************/

CREATE DATABASE ExampleAuditDB
GO
USE ExampleAuditDB
GO

CREATE TABLE dbo.RestrictedLogonAttempt
(LoginNM sysname NOT NULL,
AttemptDT datetime NOT NULL)
GO

--------/***************
--------創建登錄觸發器,如果不是在7:00-17:00登錄,則記錄審核日志,并提示失敗
--------3w@live.cn
--------*******************/

USE master
GO
Create TRIGGER trg_logon_attempt
ON ALL SERVER
WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()='nightworker' AND
DATEPART(hh,GETDATE()) BETWEEN 7 AND 17
BEGIN
ROLLBACK
INSERT ExampleAuditDB.dbo.RestrictedLogonAttempt
(LoginNM, AttemptDT)
VALUES (ORIGINAL_LOGIN(), GETDATE())
END
END
GO

--------/***************
--------查看審核記錄
--------3w@live.cn
--------*******************/
USE ExampleAuditDB
GO
select * from dbo.RestrictedLogonAttempt
go

--------/***************
--------刪除演示數據庫及演示觸發器
--------3w@live.cn
--------*******************/
use master
go

drop TRIGGER trg_logon_attempt
ON ALL SERVER
go

drop database ExampleAuditDB
go


結果:

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

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

當然,你也可以使用應用程序或類似于log4net的日志機制記錄類似的登錄事件,但SQL server 2008已經為我們做到了,你所做的僅僅是有勇氣來試一試。

小結:作為對數據DDL操作和登錄事件的審核和監控,SQL Server提供了比較完善的事件處理機制。這也是SQL server安全機制的一部分。下文將涉及SQL server數據庫級的透明加密,敬請關注。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人黄色在线| 日本午夜人人精品| 欧美日韩国产成人| 亚洲欧美精品中文字幕在线| 久久免费视频网| 国产综合久久久久久| 欧美日韩在线观看视频小说| 成人美女免费网站视频| 亚洲欧美日韩一区二区三区在线| 国产日韩av在线| 中文字幕日韩视频| 国产美女久久精品| 欧美大全免费观看电视剧大泉洋| 亚洲视频欧洲视频| 性欧美长视频免费观看不卡| 亚洲精品永久免费精品| 狠狠躁夜夜躁人人爽天天天天97| **欧美日韩vr在线| 久久精品视频在线| 91大神福利视频在线| 国产日韩欧美自拍| 国产综合在线视频| 久久国产精品久久久| 亚洲免费人成在线视频观看| 91久久久精品| 欧美亚洲成人免费| yw.139尤物在线精品视频| 91精品久久久久久久久久久久久| 97国产精品人人爽人人做| 久久影院在线观看| 国产精品亚洲第一区| 国产精品吹潮在线观看| 亚洲社区在线观看| 91po在线观看91精品国产性色| 欧美噜噜久久久xxx| 欧美老少做受xxxx高潮| 91av免费观看91av精品在线| 美女久久久久久久久久久| 欧美黑人性视频| 久久手机免费视频| 亚洲二区在线播放视频| 欧美壮男野外gaytube| 韩国福利视频一区| 日韩在线中文字| 精品国产区一区二区三区在线观看| 在线亚洲欧美视频| 91精品久久久久久久| 色妞色视频一区二区三区四区| 久久这里有精品| 97在线看免费观看视频在线观看| 欧美国产亚洲精品久久久8v| 狠狠爱在线视频一区| 久久久日本电影| 欧美精品国产精品日韩精品| 国产精品香蕉在线观看| 韩日精品中文字幕| 亚洲自拍偷拍色片视频| 欧美精品激情在线| 91精品国产综合久久久久久蜜臀| 日韩在线视频导航| 久久97精品久久久久久久不卡| 精品久久国产精品| 亚洲国产成人在线播放| 久久综合电影一区| 高清亚洲成在人网站天堂| 欧美性黄网官网| 欧美国产欧美亚洲国产日韩mv天天看完整| 最新69国产成人精品视频免费| 国产高清视频一区三区| 国产在线观看精品| 欧美午夜片欧美片在线观看| 亚洲偷欧美偷国内偷| 亚洲精品国产精品乱码不99按摩| 亚洲а∨天堂久久精品喷水| 中文字幕九色91在线| 亚洲黄色www网站| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品r级在线| 欧美日韩亚洲一区二| 亚洲欧美激情一区| 久久夜色精品国产| 国产视频精品久久久| 欧美日韩在线一区| 国产不卡精品视男人的天堂| 亚洲一区二区中文| 久久成人精品视频| 欧美大片在线看免费观看| 日韩毛片在线看| 成人在线精品视频| 久久久国产精彩视频美女艺术照福利| 欧美日韩国产丝袜美女| 18性欧美xxxⅹ性满足| 午夜精品视频网站| 国产精品永久免费在线| 欧美日韩国产精品一区| 亚洲第一级黄色片| 国产精品久久av| 91精品国产91久久久| 1769国内精品视频在线播放| 日韩激情av在线免费观看| 国内伊人久久久久久网站视频| 国产午夜精品免费一区二区三区| 欧美人与物videos| 日韩成人激情影院| 亚洲国产精品一区二区久| 国产精品日韩在线播放| 欧美理论片在线观看| 国产精品三级久久久久久电影| 亚洲国产精品99久久| 国产精品99一区| 一本色道久久88综合日韩精品| 国产精品扒开腿爽爽爽视频| 国产精品入口尤物| 欧美日韩高清在线观看| 国产日韩欧美视频在线| 中文字幕亚洲自拍| 日韩中文字幕视频在线观看| 久久综合久中文字幕青草| 91麻豆国产语对白在线观看| 日韩av最新在线| 日韩一区二区久久久| 欧美日韩国产精品一区二区三区四区| 成人激情视频免费在线| 国产亚洲a∨片在线观看| 91精品免费久久久久久久久| 欧美日韩在线视频一区二区| 日韩美女免费线视频| 久久久www成人免费精品| 欧美电影在线免费观看网站| 亚洲第一视频网站| 韩国三级日本三级少妇99| 国产精品久久视频| 韩国三级电影久久久久久| 国产精品视频久久久| 国精产品一区一区三区有限在线| 国产乱人伦真实精品视频| 国产精品久久久久久久久久尿| 亚洲精品欧美一区二区三区| 国产精品99久久久久久久久| 亚洲国产精品悠悠久久琪琪| 亚洲乱码国产乱码精品精| 国产视频在线一区二区| 在线国产精品播放| 午夜精品久久久久久久99黑人| 日本精品久久中文字幕佐佐木| 92版电视剧仙鹤神针在线观看| 亚洲综合中文字幕在线观看| 欧美激情精品久久久久| 午夜精品美女自拍福到在线| 国产欧美日韩亚洲精品| 精品在线欧美视频| 亚洲午夜久久久影院| 国产一区红桃视频| 久久在线免费观看视频| 北条麻妃久久精品| 亚洲第一福利网| 日韩精品中文字幕久久臀| 久久精品影视伊人网| 亚洲综合成人婷婷小说| 久久伊人精品视频| 欧美极品欧美精品欧美视频| 国产有码在线一区二区视频| 91精品国产乱码久久久久久久久| 亚洲91精品在线观看|