SQLServer EVENTDATA()函數(shù)來(lái)獲取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)
-- 新建一個(gè)新表,作為刪除實(shí)驗(yàn)表
INSERT INTO TableToDelete VALUES(1)
GO
-- 創(chuàng)建一個(gè)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
會(huì)觸發(fā)上面的DDL,從而回滾操作。
執(zhí)行下面的Sql:
SELECT * FROM TriggerLog
查看剛才截獲的DDL信息。
相關(guān)文章
異地遠(yuǎn)程訪問(wèn)本地SQL Server數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)的重要性相信大家都有所了解,作為各種數(shù)據(jù)的電子資料夾,其中可能包含了各種信息,這篇文章就為大家介紹了如何使用cpolar內(nèi)網(wǎng)穿透,遠(yuǎn)程連接和操作SQL Server。2023-04-04
SQL Server 2005/2008 用戶(hù)數(shù)據(jù)庫(kù)文件默認(rèn)路徑和默認(rèn)備份路徑修改方法
本環(huán)境是SQL Server 2005 Standard Version 64-bit 和 SQL Server 2008 Standard Version 64-bit 雙實(shí)例同時(shí)安裝在一個(gè)2010-04-04
Windows Server 2008 Standard Version 64-bit OS上
使用row_number()實(shí)現(xiàn)分頁(yè)實(shí)例
或許大家不知道,其實(shí)使用row_number()是可以實(shí)現(xiàn)分頁(yè)的,下面有個(gè)不錯(cuò)的示例,大家可以嘗試操作下2013-11-11
SqlServer 序號(hào)列的實(shí)現(xiàn)方法
對(duì)于 SQL SERVER 2000 及更早的版本,需要使用一個(gè)自增列,結(jié)合臨時(shí)表來(lái)實(shí)現(xiàn)。2009-06-06
數(shù)據(jù)庫(kù)更新Sqlserver腳本總結(jié)
數(shù)據(jù)庫(kù)更新Sqlserver腳本總結(jié),需要的朋友可以參考下。2011-06-06
關(guān)于SQL表中drop?table和delete?table的區(qū)別
刪表是一個(gè)比較危險(xiǎn)的操作,這次給了個(gè)機(jī)會(huì)就想嘗試下,記得在mysql表中有兩種操作,drop與delete,但是在maxcompute產(chǎn)品中嘗試時(shí),該產(chǎn)品只支持drop操作。這里說(shuō)下二者操作的區(qū)別,需要的朋友可以參考下2023-01-01
一個(gè)查看MSSQLServer數(shù)據(jù)庫(kù)空間使用情況的存儲(chǔ)過(guò)程 SpaceUsed
一個(gè)查看MSSQLServer數(shù)據(jù)庫(kù)空間使用情況的存儲(chǔ)過(guò)程 SpaceUsed...2007-02-02
Sql數(shù)據(jù)庫(kù)中去掉字段的所有空格小結(jié)篇
這篇文章主要介紹了Sql數(shù)據(jù)庫(kù)中去掉字段的所有空格小結(jié)篇,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05

