A. No, they’re very different. A VSS snapshot is designed to create a consistent copy of a machine that can be used in a production environment. VSS does this by notifying running services that a snapshot is about to be taken, allowing the services to flush data from memory to disk. Flushing the contents of memory ensures that the information on disk is consistent and suitable for backing up.
A VM snapshot is designed to take a complete point-in-time copy of a VM. If the VM is running when the VM snapshot is taken, the snapshot is called an online snapshot. Online snapshots include a copy of the VM’s memory and process information in addition to the virtual disk’s contents and the configuration XML. If the VM isn’t running when a snapshot is taken, it’s an offline snapshot, and only the configuration XML and virtual disk contents are stored.
If an online VM snapshot is restored, the machine will start in the same state as when the snapshot was taken—including all processes and memory contents. Restoring processes and memory contents is fine in a test environment but isn’t suitable in a production environment. For example, a SQL Server instance that you restore using a VM snapshot from a previous point in production would still have active connections and running processes for machines that are no longer connected.