欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQLServer EVENTDATA()函數(shù)來獲取DDL 觸發(fā)器信息

 更新時間:2009年07月09日 13:49:53   作者:  
SQL Server 2005/2008中可以使用EVENTDATA函數(shù)來獲取DDL觸發(fā)器的上下文,從而在ROLLBACK之前截獲DDL信息。EVENTDATA返回XML字段,下面的例子顯示如何截獲Drop Table的DDL信息。
復(fù)制代碼 代碼如下:

-- Create a log table
CREATE TABLE TriggerLog (LogInfo xml)

-- Create a dummy table to delete later on
CREATE TABLE TableToDelete (Id int PRIMARY KEY)

-- 新建一個新表,作為刪除實驗表
INSERT INTO TableToDelete VALUES(1)
GO

-- 創(chuàng)建一個Drop Table 的 DDL
CREATE TRIGGER StopTableDrop ON DATABASE AFTER DROP_TABLE
AS
DECLARE @EventData AS xml
SET @EventData = EVENTDATA() -- 必須要在rollback之前截獲DDL信息
ROLLBACK
PRINT 'DROP TABLE attempt in database ' + DB_NAME() + '.'
INSERT INTO TriggerLog VALUES(@EventData)

執(zhí)行如下刪除操作:
DROP TABLE TableToDelete
會觸發(fā)上面的DDL,從而回滾操作。
執(zhí)行下面的Sql:
SELECT * FROM TriggerLog
查看剛才截獲的DDL信息。

相關(guān)文章

最新評論