该表没有最后更新的字段,我需要知道何时更新现有数据。因此,添加最后更新的字段将无济于事(据我所知)。
答案 0 :(得分:4)
SQL Server 2000不会为您跟踪此信息。
根据您的数据库模型,可能有创意/模糊的方法来猜测这个日期是什么。但是,如果你在谈论与其他数据无关的1个表,那么你就不走运了。
答案 1 :(得分:1)
如果没有某种审核机制,您无法检查更改。您正在寻找未收集的信息。如果您只需要知道添加或编辑记录的时间,添加更新记录时通过触发器更新的日期时间字段将是最简单的选择。
如果您还需要跟踪记录何时被删除,那么您将需要使用审计表,并在添加,编辑或删除记录时使用行填充触发器。
答案 2 :(得分:1)
您可以尝试使用日志查看器;这基本上只是让您查看事务日志中的事务,因此您应该能够找到更新相关行的语句。我不建议将其作为生产级别的审计策略,但我发现它在紧要关头有用。
这是我用过的一个;它是免费的,(仅)与SQL Server 2000一起工作。
答案 3 :(得分:0)
您可以向该表添加时间戳字段,并使用更新触发器更新该时间戳值。
答案 4 :(得分:0)
OmniAudit是一个商业软件包,它在整个数据库中包含auditng。
一种免费方法是为每个表编写一个触发器,在触发时将条目添加到审计表中。