SQL Server 2000:有没有办法告诉记录上次修改的时间?

时间:2008-08-05 20:33:22

标签: sql-server

该表没有最后更新的字段,我需要知道何时更新现有数据。因此,添加最后更新的字段将无济于事(据我所知)。

5 个答案:

答案 0 :(得分:4)

SQL Server 2000不会为您跟踪此信息。

根据您的数据库模型,可能有创意/模糊的方法来猜测这个日期是什么。但是,如果你在谈论与其他数据无关的1个表,那么你就不走运了。

答案 1 :(得分:1)

如果没有某种审核机制,您无法检查更改。您正在寻找未收集的信息。如果您只需要知道添加或编辑记录的时间,添加更新记录时通过触发器更新的日期时间字段将是最简单的选择。

如果您还需要跟踪记录何时被删除,那么您将需要使用审计表,并在添加,编辑或删除记录时使用行填充触发器。

答案 2 :(得分:1)

您可以尝试使用日志查看器;这基本上只是让您查看事务日志中的事务,因此您应该能够找到更新相关行的语句。我不建议将其作为生产级别的审计策略,但我发现它在紧要关头有用。

这是我用过的一个;它是免费的,(仅)与SQL Server 2000一起工作。

http://www.red-gate.com/products/SQL_Log_Rescue/index.htm

答案 3 :(得分:0)

您可以向该表添加时间戳字段,并使用更新触发器更新该时间戳值。

答案 4 :(得分:0)

OmniAudit是一个商业软件包,它在整个数据库中包含auditng。

一种免费方法是为每个表编写一个触发器,在触发时将条目添加到审计表中。