SQL może pracować w trzech trybach Recovery Model:
– simple
– full
– bulk logged
Simple pozawala na odtworzenie bazy tylko do momentu ostatnio wykonanej pełnej lub różnicowej archiwizacji.
Nie musimy się martwić o wielkość logu dziennika. RPO duże lub bardzo duże.
Full pozwala na odtworzenie bazy do dowolnej lub ostatniej poprawnej transakcji.
Musimy kontrolować wielkość logu dziennika gdyż wszystkie operacje są w pełni logowane. RPO małe odpowiednie do baz produkcyjnych.
Bulk Logged jest podobny trybu Full z tym, że nie loguje takich operacji jak tworzenie indeksu, operacje typu BULK, procedure WRITETEXT.
Przydaje się kiedy chcemy załadować jednorazowo dużą ilość danych i jednocześnie nie chcemy utracić informacji o pozostałych transakcjach.
SQL Express dla tworzonych baz danych automatycznie ustawiana tryb simple , pozostałe wersje full.
Zmiana trybu Recovery Model dla „testowa_baza” można dokonać odpowiednio 1-full , 2-simple:
ALTER DATABASE testowa_baza SET RECOVERY FULL;
ALTER DATABASE testowa_baza SET RECOVERY SIMPLE;
Sprawdzenie w jakim trybie pracuje baza lub wszystkie bazy:
SELECT recovery_model_desc FROM sys.databases WHERE name = 'testowa_baza';
SELECT name AS [Database Name], recovery_model_desc AS [Recovery Model] FROM sys.databases;
Wyszukiwanie tylko baz z Recovery Model ustawionym na FULL:
SELECT name AS [Database Name], recovery_model_desc AS [Recovery Model] FROM sys.databases WHERE recovery_model_desc = 'FULL' ;
Logi transakcyjne możemy przeglądać narzędziem ApexSQL Log .