Sql server 为什么sql 2008会自动删除数据库行

Sql server 为什么sql 2008会自动删除数据库行,sql-server,Sql Server,每天,我的一些数据库行都会被自动删除 甚至日志文件也被删除了,所以我无法检查是谁删除了这些文件 我不知道该怎么办。如果SQL server是预生产的,您可以将目标表的所有删除权限都删除,然后等待谁投诉。如果无论如何都不允许在此表上进行删除,即使是在生产环境中,那么最好限制该功能的发展 除此之外,尝试向表中添加一个delete触发器以进行审核。您可以获取源IP地址、登录用户信息等。如果需要,您甚至可以回滚删除 这是一篇关于使用触发器进行审计的好文章 编辑: 如果要停止表上的所有删除,可以使用以下

每天,我的一些数据库行都会被自动删除

甚至日志文件也被删除了,所以我无法检查是谁删除了这些文件


我不知道该怎么办。

如果SQL server是预生产的,您可以将目标表的所有删除权限都删除,然后等待谁投诉。如果无论如何都不允许在此表上进行删除,即使是在生产环境中,那么最好限制该功能的发展

除此之外,尝试向表中添加一个delete触发器以进行审核。您可以获取源IP地址、登录用户信息等。如果需要,您甚至可以回滚删除

这是一篇关于使用触发器进行审计的好文章

编辑:

如果要停止表上的所有删除,可以使用以下触发器

CREATE TRIGGER dbo.MyTable_Delete_Instead_Of_Trigger
ON dbo.MyTable
INSTEAD OF DELETE
AS
BEGIN

     raiserror('Deletes are not allowed.', 16, 1)
END

对捕获所有RPC Completed和SQL BatchCompleted事件的数据库运行SQL事件探查器,并查看它以查找执行删除的内容。

Chris,感谢您的快速响应。您能告诉我如何删除目标表的所有权限吗?以及如何添加删除触发器。我是个新手。请帮帮我。“我一直在使用恢复软件来找回删除的记录,但它真的变得一团糟。@georgesmith-读取事务日志的恢复软件?正在删除哪些日志?@georgesmith-您所在的公司是否有DBA或您是DBA?没有DBA。事实上,我是一名自由职业者。@georgesmith-gotcha。您可能希望与DBA协商,并让他们参与本合同。我的电子邮件地址列在我的个人资料中-请随意使用。请提供更多详细信息。关于日志文件被删除的部分听起来像是恶意活动(如果正确的话),但在不了解更多情况的情况下,很难猜测您是否被黑客攻击,或者只是有一个写得很糟糕的删除查询或计划的任务。是的,需要更多详细信息。这是生产服务器还是测试服务器?很多人/用户/应用程序都可以访问它吗?