Snapshot--使用Snapshot来还原数据库

在数据库升级时,为防止升级失败造成的影响,我们通常需要:

1.准备回滚脚本,用于失败后回滚

2.在升级前备份数据库,用于失败后恢复

但回滚脚本需要花费很长时间准备,而备份恢复会导致数据库长时间不可用,为解决此类问题,可以使用数据库快照,数据库快照生成速度和还原速度都远快于备份,且操作简单。

--==========================================================
--创建数据库快照
CREATE  DATABASE BackupTestDB_SNAP ON (NAME='BackupTestDB',
FILENAME='D:DBBackupTestDB.snap')
,(NAME='BackupTestDB_F1',FILENAME='D:DBBackupTestDB_F1.snap')
AS SNAPSHOT OF BackupTestDB;
GO
--==========================================================
--在源数据库中增加表TB4
USE BackupTestDB
GO
SELECT 1 AS ID INTO TB4
--==========================================================
--使用快照还原数据库BackupTestDB
--还原结束后发现表TB4已不存在
USE master
GO
RESTORE DATABASE BackupTestDB
FROM DATABASE_SNAPSHOT='BackupTestDB_SNAP'

原文地址:https://www.cnblogs.com/TeyGao/p/3542639.html