Restore a SQL Server METADATA_ONLY Snapshot Backup

A SQL Server snapshot backup consists of storage-level snapshots plus a small metadata backup file. The .bkm file does not contain the database pages. Mount or attach the snapshot volumes first, then restore each database represented in the metadata backup.

Last updated: October 5, 2026.

RESTORE HEADERONLY
FROM DISK = 'D:\Backup\server-snapshot.bkm'
WITH METADATA_ONLY;

RESTORE FILELISTONLY
FROM DISK = 'D:\Backup\server-snapshot.bkm'
WITH METADATA_ONLY, FILE = 3, DBNAME = 'Sales';

RESTORE DATABASE Sales
FROM DISK = 'D:\Backup\server-snapshot.bkm'
WITH METADATA_ONLY,
     FILE = 3,
     DBNAME = 'Sales',
     MOVE 'Sales_Data' TO 'D:\Snapshot\Sales.mdf',
     MOVE 'Sales_Log' TO 'D:\Snapshot\Sales_log.ldf',
     REPLACE;

Use RESTORE HEADERONLY to find the backup-set position, then RESTORE FILELISTONLY to confirm logical file names. FILE chooses the backup set; DBNAME chooses a database inside a server or group snapshot backup.

Restore databases individually

BACKUP SERVER ... WITH METADATA_ONLY can record every eligible database in one snapshot backup, but restore still targets a database. There is no matching RESTORE SERVER command. Repeat RESTORE DATABASE for each database you intend to recover, using DBNAME when the desired database is not the first one represented in the selected set.

Microsoft’s Transact-SQL snapshot backup guide documents the inspection and restore sequence, including multi-database examples.

Map the mounted snapshot files correctly

The paths in MOVE must refer to the database and log files exposed from the mounted snapshot. If the target instance uses different drive letters or directories, map every logical file returned by RESTORE FILELISTONLY. Use NORECOVERY only when another log backup must be applied before the final recovery step.

Confirm that the SQL Server service account can read the mounted snapshot paths. Use REPLACE only when intentionally overwriting an existing database, because it bypasses several safeguards. For a new name, change the target database name and destination paths while retaining the logical names reported by the backup metadata.

The RESTORE reference identifies METADATA_ONLY and SNAPSHOT as synonyms for this SQL Server 2022 feature. Continue with backup verification, restoring to another server, and restoring under a different name.

Related Web Cheat Sheet guides

Sergey Kornilov

Sergey Kornilov