Other

SqlBackup

A Windows desktop application and background service for SQL Server backups, with independent jobs, flexible schedules, verified Local/NAS copies and clear execution logs.

Personal project

A personal software project.

SqlBackup desktop workspace showing independent backup jobs, SQL connection, destinations and execution history on a light portfolio cover.

Overview

SQL Server backups, under your control

SqlBackup is a Windows desktop application with a background service for configuring, scheduling and monitoring SQL Server backups. Each job has its own SQL connection, database selection, destination folders and schedule. Closing the desktop leaves execution with the service.

It supports Full, Differential and Transaction Log backups, with advanced scheduling, local notifications and readable execution history. Backups first use a configurable SQL-visible temporary folder, then transfer to Local/Network Folder/NAS destinations with integrity checks and an optional secondary copy.

Retention cleanup previews eligible files and preserves the dependencies needed by retained recovery points. Deletion requires explicit confirmation. Job logs distinguish backup, verification, copy and cleanup outcomes so problems remain visible.

Built with C#, .NET 10, WPF, Windows Service hosting and SQLite. Windows credentials are protected with DPAPI. An Inno Setup installer and GitHub Actions workflow handle Windows packaging.

The source is MIT licensed. Cloud storage providers and automatic retention deletion are planned. RESTORE VERIFYONLY is supported, but it does not replace a separately tested restore.

My contribution

Product design and full-stack development

  • Product workflow and desktop interface
  • Windows Service and SQL backup execution
  • Scheduling and recovery-aware retention
  • Installer and GitHub Actions packaging

Problem & challenges

  • Keeping scheduled backups running when the desktop is closed
  • Handling different SQL Server and NAS filesystem identities
  • Preserving restore dependencies during retention cleanup
  • Making partial failures and interrupted work visible

Solution

  • A separate Windows Service with persisted schedules and execution history
  • SQL temporary staging followed by SHA-256 verified destination copies
  • Dependency-aware cleanup preview with explicit deletion confirmation
  • Distinct backup and verification and copy outcomes in job logs

Key features

Independent backup jobs

Separate SQL connections and storage credentials for each job

Full / Differential / Log

Manual and scheduled SQL Server backups

Verified Local/NAS copies

Temporary staging and SHA-256 verified transfers

Recovery-aware retention

Preview and explicitly confirm eligible backup deletion

Operational history

Per-stage job logs and local notifications

Screenshots

Technology stack

  • C# · Backend
  • SQL Server · Database

Updated