[SQL Server]更棒的DBCC CLONEDATABASE

DBCC  CLONEDATABASE允許你複製資料庫,但不會複製任何資料,

可是卻保有所有統計資料(statistics),而且在SQL2016又更棒了。

SQL2016對DBCC CLONEDATABASE有所加強(SQL2014 SP2開始就有該命令),

執行時可以連同QueryStore一起複製(也包含統計資料),

這意味你不會發生查詢執行計畫和正式環境不同,進而導致無法模擬進行效能排除,

因為你可以在測試環境進行索引、效能調校..斗後,所得到的效能改善數據,基本就是在模擬正式環境。

CLONEDATABASE

1.copy database without data

2.keep all statistics objects

3.copy database with QueryStore(even better in SQL2016)

 

Scenarico

1.Quick Create Database for Test or development environments

2.Resolving issues with query performance

....

 

How to do it

DBCC CLONEDATABASE('DemoQueryStore','DemoQueryStore_Clone');

Clone後是Readonly且包含Querystore,

現在你可以執行backup and restore to test or development environments。

 

參考

如何使用 DBCC CLONEDATABASE 來產生 SQL Server 2014 SP2 和 SQL Server 2016 SP1 中的使用者資料庫的結構描述和統計資料唯一複本