有人在我访问服务器后立即在我们的某个数据库上删除表。我不知道这是谁的。因为这个人,我几乎失去了工作。检查在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 - 我不认为所有的背景信息都会为实际上有趣的问题增加任何价值。这通常是鼓励问题被关闭的一种方式。 –