有沒有辦法找出那些信息?也許在某種內部登錄Sql Server? 我需要根據歷史數據生成報告,但我沒有在我的應用中實現該功能,因爲它不是過去的要求。現在我卡住了。如何檢索在Sql Server 2005中插入/更新一行時的日期時間?
謝謝
有沒有辦法找出那些信息?也許在某種內部登錄Sql Server? 我需要根據歷史數據生成報告,但我沒有在我的應用中實現該功能,因爲它不是過去的要求。現在我卡住了。如何檢索在Sql Server 2005中插入/更新一行時的日期時間?
謝謝
您可能很幸運能夠從某些日誌中獲取數據,但您需要爲將來做好準備。無論規格如何,最好添加一些額外的信息和日誌記錄。
在非常重要的表格中,我有一個包含LastChgID和LastChgDate的每行版本的歷史記錄表。
在我CreateID,CREATEDATE,LastChgID重要的表,LastChgDate
在所有其他表(除代碼表)我有LastChgID,LastChgDate
當你設計系統時,你就會有一個什麼是重要的想法。
許多這些都顯示在屏幕上,但即使它不是,一些不安的人會打電話給/電子郵件誰這樣做?你可以說「你做了一個2009-06-02 10:06:22.213!」
對不起查理。如果它是一個Web應用程序,您可能可以根據該日誌生成報告。
您必須在表中添加一列(使其可以爲空),然後使用getdate()對所有行進行種子處理。這當然不準確,但這是您唯一的選擇。一旦所有行都有數據,將NOT NULL約束添加到列中。
上最有禮貌的傢伙,並將此列的默認值設置爲GETDATE() – 2009-06-02 13:59:35
事務日誌可能存在一定的可能性,並且您正在進行日誌傳送。請諮詢您的DBA。
這些日誌可以爲您提供您正在查找的日期/時間戳。
SQL Server沒有自動完成所有數據更改的審計。
你必須建立它。無論是否在原來的要求,跟蹤什麼時候發生是常識。
最好的辦法是補充這一點,並在新功能沒有跟蹤之前接受該數據。
SO – 2009-06-02 14:17:04