可以跟踪谁删除了SQL表中的记录吗?
有许多SQL Server托管在不同的服务器上 所有服务器都基于“SQL Server身份验证”工作。因此,组织中的许多人使用相同的登录 如何跟踪删除特定表中某些记录的人 我们是否需要任何额外的编码,比如触发器是必需的,或者它是SQL server的内置功能,以提供这些详细信息 请帮帮我可以跟踪谁删除了SQL表中的记录吗?,sql,sql-server,Sql,Sql Server,有许多SQL Server托管在不同的服务器上 所有服务器都基于“SQL Server身份验证”工作。因此,组织中的许多人使用相同的登录 如何跟踪删除特定表中某些记录的人 我们是否需要任何额外的编码,比如触发器是必需的,或者它是SQL server的内置功能,以提供这些详细信息 请帮帮我 谢谢。如果删除已经发生,而您没有任何地方可以跟踪/记录此情况,那么机会将非常低-它们不是零,但也不会远高于零 如果您使用事务日志来确定确切的删除和删除的会话id(我们已经知道是共享用户登录),并且您已经成功启用
谢谢。如果删除已经发生,而您没有任何地方可以跟踪/记录此情况,那么机会将非常低-它们不是零,但也不会远高于零 如果您使用事务日志来确定确切的删除和删除的会话id(我们已经知道是共享用户登录),并且您已经成功启用了登录安全审核,那么理论上您将能够将其追溯到进行删除的IP地址。 然而-这是一个非常小的机会-我怀疑登录是从实际的应用软件,你需要直接在用户机器上运行,例如不是一个3层/基于web的任何风格的服务器,而是一个良好的老客户机应用程序直接连接。
这会给你一个IP和一个时间,但不是一个当时登录到该机器上的人,如果它以任何形式共享,那么你必须在该机器上获取登录记录等。如果你需要这样做,我建议使用日志表。您可以归档所有更改和删除。这值得一试。还值得注意的是,如果您是DBA,那么您确实应该在这里研究安全方面。如果很多人使用相同的SQL Server登录,并且该登录有权
删除
,这就是问题所在。有一天,有人会意外地破坏某些东西,而你可能会因此而陷入麻烦,而这本来是可以避免的。