Przywracanie bazy danych Comarch ERP XL z kopii zapasowej to procedura stosowana zarówno po awariach, jak i przy przenoszeniu systemu na nowy serwer. Prawidłowe wykonanie polecenia RESTORE DATABASE w SQL Server jest kluczowe dla przywrócenia pełnej spójności danych.
Typy kopii zapasowych w SQL Server
SQL Server obsługuje trzy główne typy backupów: pełny (FULL) – zawiera całą bazę danych, różnicowy (DIFFERENTIAL) – zawiera zmiany od ostatniego pełnego, oraz kopia logu transakcyjnego (LOG) – zawiera transakcje od ostatniego backupu logu. Optymalny harmonogram dla bazy XL: pełny backup co tydzień, różnicowy codziennie, backup logu co godzinę lub częściej. Taka sekwencja minimalizuje utratę danych do maksymalnie godziny.
Przywracanie pełnej kopii zapasowej
Polecenie przywracania pełnego backupu w SQL Server Management Studio lub T-SQL:
RESTORE DATABASE NazwaBazyXL FROM DISK = 'C:\Backups\NazwaBazy_FULL.bak' WITH REPLACE, NORECOVERY;
Opcja NORECOVERY jest konieczna, gdy planowane jest dalsze nakładanie backupów różnicowych lub logów. Opcja REPLACE nadpisuje istniejącą bazę, jeśli taka istnieje na serwerze docelowym.
Nakładanie backupu różnicowego i logów
Po przywróceniu pełnego backupu z NORECOVERY można nałożyć backup różnicowy:
RESTORE DATABASE NazwaBazyXL FROM DISK = 'C:\Backups\NazwaBazy_DIFF.bak' WITH NORECOVERY;
Następnie kolejno nakłada się backupy logów transakcyjnych w kolejności chronologicznej (od najstarszego do najnowszego). Ostatnia operacja to odtworzenie bazy do trybu wieloużytkownikowego:
RESTORE DATABASE NazwaBazyXL WITH RECOVERY;
Weryfikacja bazy po przywróceniu
Po przywróceniu bazy należy uruchomić DBCC CHECKDB, aby potwierdzić spójność odtworzonej bazy. Następnie uruchomić klienta Comarch ERP XL i sprawdzić, czy dane są aktualne i czy system działa poprawnie. W przypadku przywrócenia na nowy serwer konieczna jest aktualizacja loginu SQL Server powiązanego z bazą XL oraz połączenia ciągu konfiguracyjnego klientów.
Przywracanie na nowy serwer – pułapki
Przy przywracaniu bazy na inny serwer SQL Server należy pamiętać o: odtworzeniu loginów SQL Server (RESTORE LOGIN lub ręczne tworzenie z tym samym SID), aktualizacji użytkowników bazy (ALTER USER ... WITH LOGIN) oraz konfiguracji uprawnień serwisowych konta używanego przez aplikację serwera XL. Pominięcie tych kroków skutkuje błędem „Użytkownik nie jest powiązany z loginem" przy próbie połączenia aplikacji z bazą.