簡體   English   中英

如何在SQL Server中進行快速差異備份和還原

[英]How to do a quick differential backup and restore in SQL Server

我正在使用SpecFlow和Selenium在我的ASP.NET MVC網站上進行UI測試。 我希望能夠在完成測試套件后將數據庫(SQL Server 2012)恢復到其預測試條件,並且我希望盡快完成。 我可以使用replace(或使用STOPAT)進行完整備份和恢復,但這需要一分鍾,差異備份本身只需幾秒鍾。 我想基本上設置一個還原點,然后盡快恢復它,刪除自備份以來所做的任何更改。 在我看來,這應該能夠非常快速地完成,而不需要覆蓋整個數據庫。 這是可能的,如果是的話,怎么樣?

沒有差異備份。 差異備份是指自上次完全備份以來已更改的所有數據頁的映像。 要恢復差異備份,必須先恢復它的基本(即完整)備份,然后再恢復差異。

您要求的是一些跟蹤自備份以來的更改的過程。 這就是數據庫快照將閃耀的地方。 它是一種寫入時復制技術,也就是說,當您進行數據修改時,它會在寫入更改之前將數據頁的更改前狀態寫入快照文件。 因此,恢復很快,因為它只需從快照中撤回那些已更改的頁面。 查看CREATE DATABASE文檔中的“創建數據庫快照”示例。

請記住,這並不是一個防止失敗的好方法(這是備份的原因之一)。 但對於您描述的用例,它聽起來很合適。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM