
Stare przysłowie mówi, że ludzie dzielą się na dwa typy: tych co robią kopie zapasowe i tych co będą robić kopie zapasowe. Byłem w tej pierwszej grupie. Kilka lat temu pewnego pięknego dnia jak włączałem laptopa ujrzałem na ekranie, że sprzęt nie wykrył dysku twardego. Możesz sobie wyobrazić moje przerażenie i wzrost ciśnienia, jak przeczytałem ten komunikat. W tamtym czasie nie miałem innego sprzętu ani przejściówek, aby sprawdzić czy faktycznie dysk twardy SSD M.2 wyzionął ducha. Przez te doświadczenie zaopatrzyłem się w szereg adapterów dla tego typu dysków, jednak tylko na modele typu M (jedno wcięcie), a na chwilę pisania teog posta sporo jest już dysków typu B+M (dwa wcięcia), jednak Lenovo ThinkPad P50 Gen 1 obsługuje obydwa typy. Dysk już jechał do labolatorium w celu odzyskiwania danych, jednak cofnąłem zlecenie kurierskie, ale już nie pamiętam z jakiego powodu. Na szczęście okazało się, że uszkodzeniu uległa płyta główna i po jej wymianie, dysk został wykryty bez problemów i pozostało jeszcze wpisanie klucza deszyfrującego, gdyż miałem na nim aktywnego Bitlockera. Ręce mi się trzęsły jak wpisywałem klucz, gdyż jak go ustawiałem, to robiłem klika prób i było niebezpieczeństwo, że usunąłem nie tą kopię klucza co potrzeba. Głupi ma szczęście i uzyskałem dostęp do swoich danych. Od tego szczęśliwie zakończonego doświadczenia staram się co 3 miesiące wykonywać kopie zapasową obydwu dysków w swoim laptopie (czyli 256 GB SSD M.2 oraz 4 TB SSD SATA), aby w razie draki mieć się do czego cofnąć i dla mnie, ten okres odświeżania kopii jest wystarczający. 🙃
Inne przysłowie, które utkwiło mi w pamięci to "ludzie są zwalniani za straty danych, a nie za to, że wolno pracują." Także kopie zapasowe są bardzo ważne, a odzyskiwanie danych jest bardzo kosztowne. 😏
@echo off
SET SERVER_SQL=nazwa_serwera_sql
SET HASLO_SA=hasło_sa
SET nazwa_bazy_danych=nazwa_bazy_danych
SET nazwa_bazy_danych=nazwa_bazy_danych
SET RozliczeniaBudow=RozliczeniaBudow
SET ROOT_FOLDER=C:\Archiwa
SET PATH=%PATH%;"C:\Program Files\Microsoft SQL Server\130\Tools\Binn\";"C:\Program Files\7-Zip";
(
echo %nazwa_bazy_danych%
echo %nazwa_bazy_danych%
echo %RozliczeniaBudow%
) >>%ROOT_FOLDER%\sql.tmp
for /f "delims=*" %%A in (%ROOT_FOLDER%\sql.tmp) do (
osql.exe -U "sa" -P "%HASLO_SA%" -S "%SERVER_SQL%" -n -Q "BACKUP DATABASE %%A TO DISK=N'%ROOT_FOLDER%\%%A_%DATE%.bak' WITH INIT,NOUNLOAD,NAME=N'%%A full backup',NOSKIP,STATS=10,NOFORMAT" >>%ROOT_FOLDER%\LOG\LOG_SQL_%DATE%.txt
)
for /f "delims=*" %%A in (%ROOT_FOLDER%\sql.tmp) do (
7z a -t7z -r %ROOT_FOLDER%\SQL\%%A_%DATE%.7z %ROOT_FOLDER%\%%A_%DATE%.bak >>%ROOT_FOLDER%\LOG\LOG_7zip_%DATE%.txt
)
del /q %ROOT_FOLDER%\*_%DATE%.bak
del /q %ROOT_FOLDER%\*.tmp
forfiles /P %ROOT_FOLDER% /D -8 /M *.* /S /C "cmd /c (if /i not @ext==\"bat\" del /q @file)"