Sometimes it's useful to make changes to a snapshot before cloning it to other environments. SQL Clone allows you to save duplicate data storage by taking a snapshot of a clone.

 

Save-InstantCloneSnapshot -DatabaseName AdventureWorks -SnapshotName AWSnap1

 

New-InstantCloneClone -NewDatabaseName AWCloneA -SnapshotName AWSnap
New-InstantCloneClone -NewDatabaseName AWCloneB -SnapshotName AWSnap

Make any edits to these database - in this example 2GB and 1GB of data are changed respectively.

Save-InstantCloneSnapshot -DatabaseName AWCloneA -SnapshotName AWSnapA

Note how AWCloneA is now much smaller, and has AWSnapA as a parent. During this snapshot operation, the clone AWCloneA was temporarily taken offline, and its underlying diff disk is frozen as a snapshot. The clone is brought back online connected to a new diff disk. This method avoids duplicating data between AWSnapsA and AWCloneA.

Advanced example

This operation can be repeated many times. Here AWCloneA has been periodically snapshotted, with AWCloneA3Clone taken from one of those snapshots.