SQL Server 2000: Gibt es eine Möglichkeit, festzustellen, wann ein Datensatz zuletzt geändert wurde?

original title: "SQL Server 2000: Is there a way to tell when a record was last modified?"


The table doesn't have a last updated field and I need to know when existing data was updated. So adding a last updated field won't help (as far as I know).

Die Tabelle enthält kein zuletzt aktualisiertes Feld und ich muss wissen, wann vorhandene Daten aktualisiert wurden. Das Hinzufügen eines zuletzt aktualisierten Feldes hilft also nicht (soweit ich weiß).

Dies ist die Zusammenfassung nach der Übersetzung. Wenn Sie die vollständige Übersetzung anzeigen möchten, klicken Sie auf das Symbol "Übersetzen"

Alle Antworten
  • Translate

    SQL Server 2000 does not keep track of this information for you.

    There may be creative / fuzzy ways to guess what this date was depending on your database model. But, if you are talking about 1 table with no relation to other data, then you are out of luck.

  • Translate

    You can't check for changes without some sort of audit mechanism. You are looking to extract information that ha not been collected. If you just need to know when a record was added or edited, adding a datetime field that gets updated via a trigger when the record is updated would be the simplest choice.

    If you also need to track when a record has been deleted, then you'll want to use an audit table and populate it from triggers with a row when a record has been added, edited, or deleted.

  • Translate

    You might try a log viewer; this basically just lets you look at the transactions in the transaction log, so you should be able to find the statement that updated the row in question. I wouldn't recommend this as a production-level auditing strategy, but I've found it to be useful in a pinch.

    Here's one I've used; it's free and (only) works w/ SQL Server 2000.


  • Translate

    You can add a timestamp field to that table and update that timestamp value with an update trigger.

  • Translate

    OmniAudit is a commercial package which implments auditng across an entire database.

    A free method would be to write a trigger for each table which addes entries to an audit table when fired.