【问题标题】:It it possible to Trace who deleted records in SQL Table?是否可以追踪谁删除了 SQL 表中的记录?
【发布时间】:2014-07-22 05:30:28
【问题描述】:

有许多 SQL Server 托管在不同的服务器上。

所有服务器都基于“SQL Server 身份验证”工作。因此,组织中的许多人都使用相同的登录名。

如何追踪谁删除了特定表中的某些记录?

我们是否需要任何额外的编码,例如需要触发器或 SQL Server 的内置功能来提供这些详细信息?

请帮帮我。

谢谢。

【问题讨论】:

  • 如果你需要做这样的事情,我会推荐一个日志表。您可以归档所有更改和删除。
  • 这个值得一试LINK
  • 另外值得注意的是,如果您是 DBA,那么您真的应该在这里研究安全方面。如果很多人使用相同的 SQL Server 登录名,并且该登录名拥有DELETE 的权限,那就是个问题。有一天,有人会意外地破坏某物,而您可能会因此而惹上麻烦,而这本来可以避免的。

标签: sql sql-server


【解决方案1】:

如果删除已经发生并且您没有任何东西可以跟踪/记录它,那么机会将非常低 - 它们不是零,但不会高于它。

如果您使用事务日志来识别确切的删除和删除的会话 id,我们已经知道这是共享用户登录 - 并且您已成功启用登录安全审计,您理论上可以跟踪它返回进行删除的 IP 地址。 但是 - 这是一个非常渺茫的机会 - 我怀疑登录是来自实际的应用程序软件,你需要它直接在用户机器上运行,例如,不是任何风格的 3 层/基于 Web 的服务器,但是一个很好的旧的胖客户端应用程序可以直接连接。 这会为您提供 IP 和时间,但不是当时登录该机器的人,如果它以任何形式共享,那么您必须在机器上获取登录记录等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多