2012-05-15 48 views
3

有人在我訪問服務器後立即在我們的某個數據庫上刪除表。我不知道這是誰的。因爲這個人,我幾乎失去了工作。檢查在SQL Server上運行的「DROP」查詢

所以我想知道有沒有一種方法可以檢查哪個用戶運行了查詢DROP TABLE my_table以便我可以向我的老闆證明我是無辜的?

+1

@Barry我知道這是一個奇怪的問題,但我不認爲刪除所有背景信息都有幫助。 –

+0

@Tim - 我不認爲所有的背景信息都會爲實際上有趣的問題增加任何價值。這通常是鼓勵問題被關閉的一種方式。 –

回答

2

在SQL Server 2005或更新的,你也可以調查DDL triggers甚至會允許你禁止某些DROP TABLE陳述....

CREATE TRIGGER safety 
ON DATABASE 
FOR DROP_TABLE 
AS 
    PRINT 'You must disable Trigger "safety" to drop tables!' 
    ROLLBACK 
; 

這基本上只是阻止任何人刪除表

+2

將此功能與插入到日誌表中的功能組合在一起,可以防止桌子掉落,並收集誰/何時嘗試的證據 – bendataclear