在資料庫升級時,為防止升級失敗造成的影響,我們通常需要:
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'