如何從 Bak 文件中恢復 SQL 數(shù)據(jù)庫?(3種方法)
如何從 Bak 文件中恢復 SQL 數(shù)據(jù)庫?以下是您可以嘗試的 3 種方法,以及一種簡單的替代方法,可幫助您靈活地從備份中恢復數(shù)據(jù)庫。
如何從 Bak 文件中恢復 SQL 數(shù)據(jù)庫?以下是您可以嘗試的 3 種方法,以及一種簡單的替代方法,可幫助您靈活地從備份中恢復數(shù)據(jù)庫。
成功備份SQL Server后,您將獲得一個 bak 文件,可用于通過 SSMS、Transact-SQL、命令行等方式從備份恢復sql數(shù)據(jù)庫。
在這篇文章中,我將介紹這些常用的方法,以及一種從 Bak 文件中恢復 SQL 數(shù)據(jù)庫的簡單替代方法。繼續(xù)閱讀并選擇您喜歡的方式。
“注意”:以下所有方法僅支持將數(shù)據(jù)庫從低版本還原到相同或更高版本,例如從SQL Server2012 到 2016。如果要將數(shù)據(jù)庫遷移到更低版本,請參考這里指導.
與備份一樣,SSMS 還包括一個還原向?qū)?,可直觀地指導您完成整個過程。要使用它,請連接到您要將數(shù)據(jù)庫恢復到的實例。
1. 右鍵單擊??數(shù)據(jù)庫并在菜單中選擇恢復數(shù)據(jù)庫...。
2. 在彈出的窗口中,選擇“Source”作為Device,然后點擊...圖標“添加”bak文件。如果找不到,請定位到它的保存路徑并輸入它的全名(包括.bak)來指定它。
3.如果沒有問題,備份信息將顯示在Restore Database窗口中,然后您可以單擊“確定”從bak文件中恢復SQL數(shù)據(jù)庫。
除了按照向?qū)нM行操作外,您還可以使用查詢在SQL Server中恢復數(shù)據(jù)庫。只要您了解 T-SQL 語句,這實際上是一種更簡單的從bak文件命令行恢復sql數(shù)據(jù)庫的方法。
1. 單擊“新建查詢”打開 SQLQuery 窗口。在其中輸入恢復命令:
例如,如果我想從 D:\Backup 中的完整備份“example.bak”恢復 SQL數(shù)據(jù)庫“example”,那么命令將是:
2. 點擊“執(zhí)行”按鈕運行命令,您將在下面的“消息”中看到備份狀態(tài)。
要從差異備份中恢復,您需要提前用 WITH NORECOVERY 恢復上一次完整備份,因此命令將如下所示:
“注意:”第一個bak文件應該是完整備份文件,第二個應該是差異備份文件。
在還原過程中,您可能會收到一條錯誤消息“數(shù)據(jù)庫的日志尾部尚未備份。如果日志包含您不想丟失的工作,請使用 BACKUP LOG WITH NORECOVERY 備份日志。使用 RESTORE 語句的 WITH REPLACE 或 WITH STOPAT 子句來覆蓋日志的內(nèi)容”。
這是因為您嘗試還原的備份文件比目標數(shù)據(jù)庫舊。要解決它,您可以按照消息中提到的提示進行操作:
1. 事先用 WITH NORECOVERY 備份事務日志,然后再次嘗試恢復 bak 文件。
2. 使用 WITH REPLACE 或 WITH STOPAT 子句恢復數(shù)據(jù)庫。
或者,您可以使用命令行恢復 SQL 數(shù)據(jù)庫,而無需啟動 SSMS - 這需要 SQLCMD,它在 2014 年及更低版本中隨SQL Server一起提供。如果您正在運行更高版本,請下載它這里.
在上一篇文章中,我已經(jīng)解釋了如何使用命令行備份SQL Server數(shù)據(jù)庫,您可以點擊鏈接以獲取更多詳細信息。這里我將重點介紹如何從 Bak 文件中恢復 SQL 數(shù)據(jù)庫。
1、按Win+R,在輸入框中輸入“cmd”。單擊“確定”以打開命令提示符。
2. 然后,將此命令與您自己的服務器名稱和文件路徑一起使用:
就我而言,它應該是:
如果要使用命令行恢復差異備份,可以先用 WITH NORECOVERY 恢復完整備份,再用 WITH RECOVERY 恢復差異備份:
“注意:”第一個bak文件應該是完整備份文件,第二個應該是差異備份文件。
與上一種方法類似,如果遇到“數(shù)據(jù)庫的日志尾部沒有備份”錯誤,可以提前 BACKUP LOG WITH NORECOVERY:
或者用 REPLACE 或 WITH STOPAT 恢復數(shù)據(jù)庫:
從Bak 文件中恢復 SQL 數(shù)據(jù)庫的優(yōu)點主要是靈活性。例如,您可以備份 SQL數(shù)據(jù)庫并恢復到另一臺服務器. 但上述方法要么比較繁瑣,要么需要一定的 SQL 知識。作為補充,我想介紹一下傲梅企業(yè)備份網(wǎng)絡版,它可以在所有聯(lián)網(wǎng)的Windows PC或服務器之間集中備份和恢復SQL Server數(shù)據(jù)庫。
此軟件適用于 Windows 10/8.1/8/7/Vista/XP、Windows Server/2003/2008 (R2)/2012 (R2)/2016、Windows SBS 2003/2008/2011、Windows Home Server 2011 (32/64 -少量)。
其SQL Server備份功能支持SQL Server2005 至 2019,使您能夠一次備份或恢復多個數(shù)據(jù)庫。整個操作通過簡單的點擊完成,無需專業(yè)知識。
這是一個180天的免費試用期:
? 如何備份SQL Server數(shù)據(jù)庫:
1.正確安裝軟件并獲得對您要管理的客戶端計算機的控制權(quán)(當然,您可以控制自己的機器)。
然后在Home選項卡中選擇SQL Server 備份。
2.在步驟1中,單擊“+添加計算機”以檢測您控制的計算機(帶有SQL數(shù)據(jù)庫),然后選擇一臺進行備份。
3.在步驟2中,點擊“+添加”,檢測計算機上的所有實例,并選擇一個或多個數(shù)據(jù)庫進行備份。您甚至可以選擇整個實例。
4. 在步驟 3. 單擊“添加存儲”以指定共享或 NAS 設備作為存儲端。然后“開始備份”。
? 如何從備份中恢復 SQL數(shù)據(jù)庫:
1. 創(chuàng)建備份任務后,它將顯示在“任務”選項卡中。找到你想要的,點擊右上角的“高級”,然后選擇“恢復”。
2. 選擇您要恢復的計算機及其數(shù)據(jù)庫。如果您已多次備份它們(完整或差異),您還可以在右上角選擇要恢復的特定備份。
3. 您可以將這些數(shù)據(jù)庫恢復到原始位置或新位置。使用第二個選項,您可以直接將數(shù)據(jù)庫還原到另一個 SQL Server。然后,單擊“開始還原”以執(zhí)行它。
本文提供了 3 種從Bak 文件中恢復 SQL 數(shù)據(jù)庫的方法。其實,您也可以使用有效的第三方軟件——傲梅企業(yè)備份網(wǎng)絡版版,更直觀地管理SQL Server備份和恢復。
它適用于局域網(wǎng)內(nèi)的所有 PC 和服務器。而且它支持的數(shù)據(jù)類型不僅是SQL數(shù)據(jù)庫,還包括計算機文件、操作系統(tǒng)、分區(qū)和磁盤。