Witam, czy jest możliwość odzyskania/sprawdzenia wartości jakie zostały wprowadzone danego dnia przez inserty do bazy danych? O co chodzi: pewnego dnia zostało dodane kilka nowych wierszy do tabelki, dane te zostały utracone a nie mam backup'u, i czy w logu można sprawdzić jakie wartości zostały tam wpisane?
[MS SQL]Odzyskanie danych przy pomocy logu
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
Ale jeśli baza miała logi (miała na pewno, chodzi mi o to że były zrzucone na dysk) to powinna sobie sama wciągnąć wszystko z tego logu po ponownym starcie. W zależności od tego jaki jest tryb logowania albo powinna wycofać niezakończone transakcje (undo) albo potwórzyć (redo) albo powtórzyć co sie da a resztę wycofać (undo-redo).
- Rejestracja: dni
- Ostatnio: dni
- Postów: 20
Tak tak dokładnie zostały albo skasowane albo nadpisane.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
SZBD są sprytne i po checkpointach / zapisaniu danych na dysku nadpisują sobie logi bo są już zbędne. Oracle ma taki bajer jak flashback który pozwala na małe "podróże w czasie" ale nie wiem czy MSSQL potrafi coś podobnego.
- Rejestracja: dni
- Ostatnio: dni
Jeżeli recovery mode jest ustawiony na full, to możesz cofnąć się do dowolnego punktu w czasie. Możesz też zapytaniami SQL podglądać zawartość logu bazy i próbować odzyskać dane.