Service Pack 1 in SQL Server 2016 introduces new management command "DBCC CLONEDATABASE". This command will generate a schema and statistics in the new database, which is in a state with READ_ONLY. When we look in more detail what this command does:

Creates a new destination database and internal snapshot of database.

Copies all schema for object, system metadata and statistics for all indexes.

Creates primary data file(.mdf) and log file(.ldf).

Add secondary dataspaces and files.

This DBCC command is supported in Microsoft SQL Server 2014 Service Pack 2 and SQL Server 2016 SP1.

Syntax of DBCC CLONEDATABASE is following:

Arguments source_database_name, target_database_name are clear.

- NO_STATISTICS - If you type this parameter then in clone of database will not table/index statistics.

- NO_QUERYSTORE - If you type this Argument, QUERYSTORE will be excluded in clone database.(only SQL 2016 SP1)

Let's show some example:

Database cloning for 'Pigeon_DB' has started with target as 'Pigeon_DB_Clone'. Database cloning for 'Pigeon_DB' has finished. Cloned database is 'Pigeon_DB_Clone'. Database 'Pigeon_DB_Clone' is a cloned database. A cloned database should be used for diagnostic purposes only and is not supported for use in a production environment. DBCC execution completed. If DBCC printed error messages, contact your system administrator.

In Management Studio The new database will look like this:


See you soon!