標籤:檔案路徑 有用 位元影像 database 17. ssms 沒有 rom 指令碼
差異備份 (differential backup)定義
一種資料備份,基於完整資料庫或部分資料庫或一組資料檔案或檔案組(差異基底)的最新完整備份,並且僅包含自確定差異基底以來發生更改的資料。
使用SSMS資料庫管理工具進行資料庫差異備份
1、選擇資料庫-》右鍵點擊-》選擇任務-》選擇備份。
2、在備份資料庫彈出框中-》選擇備份類型為差異-》然後刪除系統產生的目標檔案-》然後點擊添加。
3、在選擇備份目標彈出框中-》點擊選擇備份路徑。
4、在定位元據庫檔案彈出框中,先選擇需要備份的檔案路徑,然後資料備份檔案名稱,點擊確定。
5、在備份資料庫彈出框,點擊確定。
6、查看備份是否成功。
使用SSMS資料庫管理工具進行資料庫差異還原
差異備份與還原須知:差異備份是上次完整備份之後發生改變的副本。所以還原是需要上次的完整備份和最近一次差異備份。差異備份有兩步操作,第一步為還原資料庫,第二步還原差異部分。
還原資料庫步驟
1、選擇資料庫-》右鍵點擊-》選擇任務-》選擇還原-》選擇資料庫。
2、在還原資料庫彈出框中-》先點擊裝置-》再點擊還原檔案路徑。
3、在選擇備份裝置彈出框中-》點擊添加檔案。
4、在定位備份檔案彈出框中-》先選擇檔案夾-》再選擇要還原的檔案-》點擊確定。
5、進入還原模式。
6、覆蓋現有資料庫可不勾選-》選擇資料庫復原模式為設定為NORecorvery。
7、查看資料庫狀態。
還原差異檔案步驟
1、選擇要還原的資料庫-》右鍵點擊-》選擇任務-》選擇還原-》選擇檔案和檔案組。
2、在還原檔案和檔案組彈出框-》選擇裝置-》選擇檔案還原路徑。
3、在選擇備份裝置彈出框-》選擇添加。
4、在定位備份檔案彈出框-》選擇要還原的差異檔案-》點擊確定。
5、在還原檔案和檔案組彈出框-》選擇檔案-》點擊選項。
6、選擇恢複狀態-》點擊確定。
7、還原結果。
使用T-SQL指令碼進行差異備份
文法:backup database 資料庫名 to disk=檔案路徑 with differential;
樣本:backup database testss to disk=‘D:\SqlTest\backup\t3.bak‘ with differential;
使用T-SQL指令碼進行差異還原
文法:第一步先指定資料庫復原模式:restore database 資料庫名 from disk=資料庫檔案 with norecovery ;
第二步再恢複差異備份:restore database 資料庫名 from disk=差異檔案 with recovery;
樣本:第一步先恢複備份資料庫:restore database testss from disk=‘D:\SqlTest\backup\testss.bak‘ with norecovery ;
第二步再恢複差異備份:restore database testss from disk=‘D:\SqlTest\backup\t3.bak‘ with recovery;
(注意資料庫如果存在,可刪除或者使用覆蓋先有資料庫)
總結
優點:1、與建立完整備份相比,建立差異備份的速度可能非常快。 差異備份只記錄自差異備份所基於的完整備份後更改的資料。 這有助於頻繁地進行資料備份,減少資料丟失的風險。 但是,在還原差異備份之前,必須先還原其基準。 因此,從差異備份進行還原必然要比從完整備份進行還原需要更多的步驟和時間,因為這需要兩個備份檔案。
2、如果資料庫的某個子集比該資料庫的其餘部分修改得更為頻繁,則差異Database Backup特別有用。 在這些情況下,使用差異Database Backup,您可以頻繁執行備份,並且不會產生完整Database Backup的開銷。
3、在完整復原模式下,使用差異備份可以減少必須還原的記錄備份的數量。
缺點:差異備份基於最後一次完整備份的差異,那麼,對於一個繁忙的資料庫,在一段時間內做了幾次差異備份,無論這中間有多少次Checkpoint,SQL Server依然將這些基於完整備份的差異頁面放入差異備份檔案,按道理來說,一個頁面在一次Checkpoint之後,如果沒有再發生任何修改,那麼是不需要放入差異備份檔案裡面的(如果是基於最後一次差異的差異),因為差異位元影像無法基於差異的差異,這樣會導致,有時候差異備份檔案比完整備份檔案還要大。
SQLServer資料庫差異備份