该表没有最后更新的字段,我需要知道现有数据何时更新。因此,添加最后更新的字段不会有帮助(据我所知)。

有帮助吗?

解决方案

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

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

其他提示

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

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

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

这是我用过的一个;它是免费的并且(仅)适用于 SQL Server 2000。

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

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

全方位审计 是一个商业包,它在整个数据库中实现审计。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top