The database snapshot feature is made available in all editions starting with SQL Server 2016 SP1.
A database snapshot is a read-only, static view of a SQL Server database (the source database). The database snapshot is transactionally consistent with the source database as of the moment of the snapshot’s creation. A database snapshot always resides on the same server instance as its source database.
CREATE DATABASE <database_snapshot_name> ON ( NAME =<logical_file_name>, FILENAME ='<os_file_name>' ) [ ,...n ] AS SNAPSHOT OF <source_database_name>
The .ss
extension used in the examples is arbitrary.
CREATE DATABASE AdventureWorks_dbss1800 ON ( NAME = AdventureWorks, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks_data_1800.ss' ) AS SNAPSHOT OF AdventureWorks; GO
Revert the entire database using restore operation
RESTORE DATABASE <database_name> FROM DATABASE_SNAPSHOT =<database_snapshot_name>
Reference
https://www.sqlshack.com/understanding-database-snapshots-vs-database-backups-in-sql-server/