[MS SQL]Odzyskanie danych przy pomocy logu

[MS SQL]Odzyskanie danych przy pomocy logu
BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

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?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

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).

BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

Tak tak dokładnie zostały albo skasowane albo nadpisane.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

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.

AF
  • Rejestracja: dni
  • Ostatnio: dni
1

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.

crowa
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 295
1

pod warunkiem ze byl robiony backup logu. jest dostepna wtedy opcja stop at umozliwiajaca restore do dowolnej chwili czaswoej obejmowanej przez zakres logu.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.