2008-08-05 6 views

Odpowiedz

4

SQL Server 2000 nie śledzi tych informacji za Ciebie.

Może istnieć twórczy/niewyraźny sposób odgadnięcia, jaka data była zależna od modelu bazy danych. Ale jeśli mówisz o 1 stole bez związku z innymi danymi, to masz pecha.

0

Możesz dodać pole datownika do tej tabeli i zaktualizować wartość tego znacznika za pomocą wyzwalacza aktualizacji.

0

OmniAudit to pakiet komercyjny, który implikuje auditng w całej bazie danych.

Wolną metodą byłoby wpisanie wyzwalacza dla każdej tabeli, która dodaje wpisy do tabeli kontroli po uruchomieniu.

1

Nie można sprawdzić zmian bez jakiegoś mechanizmu audytu. Szukasz informacji, które nie zostały zebrane. Jeśli potrzebujesz tylko wiedzieć, kiedy rekord został dodany lub edytowany, dodanie pola datetime, które zostanie zaktualizowane przez wyzwalacz, gdy rekord zostanie zaktualizowany, będzie najprostszym wyborem.

Jeśli musisz również śledzić, kiedy rekord został usunięty, musisz użyć tabeli kontroli i wypełnić ją wyzwalaczami z wierszem, gdy rekord został dodany, zmodyfikowany lub usunięty.

1

Możesz spróbować przeglądarki dziennika; to zasadniczo pozwala spojrzeć na transakcje w dzienniku transakcji, więc powinieneś być w stanie znaleźć instrukcję, która zaktualizowała dany wiersz. Nie polecałbym tego jako strategii audytu na poziomie produkcji, ale uważam, że jest przydatna w szczyptę.

Oto jeden, którego użyłem; jest bezpłatny i działa tylko w SQL Server 2000.

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