触发器的应用体会 触发器的应用总结
触发器的应用和用法?
定义: 何为触发器?在SQL 里面也就是对某一个表的一定的作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
触发器的应用体会 触发器的应用总结
触发器的应用体会 触发器的应用总结
触发器的应用体会 触发器的应用总结
常见的触发器有三种:分别应用于Insert , Update , Delete 。
我为什么要使用触发器?比如,这么两个表:
Create Table Student( --学生表
StudentID int primary key, --学号
....
)Create Table BorrowRecord( --学生借录表
BorrowRecord int identity(1,1), --流水号
StudentID int , --学号
BorrowDate datetime, --借出时间
ReturnDAte Datetime, --归还时间
...
)用到的功能有:
1.如果我更改了学生的学号,我希望他的借录仍然与这个学生相关(也就是同时更改借录表的学号);
2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借录。
等等。
这时候可以用到触发器。对于1,创建一个Update触发器:
Create Trigger truStudent
On Student --在Student表中创建触发器
for Update --为什么触发
As --触发后所要做的事情
if Update(StudentID)
begin
Update BorrowRecord
Set StudentID=i.StudentID
From BorrowRecord br , Deleted d ,Inserted i --Deleted和Inserted临时表
Where br.StudentID=d.StudentID
end
理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发的表“旧的一条记录”和“新的一条记录”。
一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是:
虚拟表Inserted 虚拟表Deleted
在表记录新增时 存放新增的记录 不存储记录
修改时 存放用来更新的新记录 存放更新前的记录
删除时 不存储记录 存放被删除的记录
一个Update 的过程可以看作为:生成新的记录到Inserted表,旧的记录到Deleted表,然后删除Student记录并写入新纪录。
对于2,创建一个Delete触发器
Create trigger trdStudent
On Student
for Delete
As
Delete BorrowRecord
From BorrowRecord br , Delted d
Where br.StudentID=d.StudentID
从这两个例子我们可以看到了触发器的关键:A.2个临时的表;B.触发机制。
SQL触发器实例2
/
建立虚拟测试环境,包含:表[卷烟库存表],表[卷烟销售表]。
请大家注意跟踪这两个表的数据,体会触发器到底执行了什么业务逻辑,对数据有什么影响。
为了能更清晰的表述触发器的作用,表结构存在数据冗余,且不符合第三范式,这里特此说明。
/
USE Master
GO
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = ’U’ AND NAME = ’卷烟库存表’)
DROP TABLE 卷烟库存表
GO
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = ’U’ AND NAME = ’卷烟销售表’)
DROP TABLE 卷烟销售表
GO
--业务规则:销售金额 = 销售数量 销售单价 业务规则。
CREATE TABLE 卷烟销售表
(卷烟品牌 VARCHAR(40) PRIMARY KEY NOT NULL,
购货商 VARCHAR(40) NULL,
销售数量 INT NULL,
销售单价 MONEY NULL,
销售金额 MONEY NULL
)GO
--业务规则:库存金额 = 库存数量 库存单价 业务规则。
CREATE TABLE 卷烟库存表
(卷烟品牌 VARCHAR(40) PRIMARY KEY NOT NULL,
库存数量 INT NULL,
库存单价 MONEY NULL,
库存金额 MONEY NULL
)GO
--创建触发器,示例1
/
创建触发器[T_INSERT_卷烟库存表],这个触发器较简单。
说明: 每当[卷烟库存表]发生 INSERT 动作,则引发该触发器。
触发器功能: 强制执行业务规则,保证插入的数据中,库存金额 = 库存数量 库存单价。
注意: [INSERTED]、[DELETED]为系统表,不可创建、修改、删除,但可以调用。
重要: 这两个系统表的结构同插入数据的表的结构。
/
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = ’TR’ AND NAME = ’T_INSERT_卷烟库存表’)
DROP TRIGGER T_INSERT_卷烟库存表
GO
CREATE TRIGGER T_INSERT_卷烟库存表
ON 卷烟库存表
FOR INSERT
AS
--提交事务处理
BEGIN TRANSACTION
--强制执行下列语句,保证业务规则
UPDATE 卷烟库存表
SET 库存金额 = 库存数量 库存单价
WHERE 卷烟品牌 IN (SELECT 卷烟品牌 from INSERTED)
COMMIT TRANSACTION
GO
/
针对[卷烟库存表],插入测试数据:
注意,条数据(红塔山新势力)中的数据符合业务规则,
第二条数据(红塔山人为峰)中,[库存金额]空,不符合业务规则,
第三条数据(云南映像)中,[库存金额]不等于[库存数量]乘以[库存单价],不符合业务规则。
第四条数据库存数量为0。
请注意在插入数据后,检查[卷烟库存表]中的数据是否 库存金额 = 库存数量 库存单价。
/
INSERT INTO 卷烟库存表(卷烟品牌,库存数量,库存单价,库存金额)
SELECT ’红塔山新势力’,100,12,1200 UNION ALL
SELECT ’红塔山人为峰’,100,22,NULL UNION ALL
SELECT ’云南映像’,100,60,500 UNION ALL
SELECT ’玉溪’,0,30,0
GO
--查询数据
SELECT FROM 卷烟库存表
GO
/
结果集
RecordId 卷烟品牌 库存数量 库存单价 库存金额
-------- ------------ -------- ------- ---------
1 红塔山新势力 100 12.0000 1200.0000
2 红塔山人为峰 100 22.0000 2200.0000
3 云南映像 100 60.0000 6000.0000
4 玉溪 0 30.0000 .0000
(所影响的行数为 4 行)
/
--触发器示例2
/
创建触发器[T_INSERT_卷烟销售表],该触发器较复杂。
说明: 每当[卷烟库存表]发生 INSERT 动作,则引发该触发器。
触发器功能: 实现业务规则。
业务规则: 如果销售的卷烟品牌不存在库存或者库存为零,则返回错误。
否则则自动减少[卷烟库存表]中对应品牌卷烟的库存数量和库存金额。
/
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = ’TR’ AND NAME = ’T_INSERT_卷烟销售表’)
DROP TRIGGER T_INSERT_卷烟销售表
GO
CREATE TRIGGER T_INSERT_卷烟销售表
ON 卷烟销售表
FOR INSERT
AS
BEGIN TRANSACTION
--检查数据的合法性:销售的卷烟是否有库存,或者库存是否大于零
IF NOT EXISTS (
SELECT 库存数量
FROM 卷烟库存表
WHERE 卷烟品牌 IN (SELECT 卷烟品牌 FROM INSERTED)
)BEGIN
--返回错误提示
RAISERROR(’错误!该卷烟不存在库存,不能销售。’,16,1)
--回滚事务
ROLLBACK
RETURN
END
IF EXISTS (
SELECT 库存数量
FROM 卷烟库存表
WHERE 卷烟品牌 IN (SELECT 卷烟品牌 FROM INSERTED) AND
库存数量 <= 0
)BEGIN
--返回错误提示
RAISERROR(’错误!该卷烟库存小于等于0,不能销售。’,16,1)
--回滚事务
ROLLBACK
RETURN
END
--对合法的数据进行处理
--强制执行下列语句,保证业务规则
UPDATE 卷烟销售表
SET 销售金额 = 销售数量 销售单价
WHERE 卷烟品牌 IN (SELECT 卷烟品牌 FROM INSERTED)
DECLARE @卷烟品牌 VARCHAR(40)
SET @卷烟品牌 = (SELECT 卷烟品牌 FROM INSERTED)
DECLARE @销售数量 MONEY
SET @销售数量 = (SELECT 销售数量 FROM INSERTED)
UPDATE 卷烟库存表
SET 库存数量 = 库存数量 - @销售数量,
库存金额 = (库存数量 - @销售数量)库存单价
WHERE 卷烟品牌 = @卷烟品牌
COMMIT TRANSACTION
GO
--请大家自行跟踪[卷烟库存表]和[卷烟销售表]的数据变化。
--针对[卷烟销售表],插入条测试数据,该数据是正常的。
INSERT INTO 卷烟销售表(卷烟品牌,购货商,销售数量,销售单价,销售金额)
SELECT ’红塔山新势力’,’某购货商’,10,12,1200
GO
--针对[卷烟销售表],插入第二条测试数据,该数据 销售金额 不等于 销售单价 销售数量。
--触发器将自动更正数据,使 销售金额 等于 销售单价 销售数量。
INSERT INTO 卷烟销售表(卷烟品牌,购货商,销售数量,销售单价,销售金额)
SELECT ’红塔山人为峰’,’某购货商’,10,22,2000
GO
--针对[卷烟销售表],插入第三条测试数据,该数据中的卷烟品牌在 卷烟库存表中找不到对应。
--触发器将报错。
INSERT INTO 卷烟销售表(卷烟品牌,购货商,销售数量,销售单价,销售金额)
SELECT ’红河V8’,’某购货商’,10,60,600
GO
/
结果集
: 消息 50000,级别 16,状态 1,过程 T_INSERT_卷烟销售表,行 15
错误!该卷烟不存在库存,不能销售。
/
--针对[卷烟销售表],插入第三条测试数据,该数据中的卷烟品牌在 卷烟库存表中库存为0。
--触发器将报错。
INSERT INTO 卷烟销售表(卷烟品牌,购货商,销售数量,销售单价,销售金额)
SELECT ’玉溪’,’某购货商’,10,30,300
GO
/
结果集
: 消息 50000,级别 16,状态 1,过程 T_INSERT_卷烟销售表,行 29
错误!该卷烟库存小于等于0,不能销售。
/
--查询数据
SELECT FROM 卷烟库存表
SELECT FROM 卷烟销售表
GO
/
补充:
1、本示例主要通过一个简单的业务规则实现来进行触发器使用的说明,具体的要根据需要灵活处理;
2、关于触发器要理解并运用好 INSERTED ,DELETED 两个系统表;
3、本示例创建的触发器都是 FOR INSERT ,具体的语法可参考:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Trigger语法
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ] --用于加密触发器
{{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
} ]
sql_statement [ ...n ]
}}
4、关于触发器,还应该注意
(1)、DELETE 触发器不能捕获 TRUNCATE TABLE 语句。
(2)、触发器中不允许以下 Transact-SQL 语句:
ALTER DATABASE CREATE DATABASE DISK INIT
DISK RESIZE DROP DATABASE LOAD DATABASE
LOAD LOG RECONFIGURE RESTORE DATABASE
RESTORE LOG
(3)、触发器最多可以嵌套 32 层。
/
--修改触发器
--实质上,是将 CREATE TRIGGER ... 修改为 ALTER TRIGGER ...即可。
--删除触发器
DROP TRIGGER xxx
GO
--删除测试环境
DROP TABLE 卷烟库存表
GO
DROP TABLE 卷烟销售表
GO
DROP TRIGGER T_INSERT_卷烟库存表
GO
DROP TRIGGER T_INSERT_卷烟销售表
GO
##################################################################
触发器的基础知识和例子
:create trigger tr_name
on table/view
{for | after | instead of } [update][,][insert][,][delete]
[with encryption]
as {batch | if update (col_name) [{and|or} update (col_name)] }
说明:
1 tr_name :触发器名称
2 on table/view :触发器所作用的表。一个触发器只能作用于一个表
3 for 和after :同义
4 after 与instead of :sql 2000新增项目afrer 与 instead of 的区别
After
在触发发生以后才被激活,只可以建立在表上
Instead of
代替了相应的触发而被执行,既可以建立在表上也可以建立在视图上
5 insert、update、delete:激活触发器的三种作,可以同时执行,也可选其一
6 if update (col_name):表明所作的作对指定列是否有影响,有影响,则激活触发器。此外,因为delete 作只对行有影响,
所以如果使用delete作就不能用这条语句了(虽然使用也不出错,但是不能激活触发器,没意义)。
7 触发器执行时用到的两个特殊表:deleted ,inserted
deleted 和inserted 可以说是一种特殊的临时表,是在进行激活触发器时由系统自动生成的,其结构与触发器作用的表结构是一
样的,只是存放 的数据有异。
续下面表格说明deleted 与inserted 数据的异
deleted 与inserted 数据的异
Inserted
存放进行insert和update 作后的数据
Deleted
存放进行delete 和update作前的数据
注意:update 作相当于先进行delete 再进行insert ,所以在进行update作时,修改前的数据拷贝一条到deleted 表中,修改后
的数据在存到触发器作用的表的同时,也同时生成一条拷贝到insered表中
/////////
CREATE TRIGGER [TRIGGER admixture_receive_log] ON dbo.chl_lydj
FOR UPDATE
AS
begin
declare @djsfxg char(10) declare @wtbh char(20)
select @wtbh=wtbh from inserted
update ly_tzk set djsfxg='已修改' where wtbh=@wtbh
end
if (select data_sfjl from t_logsetup)='是'
begin
declare @oldcjmc char (100) declare @oldlyrq datetime
declare @oldbzbh char (60) declare @oldzl char (20)
declare @olddj char (10)
declare @newcjmc char (100) declare @newlyrq datetime
declare @newbzbh char (60) declare @newzl char (20)
declare @newdj char (10)
declare @xgr char (20)
select @oldcjmc=cjmc,@oldlyrq=lyrq,@oldbzbh=bzbh,@oldzl=zl,@olddj=dj from deleted
select @newcjmc=cjmc,@newlyrq=lyrq,@newbzbh=bzbh,@newzl=zl,@newdj=dj from inserted
select @xgr=xgr from t_modifyuser where @wtbh=wtbh
if @oldcjmc<>@newcjmc
begin
insert into t_modifylog (wtbh, mod_time, mod_table, mod_field, ori_value, now_value, mod_people) values
(@wtbh,getdate(), 'chl_lydj','cjmc', @oldcjmc, @newcjmc, @xgr)
end
end
//////////修改时,直接把‘create’改为‘alter’即可
/////////////////////////
CREATE TRIGGER [TRIGGER ly_tzk_syf] ON dbo.ly_tzk
FOR insert
AS
begin
declare @clmc char(100) declare @dwbh char(100) declare @syf char(100) declare @dwgcbh char(100) declare @wtbh char(50)
declare @dj_1 money declare @feiyong_z money declare @feiyong_xf money declare @feiyong_sy money
declare @dj char(20)
select @wtbh=wtbh , @clmc=clmc , @dwbh=dwbh ,@syf=syf from inserted
select @dj=dj from feihao_bz where clmc=@clmc
select @feiyong_z=feiyong_z, @feiyong_xf=feiyong_xf, @feiyong_sy=feiyong_sy from gongchengxinxi where dwgcbh=@dwbh
set @dj_1=convert(money ,@dj)
if @dj_1 <>0
begin
set @feiyong_xf=@feiyong_xf+@dj_1
set @feiyong_sy=@feiyong_sy-@dj_1
update ly_tzk set syf=@dj where wtbh=@wtbh
update gongchengxinxi set feiyong_xf=@feiyong_xf, feiyong_sy=@feiyong_sy where dwgcbh=@dwbh
end
else update ly_tzk set syf=convert(char , 0.0) where wtbh=@wtbh
end
//////////////////////
CREATE TRIGGER [TRIGGER ly_tzk_syf_shanchu] ON dbo.ly_tzk
FOR delete
AS
begin
declare @clmc char(100) declare @dwbh char(100) declare @dwgcbh char(100) declare @wtbh char(50)
declare @feiyong_z money declare @feiyong_xf money declare @feiyong_sy money
declare @syf char(100) declare @syf_1 money
--declare @dj char(20) declare @dj_1 money
select @wtbh=wtbh , @clmc=clmc , @dwbh=dwbh ,@syf=syf from inserted
--select @dj=dj from feihao_bz where clmc=@clmc
select @feiyong_z=feiyong_z, @feiyong_xf=feiyong_xf, @feiyong_sy=feiyong_sy from gongchengxinxi where dwgcbh=@dwbh
set @syf_1=convert(money ,@syf)
if @syf_1 <>0
begin
set @feiyong_xf=@feiyong_xf-@syf_1
set @feiyong_sy=@feiyong_sy+@syf_1
update gongchengxinxi set feiyong_xf=@feiyong_xf, feiyong_sy=@feiyong_sy where dwgcbh=@dwbh
end
end
//////////////////////
求《触发器及其应用》实验报告 范本 实验目的如下
1.掌握基本RS、JK、D和T触发器的逻辑功能能 2.掌握集成触发器的使用方法和逻辑功能的测试方法 3.熟悉触发器之间相互转换的方法实验报告 1.列表整理各类触发器的逻辑功能 2.总结观察得波形,说明触发器的触发方法 3.体会触发器的应用
触发器有什么特点和优点?
使用触发器有如下优点:
1. 自动执行。触发器在对表的数据作了任何修改(比如手工输入或者应用程序的作)之后立即被激活。
2. 级联更新。触发器可以通过数据库中的相关表进行层叠更改,这比直接把代码写在前台的做法更安全合理。
3. 强化约束。触发器可以引用其它表中的列,能够实现比CHECK约束更为复杂的约束。
4. 跟踪变化。触发器可以阻止数据库中未经许可的指定更新和变化。
5. 强制业务逻辑。触发器可用于执行管理任务,并强制影响数据库的复杂业务规则。
触发器是干什么用的,有什么作用。
一、触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即“0”和“1”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。
二、触发器的作用
1、可在写入数据表前,强制检验或转换数据。
2、触发器发生错误时,异动的结果会被撤销。
3、部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。
4、可依照特定的情况,替换异动的指令 (INSTEAD OF)。
扩展资料:触发器的优点
触发器可通过数据库中的相关表实现级联更改,不过,通过级联引用完整性约束可以更有效地执行这些更改。触发器可以强制用比CHECK约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用其它表中的列。
例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它作,如修改数据或显示用户定义错误信息。触发器也可以评估数据修改前后的表状态,并根据其异采取对策。一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。
参考资料:
大家谈谈用触发器的体会???
数据库的触发器吧?
小的项目有需触发器的地方,用起来很方便,能减小存储过程的复杂度,因为若不用触发器就得把处理过程放在存储过程中.
而大的项目,特别是多人合作开发的项目,一般不使用触发器,因为用触发器反而会使系统变的混乱,因为,不是一个人来写存储过程,大家调试的时候会很难发现问题出在哪里,有可能是在存储过程里,也有可能在触发器里,
一般一个事务,用一个存储过程来处理.有时虽然很复杂,但它是的,从整体上看减小了系统的复杂程度.
至少我们公司是不用触发器的,不知道别人怎么样.
是数字电路中的触发器吧,可以用来组成计数器、寄存器等电路!好用!
触发器,就是点击一个控件,就会有相应的被处理
Windows触发器功能的运用分析
一、创建新的触发任务
Windows 2008系统的触发任务是基于特定创建的,我们首先需要让系统能对某个故障现象进行记录并生成一个,然后通过该系统新增加的附加任务功能,将指定的触发任务附加到目标中,日后一旦相同的发生时,指定的触发任务就能自动运行,来通知网络当前系统中发生了哪些重要的事情。
在默认状态下,Windows 2008系统不会对某个故障现象进行自动记录,我们必须对具体的故障现象进行审核,那样一来Windows 2008系统的查看器才能对具体的故障现象进行跟踪记录。例如,要想让Windows 2008系统的查看器自动记忆用户账号被恶意删除时,我们就应该依次单击“开始”/“设置”/“控制面板”命令,在弹出的系统控制面板窗口中双击“管理工具”图标,再在管理工具列表中双击“本地安全策略”选项,打开本地安全策略列表窗口;
在该列表窗口的左侧显示区域,依次展开“安全策略”/“审核策略”分支选项,在“审核策略”分支下面双击“审核账户管理”选项,打开选项设置对话框,选中“本地安全设置”标签,在对应的标签页面中选中“成功”或“失败”选项,再单击“确定”按钮,如此一来Windows 2008系统就会自动跟踪并记录添加或删除用户帐号了。
一旦对指定作启用了审核功能后,Windows 2008系统就会在对应的日志文件中自动记录下相关的作,例如以后只有有用户帐号被偷偷删除作发生时,Windows 2008系统的日志文件中就会自动出现相应的记录文件。在查看这个具体的记录内容时,我们可以先打开Windows 2008系统的“开始”菜单,从中依次点选“设置”、“控制面板”、“系统和维护”、“管理工具”选项,在弹出的管理工具列表窗口中单击“查看器”图标,打开查看器控制台窗口,在该窗口的左侧显示区域展开“Windows日志”选项,我们从该选项下面会看到“系统”、“安全”、“应用程序”、“转发”、“安装程序”等不同类别的内容,用鼠标双击
某一类别下面的具体记录,就能打开对应记录的详细信息界面,在这里我们便可以了解到指定的来源、ID以及其他说明信息了。
不过,每次采用手工方法查看记录内容往往比较烦琐,而且网络也很难在时间知道系统中究竟发生了哪些重要的。为此,我们可以对某一特定的附加触发任务,当以后有相同的记录再次生成时,Windows 2008系统的触发器就能自动工作,来执行指定的任务,通过这个任务我们可以把当前发生的内容自动通知给网络,网络得到通知信息后,就能及时采取措施来解决系统中存在的安全隐患了。
在创建新的触发任务时,我们先要从查看器窗口中找到具体的某一记录,例如用户帐号被删除的记录,然后用鼠标右键单击该记录选项,从弹出的快捷菜单中单击“将任务附加到此”命令,打开触发任务创建向导对话框,依照向导提示设置好新任务的名称信息,之后选中一个合适的触发方式,Windows 2008系统的触发器为用户提供了三种触发方式,它们分别为显示消息、发送电子邮件、启动应用程序,选择好某种触发方式后,再设置好具体的触发内容,单击“完成”按钮结束新触发任务的创建工作。
二、管理已有触发任务
创建成功的各个触发任务会自动出现在Windows 2008系统的任务列表中,进入任务列表窗口,我们就可以对已有触发任务进行随心所欲地管理、设置了。在管理已有触发任务时,我们可以按照如下步骤进行作:
首先以系统权限登录进入Windows 2008系统,依次单击该系统桌面中的“开始”/“程序”/“附件”/“系统工具”/“任务程序”命令,打开对应系统的任务列表窗口;
其次在该列表窗口的左侧显示区域,用鼠标逐一展开“任务程序库”/“Microsoft”/“查看器任务”分支选项,在对应“查看器任务”分支选项的中间显示区域,我们会看到Windows 2008系统中所有已经创建成功的触发任务。
在这里我们可以对每一个触发任务的各种参数进行修改,例如要修改某个任务的触发方式时,我们只要用鼠标右键单击具体的触发任务,从弹出的右键菜单中执行“属性”命令,打开目标触发任务的属性设置窗口。
在该设置窗口的“常规”标签页面中,我们可以指定目标都要触发任务的运行选项,例如是否在登录系统时运行目标触发任务,还是不管用户是否登录运行等,对于一些特殊的触发任务,我们有时需要在这里选中“使用权限运行”选项,确保目标触发任务中既定的作能够顺利地在Windows 2008系统中被成功执行。
在“触发器”标签页面中,我们可以通过单击“新建”按钮,来重新创建一个新的触发器任务,通过单击“编辑”按钮来对当前选定的`触发器进行一些高级设置,例如可以指定目标触发任务的延迟任务时间、重复任务间隔、过期日期等参数,通过单击“删除”按钮来将一些不需要的触发任务从Windows 2008系统中删除掉。
在“作”标签页面中,我们可以查看到目标触发任务正在使用的触发方式是什么,如果需要调整使用新的触发方式时,可以先选中当前正在使用的触发方式,并单击“删除”按钮将目标触发方式删除掉,之后单击“新建”按钮来创建一个新的触发方式。此外,我们还能单击这里的“编辑”按钮,来修改当前正在使用的触发方式的一些触发参数,例如修改触发标题、触发内容,选用不同的触发程序等。
在“条件”标签页面中,我们可以指定用于与触发器一起判断是否应运行该任务的条件,要是在这里设置的条件不是真,那么目标触发任务将不会被自动执行。例如,我们可以设置在本地计算机处于空闲状态多长时间后就能自动运行当前触发任务,也可以设置只有本地计算机在使用交流电源时才启动运行当前触发任务,甚至还能设置在指定网络连接有效时才能启动运行目标触发任务。
在“设置”标签页面中,我们可以指定影响目标触发任务的一些其他设置参数。例如,我们可以设置在目标任务触发失败后,过多长时间重新启动运行目标触发任务;也可以指定目标触发任务运行时间超过多长时间时,自动停止运行任务
三、触发器的实战应用
巧妙利用触发器功能,我们可以对Windows 2008系统的运行状态进行即时,一旦系统发生意外时,触发器能够自动把发生的通知给,以便在时间采取措施保护运行状态不受影响。
例如,我们可以对Windows 2008系统账号的创建行为进行跟踪,一旦有非法账号创建时,网络能够及时收到报警信息。要实现这样的目的,我们可以先打开Windows 2008系统的本地安全策略列表窗口,依次点选其中的“安全策略”/“审核策略”/“审核账户管理”选项,并用鼠标双击该选项,之后选中“成功”或“失败”选项,再单击“确定”按钮,这样的话Windows 2008系统就能自动跟踪并记录添加或删除用户帐号了。
接着用鼠标右键单击“计算机”图标,从弹出的快捷菜单中执行“管理”命令,打开对应系统的计算机管理窗口,在该管理窗口的左侧显示区域依次选中“配置”/“本地用户和组”/“用户”选项,并用鼠标右键单击该选项,再执行右键菜单中的“新用户”命令,在其后弹出的用户账号创建对话框中,随意创建一个新的用户账号,这时Windows 2008系统的查看器窗口中就会自动生成一个创建新用户账号的了。
下面,依次单击Windows 2008系统“开始”菜单中的“设置”/“控制面板”/“系统和维护”/“管理工具”选项,再双击“查看器”图标,打开查看器控制台窗口,在该窗口的左侧显示区域展开“Windows日志”选项,然后从该选项下面的“系统”分支下面找到刚刚创建好的创建新用户账号,再用鼠标右键单击该选项,从弹出的快捷菜单中点选“将任务附加到此”命令,打开触发任务创建向导对话框,依照向导提示设置好新任务的名称为“非法创建账号”,选中触发方式为“显示消息”,将触发内容设置为“系统中有账号可能被非法创建”,单击“完成”按钮,如此一来“非法创建账号”的触发任务就算创建成功了。
在windows2008系统内全新应用触发器功能,只要有非法作,会是系统遭到攻击等作,系统屏幕上都会自动弹出报警提示信息,这样一来,网络就可以在时间内掌握系统的运行情况了。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。