How to fix Error 1816 on Windows Server 2025 / Windows 11

Why This Error Happens

SQL Server Error 1816 occurs because database snapshots are an engine-level feature that is explicitly blocked against system databases such as master, model, and msdb. This restriction exists because system databases control core server metadata and configuration, and creating a point-in-time snapshot of them could lead to catastrophic inconsistencies if the snapshot were ever reverted to. The error is almost always triggered by a script, maintenance job, or third-party backup tool that was mistakenly pointed at a system database instead of a user database.

Step-by-Step Resolution Guide

Step 1: Identify the Source of the Snapshot Command

  • Open SQL Server Management Studio (SSMS) and check the job history or script that issued the CREATE DATABASE ... AS SNAPSHOT OF command.
  • Look at SQL Server Error Logs (C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG) for the exact timestamp and query context tied to Event ID 1816.
  • Confirm whether the target database name resolves to master, model, msdb, or tempdb.

Step 2: Correct the Target Database in the Script or Job

  • Edit the T-SQL script, SQL Agent Job step, or automation tool configuration to point to a valid user database instead of a system database.
  • Example of a corrected syntax:
  CREATE DATABASE SalesDB_Snapshot ON
  ( NAME = SalesDB, FILENAME = 'D:\SQLData\SalesDB_Snapshot.ss' )
  AS SNAPSHOT OF SalesDB;
  • Double-check any PowerShell or dbatools automation (New-DbaDbSnapshot) to ensure the -Database parameter excludes system databases.

Step 3: Audit Third-Party Backup or HA Tools

  • Review backup software (e.g., Veeam, NetBackup, or custom scripts) configured for “Application-Aware” SQL Server backups, as some incorrectly attempt snapshots on all databases including system ones.
  • Exclude master, model, msdb, and tempdb from any snapshot-based backup policies in the tool’s configuration panel.

Step 4: Restart the SQL Server Service (If Job State Persists)

  • If a stuck or orphaned snapshot job is still causing repeated failures, restart the SQL Server service via Services.msc or PowerShell:
  Restart-Service -Name 'MSSQLSERVER' -Force
  • Confirm the SQL Server Agent service also restarts cleanly to clear any queued job states referencing the invalid snapshot operation.

Alternative or Verification Steps

  • Verify the fix by manually re-running the corrected snapshot command against a user database only, and confirm it completes without Error 1816 in the ERRORLOG.
  • As an alternative, use native Database Backup (Full/Differential) instead of snapshots for any system database protection needs, since snapshots were never a supported method for master, model, or msdb.