Please enable JavaScript.
Coggle requires JavaScript to display documents.
SQL Server Disaster Recovery - Coggle Diagram
SQL Server Disaster Recovery
automatyzacja odtwarzania danych
:-1::skin-tone-6:
na podstawie historii backupów
wady
trzeba mieć dostęp do historii backupów
odtworzona gdzieś na boku baza msdb
trzeba często backupować msdb
trzeba odtworzyć msdb
pliki kopii zapasowych również mogą
być niedostępne
nie działać
jeśli backup msdb jest wykonany przed ostatnią kopią innej bazy, nie będziemy mieli tej kopii w historii
może nie być ostatniej kopii w historii
brak nowych baz
kopie msdb będą robione równolegle z innymi bazami; jeśli odtworzona zostanie maszyna sprzed np 5 dni i w ciągu tych 5 dni zostanie dodana nowa baza, to nie będzie o niej nigdzie informacji; będą tylko pliki backupów
zalety
większość logiki zaszyta w skrypcie SQL
proces
skrypt sql wyszukujący ścieżki i nazwy plików całego łańcucha backupów
:+1::skin-tone-6:
na podstawie plików
proces
zaleźć folder
znaleźć ostatni plik full
znaleźć ostatni diff
znaleźć wszystkie trn
najpierw backupy baz systemowych?
wady
przerwany łańcuch backupów
nie dowiemy się o nim z samych plików
:question: czy da się przetestować zanim odtworzymy?
konieczne będzie ręczne przywracanie
problemy z kopiami ad hoc
brakujące pliki kopii
Co jeśli pomylimy np instancje i będziemy odtwarzać bazę nie na tej instancji? Skrypt bierze pod uwagę to że bazy może nie być tam gdzie powinna być, ale co jeśli się pomylimy?**
instancje na sztywno przypisane do bazy w pliku CSV
:question:co jeśli baza składa się z więcej niż jednego pliku bazy? np rozliczenia.
Jak zautomatyzować tego typu skrypty?
można pobrać listę plików bazy na podstawie pliku kopii zapasowej
RESTORE FILELISTONLY FROM DISK = N'....'
:!!: trzeba przerobić skrypt pod to
zalety
dostęp do wszystkich plików
niezależność od historii kopii zapasowych w bazie msdb
:information_source: info
kopie są dostępne w zorganizowanej strukturze katalogów, każdy rodzaj kopii ma własne rozszerzenia
:notebook_with_decorative_cover:
wnioski
prostsze jest odtworzenie na podstawie struktury katalogów
jeśli łańcuch backupów będzie przerwany, trzeba będzie przywracać bazy ręcznie, nie zależnie od tego czy odtwarzamy bazy na podstawie msdb czy plików
odtwarzanie na podstawie historii z msdb wymaga dużej ilości zależności i budowania mechanizmów, które narażone są na podobne zagrożenia jak odtwarzanie na podstawie plików
niezależnie od podejścia, należy dodatkowo zrobić mechanizm testujący automatyzację i weryfikować go cyklicznie
przerwaniu łańcuchów kopii można spróbować zapobiec rozwiązaniami organizacyjnymi
kopie na potrzeby testów robić w innym katalogu
obowiązek wykonywania kopii z opcją copyonly
powstanie nowej bazy między punktem awarii a starszym o kilka dni backupem maszyny baz spowoduje brak informacji o nowej bazie w msdb
planowanie w kontekście konieczności odtworzenia całej maszyny bazodanowej sprzed kilku dni