Log transakcyjny SQL Server’a zawiera rekordy, opisujące modyfikacje wykonywane na bazie. Dzięki tym informacjom istnieje możliwość odtworzenia bazy do określonego punktu w czasie, możliwość ponownego wykonania modyfikacji lub jej wycofania. Powstaje jednak pytanie, jak odnaleźć określoną transakcję i ponownie ją wykonać albo jak odwrócić skutki jej działania, powstałe na przykład po przypadkowym skasowaniu rekordów w bazie.
November 4, 2015Otwórz plik LDF i wyświetl jego zawartość
Każda baza danych SQL Server’a składa się ze zbioru plików na poziomie system operacyjnego. Pliki te przechowują dane oraz informacje o zmianach w bazie. Poszczególne pliki mogą być używane tylko przez jedną bazę, a dane i informacja o zmianach w bazie nigdy nie są zapisywane w tym samym pliku. Dane przechowywane są w plikach MDF, natomiast wszystkie transakcje modyfikujące dane oraz transakcje modyfikujące na poziomie bazy danych, przechowywane są w drugim podstawowym komponencie bazy danych, w pliku LDF czyli w pliku logu transakcyjnego. Plik logu jest ciągiem rekordów. Fizycznie, rekordy logu transakcyjnego są przechowywane w jednym lub w wielu fizycznych plikach LDF.
November 4, 2015Jak w bazie SQL Server’a odtworzyć dane skasowane przypadkowym wykonaniem polecenia UPDATE lub DELETE
Jednym z koszmarów administrator bazy danych jest utrata danych na skutek jego własnych błędów. Zdarza się, że administrator wykona polecenie UPDATE lub DELETE, zapominając o klauzuli WHERE lub niewłaściwie ją definiując, co skutkuje skasowaniem lub zmianą milionów wierszy w bazie danych.
Jakie opcje odtworzenia danych daje nam w takiej sytuacji SQL Server?
November 4, 2015Jak odtworzyć dane po przypadkowym usunięciu tabeli, jeśli nie mamy kopii zapasowej
Jeżeli przypadkowo wykonałeś polecenie DROP oraz posiadasz pełną kopię zapasową bazy danych, to zakładając, że po usunięciu tabeli nie pojawiły się żadne zmiany, wystarczy, że odtworzysz dane z kopii zapasowej, nadpisując oryginalną bazę danymi z kopii. Niestety, w rzeczywistości taka prosta sytuacja nie jest zbyt często możliwa. Czasami, ponieważ dane oraz obiekty w bazie zostały zmienione po wykonaniu polecenia DROP, czasami ponieważ nie posiadamy kopii zapasowej. Efektem czego jest niemożność odzyskania usuniętej tabeli i danych.
November 4, 2015Jak odtworzyć dane po wykonaniu przypadkowego polecenia UPDATE, nie posiadając kopi zapasowej bazy danych SQL Server’a
Upps! Załóżmy, że wykonałeś na bazie danych polecenie UPDATE bez warunku WHERE i nadpisałeś wszystkie rekordy w tablicy złymi danymi. Jak przywrócić poprawne wartości w bazie?
November 4, 2015Odzyskiwanie skasowanych danych z logu transakcyjnego SQL Server’a
W artykule Odzyskiwanie skasowanych danych z kopii zapasowej lub z plików online bazy danych pokazaliśmy dwa scenariusze odzyskiwania, jeden z pełnej kopii zapasowej bazy danych, drugi z plików online bazy danych – plików MDF. Oprócz tych dwóch źródeł, do odzyskiwania danych można wykorzystać log transakcyjny bazy danych.
November 4, 2015