2017-02-20 86 views
0

如果我想測試我的數據庫與我的軟件,我可以只複製數據庫和日誌文件,並在測試後恢復以前的文件?如何快速備份數據庫並將其恢復到以前的版本?

它會工作,數據庫將安全嗎? DB目前處於離線狀態,沒有客戶端,但我不想破壞它,我需要一種快速的方式來恢復原始版本。

不幸的是,我無法創建另一個數據庫。所以我只能在這個單一的工作。

回答

0

備份是數據庫在其被採取時的副本。您需要執行完全備份:https://msdn.microsoft.com/en-us/library/ms186289.aspx

這適用於我所知道的任何數據庫引擎。您可以完美備份數據庫,運行腳本並進行恢復。這會使數據庫與運行腳本之前的方式相同。

順便說一句,你不需要把數據庫離線做備份。但是,當您執行還原時,數據庫將被置於脫機狀態,因此請注意這一點。

+0

我的擔心是有關恢復DB的這一進程的速度。 對於大小大於30 GB的數據庫,速度足夠快嗎? 也許複製這些數據庫文件將是足夠和安全的? – Wiktor

+0

除非您卸下數據庫然後重新附加,否則您將無法複製這些文件。恢復速度很快,但當然取決於服務器。如果您必須在具有1個內核和2個內存的服務器中恢復30 GB數據庫,則很可能需要時間。如果您正在使用64 GB ram和RAID 10恢復16核的數據庫,則可能需要幾秒鐘的時間。數據庫大小不是瞭解性能的一種方法。如果您需要知道需要多長時間,請嘗試在企業負擔能夠使數據庫脫機的時間進行恢復,並查看運行需要多長時間。 – asemprini87

+0

也許你可以檢查以下內容:https://www.brentozar.com/archive/2010/02/how-to-make-sql-server-backups-and-restores-faster/ – asemprini87

0

這是一個快速腳本備份數據庫:

SET @fileName = <Backup path> + <Backup file name> + '.BAK' 
    BACKUP DATABASE @name TO DISK = @fileName