在SQL Server 2005的ddl触发器中使用eventdata()函数
2010-08-16 15:45:20 来源:WEB开发网核心提示:代码walthrough首先,我们声明一个XML数据类型的变量,在SQL Server 2005的ddl触发器中使用eventdata()函数(2),命名为@Data;接下来,我们指派一个由EventData( )函数变量返回的值;然后,这就既不高效也不有效,在您的SQL Server 2005实例中实施ddl触发器与
代码walthrough
首先,我们声明一个XML数据类型的变量,命名为@Data;
接下来,我们指派一个由EventData( )函数变量返回的值;
然后,在INSERT语句中,使用XQuery和value()方法,我们在@Data变量中检索 元素的值。我们使用@Data 的value()方法,作为两个参量,当它是零索引的时候 ,代表的值是1,名字是其中一个SQL服务器固定的数据类型。 值返回的是作为那 个类型的实例。 并且,value()方法让您的XML数据的格式有更好的体现。
测试触发
在Northwind数据库中,让我们在Reion的表中添加一个新的一列。
USENorthwindUSENorthwind
GO
ALTERTABLERegion
ADDnewColumnSMALLDATETIMENULL
请求的EvtLog表将给您EventData ()函数返回的数据,以表格的形式存放,而 我们从触发器的定义里边已经获取了在XML数据里面的元素的值。
下一步骤
您可以在对数据库或服务器的层次上定义ddl触发以及捕捉使用eventdata ( ) 函数活动的详细信息。 这种做法只是为了当ddl事件发生时,把活动的详情储存 在一个日志表中。为了确保你需要验证的事件的执行,您也可以有一个中心数据 库,将所有在数据库和服务器层次的事件存储起来,在如此大数额的可验证的日 志操作中进行每一个事件的处理验证,这就既不高效也不有效。
在您的SQL Server 2005实例中实施ddl触发器与eventdata ( )函数
评估事件,您的安全团队必须经过贵公司的政策界定的基础上进行验证
你可以在这里得到Northwind数据库中使用的例子。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接