Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以跟踪谁删除了SQL表中的记录吗?_Sql_Sql Server - Fatal编程技术网

可以跟踪谁删除了SQL表中的记录吗?

可以跟踪谁删除了SQL表中的记录吗?,sql,sql-server,Sql,Sql Server,有许多SQL Server托管在不同的服务器上 所有服务器都基于“SQL Server身份验证”工作。因此,组织中的许多人使用相同的登录 如何跟踪删除特定表中某些记录的人 我们是否需要任何额外的编码,比如触发器是必需的,或者它是SQL server的内置功能,以提供这些详细信息 请帮帮我 谢谢。如果删除已经发生,而您没有任何地方可以跟踪/记录此情况,那么机会将非常低-它们不是零,但也不会远高于零 如果您使用事务日志来确定确切的删除和删除的会话id(我们已经知道是共享用户登录),并且您已经成功启用

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

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

如何跟踪删除特定表中某些记录的人

我们是否需要任何额外的编码,比如触发器是必需的,或者它是SQL server的内置功能,以提供这些详细信息

请帮帮我


谢谢。

如果删除已经发生,而您没有任何地方可以跟踪/记录此情况,那么机会将非常低-它们不是零,但也不会远高于零

如果您使用事务日志来确定确切的删除和删除的会话id(我们已经知道是共享用户登录),并且您已经成功启用了登录安全审核,那么理论上您将能够将其追溯到进行删除的IP地址。 然而-这是一个非常小的机会-我怀疑登录是从实际的应用软件,你需要直接在用户机器上运行,例如不是一个3层/基于web的任何风格的服务器,而是一个良好的老客户机应用程序直接连接。
这会给你一个IP和一个时间,但不是一个当时登录到该机器上的人,如果它以任何形式共享,那么你必须在该机器上获取登录记录等。

如果你需要这样做,我建议使用日志表。您可以归档所有更改和删除。这值得一试。还值得注意的是,如果您是DBA,那么您确实应该在这里研究安全方面。如果很多人使用相同的SQL Server登录,并且该登录有权
删除
,这就是问题所在。有一天,有人会意外地破坏某些东西,而你可能会因此而陷入麻烦,而这本来是可以避免的。