Chat with us, powered by LiveChat
Home > Corporate Data Backup > Enterprise Data Backup Tools > Best SQL Server backup software and tools

Perform fast and convenient backups and restores with our MS SQL Server Backup Tools.

Unlike solutions that rely on agent-based file-level approaches or require intermediate staging before data reaches storage, Bacula’s MS SQL plugin streams backup data directly to the Storage Daemon via Microsoft’s native SQL Server API. This eliminates double-backup overhead, reduces storage footprint, and ensures that your SQL Server backup strategy is managed from the same centralized platform as the rest of your infrastructure — physical, virtual, cloud, or hybrid.

Among its vast range of features, Bacula Enterprise also backs up your Windows data with a combination of ease and functionality.

This includes the ability to perform fast and convenient backup using our MS SQL backup tool. Now you can precisely backup very large amounts of specific Windows-based data in your SQL Server – and achieve Point In Time SQL Server restore.

Use Bacula to avoid using multiple backup solutions, or having inadequate protection from ransomware.

Complete MS SQL Server Protection Without Capacity-Based Pricing

Bacula Enterprise licenses by server, not by database size, number of instances, or transaction volume. For organizations running large SQL Server deployments — multi-terabyte databases, multiple named instances, or SQL Server clusters — this makes a significant cost difference compared to solutions that charge per gigabyte protected or scale fees with data growth.

It also means there’s no commercial incentive to exclude databases from protection schedules, limit retention periods, or avoid backing up large transaction logs. Every database gets full protection under the same license.

Comprehensive MS SQL Server Backup Capabilities

Bacula’s SQL backup software delivers exceptional performance via a modern highly reliable architecture and offers you the following SQL Server backup tool capabilities:

  • Full, incremental, and differential SQL Server backups
  • Database-level backup – target individual databases rather than entire instances
  • Point-in-time recovery (PITR) – restore to any specific moment, down to the exact second
  • Include/exclude databases – precisely scope each backup job using glob pattern matching; a rule like production* captures all matching databases without listing each individually
  • Support for “Copy Only” backups – take ad hoc backups without disrupting the established backup chain
  • Restore MS SQL backup files to disk – for manual recovery via TSQL or SQL Server Management Console
  • Send backup stream directly to the Storage Daemon – no local staging required
  • Checksum verification – operates at both backup and restore time, confirming data integrity on the way out and again on the way back in
  • Windows and SQL Server authentication – the plugin inherits whichever security mechanisms and credential model are already in place on your SQL Server environment
#

Native Microsoft API Integration – No VSS Required

The MS SQL backup software from Bacula does not use VSS snapshots to perform the backup, so it is possible to specify “Enable VSS = no” in the Bacula FileSet. This MSSQL server backup solution achieves advanced backup and restore capabilities via the Microsoft API for SQL Server. Therefore we also support the security mechanisms and authentication types that come with Microsoft SQL Server.

#

Encryption and Compression

With Bacula Enterprise’s SQL Server backup compression capabilities you can enjoy the efficient backup with compression and hence – with much less network bandwidth utilization. Bacula’s security technologies include TLS encryption which allows you to send MS SQL backups securely from file to storage daemon.

Virtual Device Interface (VDI) Integration

The plugin communicates with SQL Server through Microsoft’s VDI technology, establishing a direct named pipe connection between Bacula and the database engine. This is what enables true native backup operations without intermediate file creation or snapshot dependencies.

#

Transaction Log Backups and Point-in-Time Recovery

Bacula Enterprise allows you to restore MSSQL set of data or a particular setting from a very precise time in the past. With full or bulk-logged recovery models you will be able to do PITR or use LSN information to restore to the exact state that you want to have. You can restore to exactly the required state of the database at a very specific point in time – even down to an exact second. From a Transaction log backup, a restore will compose the database state from a variety of chosen SQL Server backup types.

#

Backup Automation

With Bacula Enterprise’s scheduling capabilities and scripting features you’re able to implement SQL Server backup automation and reduce time to manage your backups. Backup jobs for your SQL Server can be launched using scripting logic and scheduler.

Two Distinct Restore Paths

Administrators can choose between direct plugin restore — where Bacula hands data back to SQL Server automatically and brings the database online — or restore to local disk, where backup files are written to a specified path for manual recovery using TSQL or the SQL Server Management Console. When restoring to disk, the required TSQL commands are printed directly in the job output.

MS SQL Backup Types in Detail

Full Backup

  • Complete Database Protection – Saves all database files and the transaction log, providing full recovery capability in the event of media failure
  • Committed Transactions Included – All committed transactions are captured; in-process transactions are rolled back at backup time

Differential Backup

  • Change-Only Capture – Records only data modified since the most recent Full backup, reducing backup size and window significantly
  • Automatic Chain Protection – If the referenced Full backup is detected as unavailable, Bacula can automatically promote the Differential job to a Full backup to preserve recoverability
  • Chain Integrity Is Critical – Without the base Full backup, Differential data cannot be used; Bacula’s promotion logic exists specifically to prevent this failure scenario

Transaction Log Backup

  • Implemented as Bacula Incremental – Transaction log backups run as Incremental-level jobs within Bacula’s scheduling framework
  • Full or Bulk-Logged Recovery Model Required – Databases using the simple recovery model cannot support transaction log backups or point-in-time recovery
  • Continuous Recovery Chain – Log backups maintain an unbroken chain from the last Full backup forward, enabling precise PITR

SQL Server Restore

Restores can be initiated using all standard Bacula methods. The MS SQL plugin extends the standard restore workflow with additional options accessible via either bconsole or the BWeb Management Suite restore tab:

  • Instance – Target a specific SQL Server instance for restore; defaults to the instance used at backup time
  • Database – Restore under a new database name; takes precedence over the Where parameter if both are set
  • Recovery – Control whether the database is brought online immediately (RECOVERY) or left in a restoring state for further log applies (NORECOVERY)
  • Stop_at / Stop_before_mark / Stop_at_mark – Fine-grained PITR controls; accepts a datetime, LSN number, or named mark
  • Restrict_user – Limits access to the restored database immediately upon recovery
  • Where / Replace – Standard Bacula parameters controlling restore destination path and behavior when data already exists

For cross-instance or rename restores, file relocation is handled automatically when a new path is specified via the Where parameter.

On Bacula System’s BWeb Management Suite, the Plugin Options are available in the restore tab.

 

Restore options tab when using BWeb Management Suite

Point In Time SQL Server Restore

This topic is relevant only for SQL Server databases that use the full or bulk-logged recovery models. Under the bulk-logged recovery model, if a log backup contains bulk-logged changes, point-in-time recovery is not possible to a point within that backup. The database must be recovered to the end of the transaction log backup.

It is possible to do Point In Time Restore of a MS SQL database directly from the MS SQL Plugin. It is also possible to restore files locally and do the operation from the Microsoft SQL Server Management Console to have more options.

LSN Information

LSNs are used internally during a RESTORE sequence to track the point in time to which data has been restored. When a backup is restored, the data is restored to the LSN corresponding to the point in time at which the backup was taken.

The LSN of a log record at which a given backup and restore event occurred is viewable using one or more of the following:

  • Bacula Backup job output
  • Log file names
  • msdb.backupset table
  • msdb.backupfile table

During a backup job with MS SQL module, the following information about LSN numbers will be displayed in the Job output:

win-fd JobId 3: LSN for “db29187”: First: 42000146037, Last: 44000172001

The First LSN number corresponds to the last LSN of the last transaction logs backup. It can be the very first Full backup, or the last transactional backup (Incremental). The Last LSN number corresponds to the last transaction recorded in the log.

With a transaction log backup (Incremental), the file name associated with this database in the Incremental job will be:

/@mssql/MSSQLSERVER/db29187/log-42000162001.trn

The number in the name, here 42000162001 corresponds to the last LSN of the previous job (Full or Incremental).

In the example showed on Fig 2, if the administrator needs to restore the database at the state that corresponds to LSN 14, it can be done with the following actions:

  • Use restore menu option 5
  • Browse the database directory “/@mssql/db29187”
  • Select last Full backup file “data.bak” (LSN: 10)
  • Select incremental backup “log-10.trn”
  • Specify the stop_at_mark option to “lsn:14”
  • Run the restore job

or if the last full SQL backup is not available but the previous full backup is.

  • Use restore menu option 3, select the relevant jobids
  • Browse the database directory “/@mssql/db29187”
  • Select Full backup file “data.bak” (LSN: 2)
  • Select incremental backups “log-2.trn”, “log-3.trn”, “log-10.trn”
  • Specify the stop_at_mark option to “lsn:14”
  • Run the restore job

SQL Restore Scenarios Overview

Description Where Database Example
Restore files to disk Path where=c:/tmp
Restore original database where=/
Restore with a new name Name where=newdb
Restore with a new name Name database=newdb
Restore with a new name and file relocation Path Name where=c:/tmp
database=newdb

What Bacula Enterprise Brings to Every Deployment

Security and Compliance

  • AES 256-Bit Encryption at Rest and in Transit – Military-grade encryption applied to all backup data, both in storage volumes and across network connections
  • Multiple Cipher Support – Choose from AES 128, AES 192, AES 256, or Blowfish depending on performance and compliance requirements
  • FIPS 140 Compliant Cryptographic Modules – Meets federal standards required by government agencies and heavily regulated industries
  • Multi-Factor Authentication – TOTP-based MFA for administrative access via smartphone biometric verification
  • LDAP and Active Directory Integration – Centralized authentication through existing directory infrastructure
  • Role-Based Access Control – Granular permission layers enforce separation of duties across backup administration teams
  • BGuardian Ransomware Detection – Identifies anomalous data patterns in backup volumes consistent with active ransomware encryption
  • Immutable Volume Support – WORM tape and append-only volume modes prevent modification or deletion of backup data after writing
  • Cloud Immutability – WORM-compliant object storage for S3, Azure Blob, Google Cloud, and Oracle Cloud environments
  • 3-2-1-1 Protection Strategy – Three copies, two media types, one offsite location, one immutable copy — fully implementable within a single Bacula deployment
  • SIEM Integration – Compatible with Wazuh/OSSEC for centralized log analysis and security event management
  • Regulatory Framework Coverage – Documented compliance support for GDPR, PCI-DSS, HIPAA, SOX, and military security standards

Hybrid Infrastructure Support

  • Broad Virtualization Coverage – Native integration with VMware vSphere, Hyper-V, KVM, Red Hat Virtualization, Xen, Azure VM, Proxmox, and Nutanix AHV
  • Physical and Virtual Under One Roof – Manage backup policies for physical servers and virtual machines from a single interface
  • Container and Cloud-Native Environments – Protection for Docker, Kubernetes, and OpenShift workloads including persistent volume backups
  • Multi-Cloud Storage – Native connectivity to S3, Azure Blob, Google Cloud Storage, Oracle Cloud, and Glacier-compatible interfaces
  • Database Coverage – Hot backup support for Oracle, SQL Server, MySQL, PostgreSQL, MariaDB, SAP HANA, and Sybase with application-consistent recovery
  • Cross-Platform File System Support – Consistent policy management across Linux, Windows, UNIX, and network-attached storage environments

Performance and Scalability

  • Block-Level Deduplication – Only new blocks are stored; existing data is referenced rather than duplicated, reducing storage consumption significantly
  • Parallel Job Execution – Configurable concurrent threads and channels distribute backup workload across available CPU, network, and storage resources
  • Bandwidth Throttling – Fine-grained controls prevent backup operations from saturating production network capacity
  • Near Continuous Data Protection (NCDP) – Reduces RTO and RPO to minutes for mission-critical workloads
  • Snapshot Integration – Minimize backup windows through efficient snapshot-based approaches and incremental imaging
  • Scales to Any Deployment Size – Architecture supports thousands of protected endpoints from a single Director without performance degradation

Centralized Management

  • BWeb™ Management Suite – Browser-based interface with real-time monitoring, drag-and-drop job scheduling, and detailed reporting dashboards
  • Full Command-Line Control – Complete CLI access for scripting, automation, and advanced administration alongside the GUI
  • Multi-Tenant Support – Isolated tenant environments with customizable access and branding for MSPs and large enterprise teams
  • Automated Reporting – Scheduled delivery of backup status, storage utilization, performance metrics, and compliance documentation
  • Enterprise System Integration – Connects with existing ITSM platforms, monitoring tools, and directory services for unified workflow management
  • Automatic Environment Discovery – Detects backup targets including SQL Server instances without manual inventory management

Further help on SQL backup:

Frequently Asked Questions

Does Bacula’s MS SQL plugin use VSS to perform backups?

No. The plugin communicates directly with SQL Server through Microsoft’s Virtual Device Interface and does not rely on VSS snapshots at any point in the backup process.

Can I restore to a different SQL Server instance or under a new database name?

Yes. The plugin’s restore options include an Instance parameter for targeting a different SQL Server instance, and a Database parameter for restoring under a new name. If both the Where parameter and the Database option are set, Database takes precedence for naming. File relocation is handled automatically when restoring to a new path.

What happens if the Full backup referenced by a Differential is unavailable?

Bacula detects this condition automatically. If the base Full backup cannot be found, the Differential job can be promoted to a Full backup to ensure the chain remains intact and the data remains recoverable.

What is the difference between the two restore paths?

Direct plugin restore hands the data back to SQL Server automatically and brings the database online without manual intervention. Restore to local disk writes the backup files to a specified path, leaving the administrator to complete recovery using TSQL commands or the SQL Server Management Console — useful when more granular control over the restore process is needed. In either case, the relevant TSQL commands are printed in the Bacula job output for reference.

Can I restore the master database using this plugin?

The master database should always be included in backup schedules — if it is damaged, the SQL Server instance may be unable to start. However, master databases only support full database backups; differential and transaction log backups are not available for those. Restoration of master databases follows Microsoft’s standard rebuild-then-restore procedure.