Snapshot--使用Snapshot來還原資料庫

weixin_33831673發表於2014-02-10

在資料庫升級時,為防止升級失敗造成的影響,我們通常需要:

1.準備回滾指令碼,用於失敗後回滾

2.在升級前備份資料庫,用於失敗後恢復

但回滾指令碼需要花費很長時間準備,而備份恢復會導致資料庫長時間不可用,為解決此類問題,可以使用資料庫快照,資料庫快照生成速度和還原速度都遠快於備份,且操作簡單。

 

--==========================================================
--建立資料庫快照
CREATE  DATABASE BackupTestDB_SNAP ON (NAME='BackupTestDB',
FILENAME='D:\DB\BackupTestDB.snap')
,(NAME='BackupTestDB_F1',FILENAME='D:\DB\BackupTestDB_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'

 

相關文章