Przejdź do głównej zawartości

Archiwizator baz danych

Dla programu Wapro Mag przewidziano mechanizm archiwizacji oraz dearchiwizacji danych. Program Archiwizator jest wspólny dla wszystkich programów Wapro ERP i w przypadku pracy wielu programów na jednej bazie wystarczy wykonać kopię z poziomu jednego programu.

Jak archiwizować bazę Wapro ERP?

Aby uruchomić archiwizatora należy wybrać START | Wszystkie programy | Wapro ERP | Wapro Mag | Archiwizator baz danych.

wapro mg

Po wskazaniu adresu serwera oraz opcji uwierzytelniania (w przypadku opcji Uwierzytelnianie Windows użytkownik uwierzytelniany jest na podstawie bieżącego użytkownika i hasła - jeśli nie ma nadanych odpowiednich uprawnień w serwerze SQL logowanie się nie powiedzie). W przypadku logowania SQL należy podać login SA lub inny administracyjny i hasło.

Po zalogowaniu użytkownik ma do wyboru dwie zakładki: Archiwizacja oraz Konfiguracja. Zaleca się, aby użytkownik na zakładce Konfiguracja okreśił, jak ma być budowana nazwa pliku oraz stopień kompresji. Należy pamiętać, że zwiększenie stopnia kompresji wydłuży proces tworzenia archiwum.

wapro mg

Po dokonaniu konfiguracji można wykonać archiwum z poziomu zakładki Archiwizacja. Należy wybrać bazę danych na liście oraz katalog docelowego, a nastepnie przycisnąć opcję Archiwizuj.

wapro mg

Podpowiedź

Użytkownik powinien wykonywać archiwum obowiązkowo cyklicznie w zależności od ilości i częstotliwości zmian. Można do tego celu wykorzystać opcję automatycznej archiwizacji poprzez tworzenie pliku konfiguracyjnego i uruchamianiu go z poziomu harmonogramu systemu Windows lub poprzez usługę SQL Agent w wersjach SQL Server Workgroup i wyższych.

Aby zobaczyć jak należy skonfigurować plik do automatycznej archiwizacji należy uruchomić z poziomu wiersza poleceń (START | URUCHOM | CMD) polecenie "c:\Program Files\Common Files\Wapro\Archiwizator.exe" /? - wyświetlona zostanie informacja o strukturze parametrów.

W przypadku systemów wersji 64 bitowej ścieżka do katalogu ma postać "c:\Program Files (x86)\Common Files\Wapro\Archiwizator.exe" /?

W programie wprowadzono możliwość wykonania automatycznego uruchomienia archiwizatora przy zamknięciu programu. W tym celu należy nadać odpowiednie uprawnienie (z wyjątkiem wersji START, która posiada to uprawnienie automatycznie dla konta admin) dla każdego użytkownika (poprzez grupę), który mamieć prawo archiwizacji bazy danych. Uprawnienie można ustawić w programie wybierając kolejno Administrator | Uprawnienia użytkowników | Grupy | Wybierz grupę | Uprawnienia | Przydziel uprawnienie "Możliwość uruchomienia Archiwizatora po zakończeniu pracy programu".

Podczas zamykania programu pojawi się odpowiednia opcja do zaznaczenia w celu wykonania archiwizacji po zamknięciu programu.

wapro mg

Warto wiedzieć

Pamiętaj że archiwizacja to jedyna metoda odtworzenia danych po awarii komputera, dlatego bezwzględniej zadbaj o jej wykonanie i przechowuj ją na niezależnych nośnikach, takich jak serwery sieciowe, pamięć USB czy też płyty DVD.

Jak automatycznie archiwizować bazy Wapro ERP?

Automatyzacja wykonywania baz danych może zależeć od tego jakimi narzędziami dysponujemy a w zasadzie z jakiej edycji MS SQL Server korzystasz. Jeśli posiadasz wersję darmową MS SQL Express to ma ona pewne ograniczenia i jednym z nich jest brak dostępnej usługi SQL Agent.

Czym jest SQL Agent?

SQL Agent to usługa, która działa jak harmonogram zadań - umożliwia zaplanowanie zadań i wykonanie jakiejś akcji zgodnie z założoną datą i godziną a także częstotliwością.

Połączenie zadań SQL Agent ze skryptami SQL Server umożliwia bardzo dużą elastyczność jak i kiedy ma być uruchomiona kopia baz danych. W dokumentacji MS SQL Server znajdzies dużo informacji na temat wykorzystania tej usługi do archiwizacji baz danych.

Podpowiedź

Nie ma znaczenia jakim narzędziem będziesz wykonywać archiwum bazy danych Wapro ERP - ważne abyś potrafił potem je odtworzyć. Pamiętaj też, że jeśli korzystasz z jakiegoś dedykowanego narzędzia może ono wymagać aby proces odtwarzania odbywał się właśnie za jego pomocą ponieważ inne programy mogą nie poradzić sobie z odtworzeniem archiwum w jakimś specyficznym formacie.

W przypadku Wapro ERP archiwizator tworzy archiwum z rozszerzeniem .ape jednak jest to podstawowy plik kopii bezpieczeństwa danych SQL, jeśli zmienisz jego nazwę na .bak to pojawi się ono w oknie wyboru archiwum SQL Server Management Studio i pozwoli na odtworzenie tego pliku standardowym narzędziem administracyjnym MSSQL.

Jak archiwizować poprzez harmonogram zadań?

Jeśli nie dysponujesz wersją Standard lub wyższą MS SQL to pozostaje Ci wykorzystanie podstawowego narzędzia do automatyzacji zadań czyli Harmonogram windows - ono również pozwla na wywołanie zadadań w formie skryptów lub programów w określonej.

Podpowiedź

Niezależnie od tego czy korzystasz z jednej czy drugiej metody do archiwizacji możesz użyć zwykłych skryptów SQL albo narzędzia archiwizator, które dodatkowo ma wbudowany mechanizm kompresowania do formatu ZIP. W przypadku MSSQL wyższe wersje mają wbudowany mechanizm kompresji kopii ale nie jest to metoda poprzez pakowanie pliku do formatu ZIP/7ZIP itp.

Jak skonfigurować plik automatycznej archiwizacji?

Należy przygotować plik konfiguracji czyli tekstowy plik INI, który będzie posiadał zapisane informacje co chcemy archiwizować i jaką metodą. W tym celu można albo ręcznie utworzyć plik np. Konfiguracja.INI w katalogu C:\Program Files (x86)\Common Files\WAPRO\ lub wygenerować go automatycznie.

Jak wygenerować plik konfiguracji do archiwizacji?

W tym celu należy uruchomić archiwizator baz danych i po wybraniu opcji Archiwizacja na zakładce Konfiguracja należy wyklikać ustawienia dotyczące maski pliku a następnie z zakładki Archiwizacja wybrać przycisk Do skryptu. System pozwoli zapisać plik we wskazanym miejscu. Po jego uruchomieniu pojawią się parametry wyklikane w archiwizatorze.

[Parametry]

Serwer=.\sql2019

Baza=WAPRO

WinLogin=1

Login=

Haslo=

Katalog=D:\Backup

ZIP=1

CzescStala=Archiwum

NazwaBazy=1

DataCzas=1

HasloArchiwum=

Kompresja=6

Co oznaczają parametry pliku konfiguracyjnego?

Większość z nich jest oczywista, na uwagę zasługuje WinLogin=1 - ta opcja pozwala stosować login windows do logowania w SQL bez konieczności podawania hasła w pliku tekstowym - opcja ta jest przeze mnie bardzo mocno rekomendowana! Warunek aby z niej skorzystać oczywiście jest taki, że konto systemu Windows lub usługi SQL w kontekście której taki automatyczny backup ma się wykonać musi mieć prawo logowania do SQL Server oraz wykonania archiwum.

Zip = 1 oznacza kompresję pliku a kompresja=6 pozwala określić jak mocno jest ona stosowana.

Jeśli mamy już ten element gotowy można przejść do skorzystania ze skryptu wywołującego. W tym celu otwieramy notatnik i wpisujemy kawałek polecenia:

"C:\Program Files (x86)\Common Files\WAPRO\archiwizator.exe" tryb=1 inf=konfiguracja.ini

Co odpowiada wywołaniu pliku archiwizator.exe ze wskazanego katalogu, tryb = 1 mówi o tym,że chcemy wykonać archiwizację a inf=konfiguracja.ini zawiera szczegóły jak ma się to odbyć czyli gdzie się należy zalogować, jaką bazę zarchiwizować i jak ma nazywać się plik. Ważne, aby ścieżka była opakowana w cudzysłowie ponieważ zawiera spację. Tak utworzony plik należy zapisać z poziomu notatnika opcją Zapisz jako w określonym miejscu na dysku np. Backup_wapro.cmd- rozszerzenie to .cmd lub .bat. Można użyć również skrypt PowerShell ale w tym artykule się tym nie zajmę.

Teraz można sprawdzić poprawność takiej konfiguracji poprzez uruchomienie pliku Backup_wapro.cmd jeśli wszystko jest prawidłowe pojawi się okno archiwizatora w trakcie wykonywanej archiwizacji.

Kolejny etap to uruchomienie tego automatycznie w tym celu można w systemie uruchomić Harmonogram zadań następnie wybrać opcję Utwórz zadanie podstawowe w wprowadzamy nazwę zadania pozwalającą stwierdzić co ono robi, po przejściu Dalej w sekcji Wyzwalacz określamy co ile ma się ono wykonywać np. Codziennie po przejściu Dalej wprowadzamy godzinę i co ile dni. W sekcji Akcja należy wybrać Uruchom program i przejść Dalej a następnie w polu Program/Skrypt za pomocą opcji Przeglądaj… Wybrać plik Backup_wapro.cmd , który utworzyliśmy przed chwilą.

Pamiętaj

Pamiętaj o regularnym sprawdzaniu czy kopie baz danych, które utworzyłeś nadają się do odtworzenia. Niestety technologia jest technologią i czasami pliki potrafią być uszkodzone pomimo tego, że na pierwszy rzut oka wyglądają na poprawne. Zdarza się to bardzo rzadko natomiast może się okazać, że obszar dysku, na którym program tworzy kopię zapasową jest uszkodzony i sam plik może powstać ale nie będzie nadawał się do odtworzenia. W przypadku sytuacji kryzysowej może okazać się, że plik nie będzie nadawał się do użycia.

Zadanie jest gotowe w połowie ponieważ domyślnie zadziała tylko jeśli użytkownik jest zalogowany - oczywiście ma to swoje ograniczenia, że jak ktoś nie jest zalogowany albo ma urlop to kopia się nie wykona. Należy w menu po lewej stronie kliknąć na Biblioteka harmonogramu zadań a następnie w sekcji po środku odnaleźć zadanie i kliknąć w nie podwójnie lewym przyciskiem w celu edycji. Na pierwszej zakładce Ogólne należy zmienić ustawienie Uruchom niezależnie od tego, czy użytkownik jest zalogowany. Po tej operacji wybieramy OK - pojawi się dodatkowe okno, gdzie należy wprowadzić login i hasło użytkownika w kontekście, którego to zadanie ma się uruchamiać.

Po tej operacji czekamy na pierwsze uruchomienie i sprawdzamy czy wykonało się ono prawidłowo. Od tej pory wiemy już jak to składać poszczególne klocki aby zaplanować odpowiednią strategię kopii do ilości wprowadzanych przez nas danych w WAPRO ERP.

Pamiętaj

Niniejszy artykuł skupia się jedynie na wykonaniu kopii bazy WAPRO ERP ale użytkownik musi zadbać o kopię innych elementów firmowych:

  • Dane użytkownika składowane w plikach (być może warto zastosować moduł e-Dokumenty w celu wykonywania archiwum tych danych wraz z bazą WAPRO ERP)
  • Zdjęcia artykułów przechowywane w katalogu (jeśli zapisywane są w bazie to robione jest to wraz z kopią bazy)
  • Raporty dodatkowe przechowywane w plikach (jeśli zapisywane są w bazie to robione jest to wraz z kopią bazy)
  • Dodatkowe pliki użytkownika

Jak zarządzać kopiami bezpieczeństwa?

Tworzenie automatyczne kopii baz danych ma jeden aspekt, który należy uwzględnić - miejsce na dysku. Jeśli nie zarządzasz odpowiednio kopiami bezpieczeństwa możesz doprowadzić do zapchania dysku i w konsekwencji zablokowania pracy programu i użytkowników. Z jednej strony kolejne kopie się nie utworzą a z drugiej program nie będzie w stanie zwiększyć rozmiaru bazy aby zapisywać kolejne dane użytkowników.

Dlatego kolejny aspekt do uwzględnienia to ewentualnie automatyczne kasowanie tych danych z katalogu po upływie pewnego czasu. Można czyścić to ręcznie ale w przypadku kiedy baza jest duża istnieje ryzyko, że jeśli użytkownik nie skasuje danych na czas to zapcha się dysk, gdzie zapisywane jest archiwum i cała strategia legnie w gruzach.

Ponownie to dobry obszar aby ten proces zautomatyzować poprzez utworzenie kolejnego pliku skryptu np. KasujStarszeNiz30Dni.cmd gdzie w definicji skryptu jest polecenie

forfiles /P D:\backup /D -30 /M . /C "cmd /c del @path"

Może być to oddzielny skrypt wywoływany w inny terminie lub może być to kolejna linijka dopisana do skryptu Backup_wapro.cmd wtedy najpierw zostanie wykonane archiwum a potem skasowane zostaną pliki starsze niż 30 dni.

W strategii kopii warto uwzględnić kopię plików archiwum na dodatkowy nośnik np. dodatkowy serwer plików NAS, który umożliwi przechowywanie tych danych na dodatkowych dyskach skonfigurowanych z użyciem RAID 1 lub innego zapewniającego większe bezpieczeństwo. Tą metodą zapewniamy sobie dodatkowe bezpieczeństwo. W tym celu można znowu dodać nowy skrypt lub rozbudować podstawowy o linijkę:

forfiles /P D:\backup /D %date% /M . /C "cmd /c copy /Y @path E:\backup" Gdzie e:\Backup to zmapowany dysk lub można go zastąpić adresem UNC np. \192.168.1.150\backup

Jak widzisz zaplanowanie odpowiedniej koncepcji wykonywania archiwum wymaga lekkiego przemyślenia ale pozwala zabezpieczyć swoje dane i uniknąć nerwowych sytuacji. Chyba, że wyznajesz maksymę "Prawdziwi twardziele backupów nie robią" to powyższe informację nie są dla Ciebie.

Pamiętaj

Obecnie często największym problemem są ataki typu Ransomware powodują one zaszyfrowanie danych firmowych, które znajdują się na zainfekowanym komputerze. Niestety to złośliwe oprogramowanie wykazuje się dużą zaraźliwością środowiska firmowego, potrafi wykrywać zapisane poświadczenia do dysków sieciowych i szyruje również zawartość kolejnych dysków sieciowych i komputerów. Aby się przed tym bronić należy połączyć kilka technik.

Jak zabezpieczyć się przed ransmoware?

Najskuteczniejsza znana metoda to robienie archiwum zasobów firmowych i zapisywanie ich cyklicznie na zewnętrzne fizyczne nośniki, które odłączone są od podstawowej sieciowej infrastruktury firmowej. Takim przykładem jest cykliczne zapisywanie danych na fizyczne dysku zewnętrzne USB, które są podpinane do serwera/komputera tylko na momen wykonania archiwum tych plików a następnie odpinane.

Innym rozwiązaniem może być zapisywanie danych do chmury ale w taki sposób aby chmura nie była zsynchronizowana na stałe z komputerem/katalogiem gdzie są dane.

Pamiętaj

W skrajnym przypadku zapisywanie danych do chmury i włączenie pełnej synchrornizacji katalogów do chmury może spowodować, że w przypadku ransomware wykona on:

  1. Zaszyfrowanie danych na dysku lokalnym
  2. Zapisywanie do chmury zaszyfrowanych kopii bezpieczeństwa
  3. Zaszyfrowanie plików w chmurze publicznej