WEB开发网
开发学院数据库MSSQL Server 在SQL Server 2005的ddl触发器中使用eventdata()函... 阅读

在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数据库中使用的例子。

上一页  1 2 

Tags:SQL Server ddl

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接