如何在Sql Server 2005中插入/更新一行时检索日期时间?

时间:2009-06-02 13:51:07

标签: sql-server sql-server-2005 logging

有没有办法找出这些信息?也许在Sql Server中的某种内部日志? 我需要根据历史数据生成报告,但我没有在我的应用中实现该功能,因为它不是过去的要求。现在我被卡住了。

由于

5 个答案:

答案 0 :(得分:1)

您必须向表中添加一个列(使其可为空),然后使用getdate()为所有行设定种子。这当然不准确,但这是你唯一的选择。一旦所有行都有数据,就将NOT NULL约束添加到列中。

答案 1 :(得分:0)

对不起查理。如果它是一个Web应用程序,您可以根据该日志生成报告。

答案 2 :(得分:0)

保留交易日志的可能性很小,而且您是日志传送。请咨询您的DBA。

这些日志可以为您提供您正在寻找的日期/时间戳。

答案 3 :(得分:0)

SQL Server没有对所有数据更改进行自动和完整的审核。

你必须建立它。无论是否符合原始要求,追踪事情的发生是常识。

您最好的选择是添加此功能,并在新功能无法跟踪之前接受该数据。

答案 4 :(得分:0)

您可能很幸运能够从某些日志中获取数据,但您需要为将来做好准备。无论规范说什么,最好添加一些额外的信息和记录。

在非常重要的表中,我有一个包含LastChgID和LastChgDate的每个版本行的历史表。

在重要的表格中,我有CreateID,CreateDate,LastChgID,LastChgDate

在所有其他表(代码表除外)中,我有LastChgID,LastChgDate

当你设计系统时,你会知道什么是重要的。

屏幕上会显示许多内容,但即使不是,有些不高兴的人会打电话/发邮件给谁这样做?你可以说“你做了2009-06-02 10:06:22.213!”