wtorek, 26 maja 2026

Program do wykonywania kopii zapasowych MSSQL przy wykorzystaniu pomocy AI

Programy jak w wersji bezpłatnej jak SQL BackupAndFTP (dla baz z silnikiem MSSQL)  posiadają ograniczoną funckcjonalność : wykonuję program max dwie kopie bazy, składowanie do chmury,brak szyfrowania...Przychodzi z pomocą agent AI aby zbudować bezpłatne narzędzie dla administratora systemów. Program zbudowany z użyciem języka Python. 

Wymagania wstępne:

  • Python 3.11+
  • ODBC Driver 17 for SQL Server (wymagany przez pyodbc)
  • Jeśli nie ma pyodbc – aplikacja automatycznie używa sqlcmd jako fallback

Podstawowe funkcje aplikacji:

  • Zakładki: SQL Server, FTP, Harmonogram, Dziennik zdarzeń, SMB, chmura...
  • Autoryzacja Windows Auth lub SQL Auth
  • Odświeżanie listy baz z datą ostatniego backupu
  • Backup z kompresją T-SQL (BACKUP DATABASE ... WITH COMPRESSION)
  • Upload FTP / FTPS (TLS), tryb aktywny/pasywny
  • Automatyczny harmonogram: co godzinę / codziennie / co tydzień
  • Hasła NIE są zapisywane w pliku konfiguracyjnym

Opis szczegółowy podstawowych zakładek:

Backup:

  • wybór folderu docelowego
  • opcja archiwum ZIP lub 7z (z hasłem)
  • checkbox weryfikacji automatycznej po backupie
  • widocznym potokiem operacji: Backup → Verify → ZIP/7z → AES → FTP → SMB → Email

Weryfikacja – zakładka do ręcznego sprawdzania plików:

  • RESTORE VERIFYONLY – sprawdza integralność bez przywracania
  • "Pobierz info o backupie" – pokazuje nazwę bazy, typ, datę, listę plików MDF/LDF
  • weryfikacja całego folderu z plikami .bak naraz

Przywracanie – pełna zakładka restore:

  • wybór pliku .bak (lub .zip / .7z / .bak.enc – automatyczne rozpakowanie/odszyfrowanie)
  • przywracanie do oryginalnej lokalizacji lub wskazanych folderów dla MDF i LDF osobno
  • zmiana nazwy bazy przy przywracaniu
  • opcje WITH REPLACE i WITH NORECOVERY
  • okno potwierdzenia przed wykonaniem

 

Wymagania:

pyodbc>=4.0.39
schedule>=1.2.0
cryptography>=41.0.0

# OneDrive (Microsoft Graph API)
msal>=1.24.0
requests>=2.31.0

# Google Drive API – uzywa tego samego requests
# (brak dodatkowych zaleznosci)

# MEGA – uzywa requests + cryptography (juz powyzej)
# Opcjonalnie dla silniejszego szyfrowania ZIP (nie wymagane):
# pycryptodome>=3.19.0