Enterprise plugin for Microsoft SQL Server 2022 (Linux + Windows + Azure MI) on Bacula Community 15.0.3+. Capabilities exceeding the Bacula Enterprise MSSQL plugin itself: up to 64-way parallel stripes, 3 native replication modes, Always On AG awareness with automatic replica selection, full integrity suite, instant recovery, single-item restore and cross-server TDE capture. Drop-in compatible — same namespace as Bacula Enterprise mssql-fd, zero FileSet rewrites. 16/16 E2E PASS on SQL Server 2022 + 2-node Always On AG.

Capabilities

  • 🪟 Windows + Linux — VDI on Windows; TDS/FIFO on Linux; Azure Managed Instance via BACKUP TO URL
  • Parallel striped I/O — up to 64-way parallel stripes, 4× throughput on VLDB
  • 🔁 3 native replication modes — log shipping, AG bootstrap, fanout (1→N regions)
  • 🔄 Always On AG aware — automatic replica selection, failover resilience, secondary seeding
  • Full integrity suite — VERIFYONLY, DBCC CHECKDB, checksum, page audit
  • 🚀 Instant recovery — database queryable in minutes while restore continues
  • 🔍 Single-item restore — table/row extraction via ephemeral sandbox instance
  • 📊 BI server coverage — SSAS (XMLA), SSRS, SSIS (SSISDB)
  • 🔐 TDE-aware — capture and restore TDE certificates cross-server
  • 📈 Prometheus + OpenTelemetry — built-in observability, Grafana-ready
  • 🎯 Drop-in compatible — exact same namespace as Bacula Enterprise mssql-fd

GA validation

Metric Result
E2E test suite (T01–T13, 16 tests) 16 / 16 PASS (3 consecutive runs)
OL9 cargo test 311 passed, 0 failed
Win2025 cargo test 381 passed, 0 failed
SQL Server tested SQL Server 2022 on Windows Server 2025
AG configuration 2-node, CLUSTER_TYPE=NONE, SYNCHRONOUS_COMMIT
Bacula version Community 15.0.3

Quick Start — Linux (TDS/FIFO)

FileSet {
  Name = "MSSQL-Linux"
  Include {
    Options { Signature = SHA256 }
    Plugin = "podheitor-mssql: mode=tds_fifo hostname=localhost user=backupuser passfile=/opt/bacula/etc/.mssql_pass stripes=4 compress=native+zstd"
  }
}

Quick Start — Windows (VDI)

FileSet {
  Name = "MSSQL-Windows"
  Enable VSS = no
  Include {
    Options { Signature = SHA256 }
    Plugin = "podheitor-mssql: checksum=yes verify_backup=yes compress=native+zstd"
  }
}

Quick Start — Always On AG (backup from secondary)

Plugin = "podheitor-mssql: ag_preference=readable_secondary ag_failover_retry=3 copyonly stripes=4"

Quick Start — VLDB (1 TB+, 8-way stripes)

Plugin = "podheitor-mssql: database=warehouse stripes=8 parallel_dbs=2 compress=native+zstd buffercount=32 maxtransfersize=4194304"

Comparison

Feature Bacula Community Bacula Enterprise MSSQL Veeam SQL Plug-in PodHeitor MSSQL
Linux MSSQL via TDS/FIFO No Limited Limited Yes
Parallel stripes > 4 No 4 max 16 max 64
Always On AG aware No Partial Yes Yes
TDE cross-server capture No Manual Manual Yes
SSAS / SSRS / SSIS coverage No No SSIS only SSAS+SSRS+SSIS
1→N fanout replication No No No Yes
Instant recovery No No Yes Yes
Cost Free $$$$ $$$$ ≥50% cheaper

Compatibility

  • SQL Server 2017, 2019, 2022, Azure Managed Instance
  • Bacula Community 15.0.3+
  • Linux: RHEL/Oracle/Rocky/Alma 8/9 · Debian 12 · Ubuntu 22.04/24.04
  • Windows: Server 2019, 2022, 2025 (VDI)

Installation

# Linux RHEL/Oracle/Rocky/Alma 9
sudo dnf install podheitor-mssql-plugin-2.0.0-1.el9.x86_64.rpm

# Linux Debian/Ubuntu
sudo dpkg -i podheitor-mssql-plugin_2.0.0-1_amd64.deb

# Windows: extract zip into C:Program FilesBaculaplugins

Ready to switch?

Bring us your renewal or new-contract proposal from Bacula Enterprise, Veeam, Commvault or NetBackup. We commit to a minimum 50% discount, with more capabilities included.

Heitor Faria — Founder, PodHeitor International
[email protected]
☎ +1 (789) 726-1749 · +55 (61) 98268-4220 (WhatsApp)

Technical whitepaper

📘 Read the full technical whitepaper — architecture, backup modes, integrations, anti-patterns and licensing model.

Disponível em: pt-brPortuguês (Portuguese (Brazil))enEnglishesEspañol (Spanish)