Add a Watchdog to SQL Server Snapshot Backup Freezes

Run the snapshot workflow and its safety timer from separate control paths. Before suspending write I/O, start an independent SQL Server Agent watchdog that checks the suspension age and issues the matching OFF command when the storage snapshot or metadata backup never completes.

Last updated: October 7, 2026.

DECLARE @MaximumFreezeMs bigint = 120000;

IF SERVERPROPERTY('IsServerSuspendedForSnapshotBackup') = 1
   AND EXISTS (
       SELECT 1
       FROM sys.dm_server_suspend_status
       WHERE is_write_io_frozen = 1
         AND suspend_time_ms >= @MaximumFreezeMs
   )
BEGIN
    RAISERROR('Snapshot backup freeze exceeded the safety limit.', 10, 1)
        WITH LOG;

    ALTER SERVER CONFIGURATION
        SET SUSPEND_FOR_SNAPSHOT_BACKUP = OFF;
END;

Schedule this job frequently enough to meet the maximum acceptable write freeze. It handles a server- or group-level suspension. If the backup process suspends individual databases with ALTER DATABASE, the watchdog must iterate the rows in sys.dm_server_suspend_status and issue a safely quoted ALTER DATABASE ... OFF for each one.

Do not depend on the snapshot client to clean up itself

A TRY...CATCH block in the client workflow is useful when the storage command returns an error, but it cannot run after the client host loses power or its connection disappears. Put the watchdog in SQL Server Agent or another supervisor that does not share the same process, network session, or failure domain.

Microsoft’s snapshot backup guide includes a troubleshooting script that detects and thaws suspended databases. The sys.dm_server_suspend_status reference exposes the suspension duration and write-freeze state used above.

Choose the limit from tested snapshot duration

The limit must exceed normal storage-snapshot time but remain well below the outage the application can tolerate. Record the start, storage snapshot identifier, thaw result, and metadata-backup result in an audit table. Alert whenever the watchdog intervenes; an automatic thaw protects availability but means the attempted snapshot backup must not be treated as valid.

After a successful storage snapshot, complete BACKUP ... WITH METADATA_ONLY, verify the metadata file, and cancel or disable the one-run watchdog job. Continue with restoring a metadata-only snapshot backup, verifying SQL Server backups, and backup access troubleshooting.

Related Web Cheat Sheet guides

Sergey Kornilov

Sergey Kornilov