SQL Server 2000: Gibt es eine Möglichkeit zu sagen, wenn ein Datensatz zuletzt geändert wurde?

stimmen
7

Die Tabelle hat keine letzte aktualisierte Feld und ich muss wissen, wenn vorhandene Daten aktualisiert wurde. So Hinzufügen eines zuletzt aktualisiert Feld wird nicht helfen (soweit ich weiß).

Veröffentlicht am 05/08/2008 um 21:33
quelle vom benutzer
In anderen Sprachen...                            


5 antworten

stimmen
4

SQL Server 2000 nicht den Überblick über diese Informationen halten für Sie.

Es kann kreative / Fuzzy-Möglichkeiten zu erraten, was das Datum auf Ihrem Datenbankmodell wurde abhängig. Aber, wenn Sie etwa 1 Tabelle ohne Beziehung zu anderen Daten sprechen, dann sind Sie kein Glück.

Beantwortet am 05/08/2008 um 21:58
quelle vom benutzer

stimmen
1

Sie können einen Log Viewer versuchen; auf diese Weise kann im Grunde nur Sie bei den Transaktionen im Transaktionsprotokoll suchen, so sollten Sie die Anweisung finden, die die Zeile in Frage aktualisiert werden können. Ich würde dies als eine Produktionsebene Überwachungsstrategie nicht empfehlen, aber ich habe es in einer Prise nützlich erwiesen.

Hier ist ein ich verwendet habe; es ist kostenlos und funktioniert (nur) w / SQL Server 2000.

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

Beantwortet am 02/09/2008 um 06:43
quelle vom benutzer

stimmen
1

Sie können nicht ohne irgendeine Art von Audit-Mechanismus auf Änderungen überprüfen. Sie suchen Informationen zu extrahieren, die nicht gesammelt ha. Wenn Sie müssen nur wissen, wenn ein Datensatz hinzugefügt oder bearbeitet wurde, ein Datetime-Feld hinzufügen, die über einen Trigger aktualisiert werden, wenn der Datensatz aktualisiert wird, wäre die einfachste Wahl.

Wenn auch Sie verfolgen müssen, wenn ein Datensatz gelöscht wurde, dann sollten Sie eine Audit-Tabelle verwenden und sie von Trigger mit einer Reihe bevölkern, wenn ein Datensatz hinzugefügt wurde, bearbeitet oder gelöscht werden.

Beantwortet am 05/08/2008 um 22:32
quelle vom benutzer

stimmen
0

OmniAudit ist ein kommerzielles Paket , das über eine gesamte Datenbank implments auditng.

Eine freie Methode wäre, einen Auslöser für jede Tabelle zu schreiben, die Einträge in eine Audit-Tabelle addes beim Abfeuern.

Beantwortet am 05/08/2008 um 22:04
quelle vom benutzer

stimmen
0

Sie können ein Zeitstempel-Feld zu dieser Tabelle hinzufügen und diesen Zeitmarkenwert mit einem Update-Trigger aktualisieren.

Beantwortet am 05/08/2008 um 21:34
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more