Troubleshooting Guide: Error 3094 – “Server has no user databases to suspend for snapshot backup”
Why This Error Happens
This error occurs when SQL Server’s VSS Writer (SqlServerWriter) attempts to initiate a snapshot-based backup but finds no user databases in a state eligible for VSS snapshotting on the target instance. This typically happens because all user databases have been excluded from the backup component selection, are in a non-ONLINE state (such as OFFLINE, RESTORING, or SUSPECT), or the backup application is incorrectly targeting an instance that only hosts system databases. It can also occur if database ownership, filtering rules, or third-party backup software configurations unintentionally exclude every database from the VSS writer’s metadata document.
Step-by-Step Resolution Guide
Step 1: Verify Database States and Visibility
- Open SQL Server Management Studio (SSMS) and connect to the target instance.
- Run the following query to confirm database status:
SELECT name, state_desc, is_read_only FROM sys.databases;
- Confirm at least one user database shows
ONLINEas the state_desc; databases in RESTORING, OFFLINE, or EMERGENCY mode will be skipped by the VSS writer.
Step 2: Confirm SQL Server VSS Writer Is Running and Registered
- Open an elevated Command Prompt on Windows Server 2025 / Windows 11.
- Run
vssadmin list writersand locate “SqlServerWriter” in the output. - If the writer is missing or shows an error state, restart it via:
net stop "SQLWriter"
net start "SQLWriter"
- Check that the SQL Server VSS Writer service (SQLWriter) is set to Automatic startup in
services.msc.
Step 3: Review Backup Application Component Selection
- Open your backup software’s job configuration (e.g., Windows Server Backup, Veeam, or third-party agent).
- Confirm that user databases are explicitly selected under the SQL Server component tree, not just the instance or system databases.
- Ensure no exclusion filters or wildcards are unintentionally omitting all user databases from the backup set.
Step 4: Validate Instance Targeting and Permissions
- Confirm the backup job is pointed to the correct named instance (e.g.,
SERVERNAME\INSTANCENAME) rather than defaulting to MSSQLSERVER if a named instance hosts the user databases. - Verify the service account running SQL Server and the SQLWriter service has sysadmin or appropriate VIEW SERVER STATE / VIEW ANY DATABASE permissions.
- Check
%ProgramFiles%\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOGfor related permission-denied entries at the time of the failed backup.
Step 5: Rebuild VSS Writer Metadata Cache
- If databases are confirmed healthy but the error persists, restart the VSS infrastructure with:
net stop VSS
net stop SQLWriter
net start SQLWriter
net start VSS
- Re-run
vssadmin list writersto confirm “SqlServerWriter” reports “No error” as its last status.
Alternative or Verification Steps
- After applying fixes, trigger a manual test backup using
vssadmin create shadow /for=C:(or your backup tool’s test/dry-run mode) and confirm the job logs show at least one user database included in the snapshot set. - If the error persists despite healthy databases, uninstall and reinstall the SQL Server VSS Writer component via Add/Remove Programs → Microsoft SQL Server 2025 → Repair, then reboot the server to fully re-register the writer with the VSS framework.