Faster way to restore a MSSQL DB hosted on storage spaces.

Tinku Kumar 0 Reputation points
2025-09-22T07:17:43.2133333+00:00

Problem Summary

We need a faster way to restore SQL Server Always On Availability Groups (AGs) that use Windows Storage Spaces, with each database on its own pool, from Nutanix app-consistent storage snapshots.

Challenge

Even with a per-DB pool, a snapshot clone keeps the same PoolId/MemberId. When we attach the snapshot to multiple WSFC nodes, the spaceport driver treats it as a duplicate pool and blocks import.The usual fallback—restoring only the primary and reseeding secondaries—is too slow for multi-terabyte DBs.

Question  

Is there a supported way to either:

  • Mount the same Storage Spaces snapshot pool on all WSFC nodes without PoolId/MemberId conflict, or
  • Any other way like perform a coordinated multi-node VSS snapshot so all AG replicas can be restored to a common point without lengthy reseeding?

Any guidance from the Storage Spaces or WSFC team would be greatly appreciated.

SQL Server Database Engine
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Nithin Krishna Madadi 0 Reputation points Microsoft External Staff Moderator
    2025-10-23T10:05:12.9766667+00:00

    Hi @Efren Tello ,

    Thanks for reaching out to the Microsoft Q & A Forum.

    Mounting the same storage spaces snapshot pool on all WFSC nodes is not supported,

    A Storage Spaces pool’s identity (the pool’s UniqueId/PoolId and each member’s metadata) is part of the on‑disk metadata. When you block‑clone the pool (via an array/VM snapshot) and attach those members to another host, the SpacePort driver sees the same pool identity and treats it as a duplicate to prevent split‑brain; import is blocked by design. If your goal is shared access to the same pool across nodes, the supported approach is to use Clustered Storage Spaces/Storage Spaces Direct (S2D), where the pool is cluster‑wide and accessed via CSV across all nodes. That is a different storage architecture than AG (which assumes independent storage per replica), but it’s the only supported way to have a common pool identity across nodes.

    I hope this information helps. Please do let us know if you have any further queries.
    Thank you

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.