有人在我訪問服務器後立即在我們的某個數據庫上刪除表。我不知道這是誰的。因爲這個人,我幾乎失去了工作。檢查在SQL Server上運行的「DROP」查詢
所以我想知道有沒有一種方法可以檢查哪個用戶運行了查詢DROP TABLE my_table
以便我可以向我的老闆證明我是無辜的?
有人在我訪問服務器後立即在我們的某個數據庫上刪除表。我不知道這是誰的。因爲這個人,我幾乎失去了工作。檢查在SQL Server上運行的「DROP」查詢
所以我想知道有沒有一種方法可以檢查哪個用戶運行了查詢DROP TABLE my_table
以便我可以向我的老闆證明我是無辜的?
在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
;
這基本上只是阻止任何人刪除表
將此功能與插入到日誌表中的功能組合在一起,可以防止桌子掉落,並收集誰/何時嘗試的證據 – bendataclear
@Barry我知道這是一個奇怪的問題,但我不認爲刪除所有背景信息都有幫助。 –
@Tim - 我不認爲所有的背景信息都會爲實際上有趣的問題增加任何價值。這通常是鼓勵問題被關閉的一種方式。 –