博主會用簡單清晰的方式,帶你系統學習使用T-SQL命令行的方式 給SQL Server 做備份與恢復。我們按照從零開始、逐步深入的路線來講解!
完整備份恢復-差異增量備份恢復-事務日志備份恢復
🔸 SQL Server 備份類型:
類型 | 說明 |
---|---|
完整備份(FULL) | 備份整個數據庫 |
差異備份(DIFF) | 備份自上次完整備份以來更改過的數據 |
日志備份(LOG) | 備份事務日志,可以用于“時間點恢復”或“連續恢復” |
使用T-SQL進行備份
完整備份
BACKUP DATABASE [數據庫名] TO DISK = '備份文件路徑';
舉例:備份qy庫
BACKUP DATABASE qy TO DISK = 'E:\databak\qy.bak';
📝 說明:
- 文件路徑必須是 SQL Server 所在服務器 本地路徑;
- 如果文件夾不存在會報錯,記得手動先創建好文件夾。
恢復完整備份
①覆蓋原庫恢復
RESTORE DATABASE qy FROM DISK = 'E:\databak\qy.bak' WITH REPLACE;
②不覆蓋原庫,而是恢復一個副本庫出來
關鍵點當你從備份還原數據庫時,默認會嘗試把 .mdf
和 .ldf
文件放在原數據庫的文件路徑,如果不指定,會沖突(比如兩個庫使用了同一個文件名),所以我們要用 MOVE
語句指定新路徑。
首先檢查備份片中數據庫的邏輯文件名
RESTORE FILELISTONLY FROM DISK = 'E:\databak\qy.bak';
邏輯文件名為qy、qy_log
我們接下來就用 MOVE
來指定新的物理文件路徑。
RESTORE DATABASE qy_new
FROM DISK = 'E:\databak\qy.bak'
WITH MOVE 'qy' TO 'E:\qy_restore\qy_new.mdf',MOVE 'qy_log' TO 'E:\qy_restore\qy_new_log.ldf';
恢復成功,下一篇學習使用差異備份恢復