【SQL Server】萬事無憂——備份和恢復
在SQL Server中,使用數據庫備份和還原工具可以創建數據庫的拷貝,將該拷貝放到安全的地方,當服務器崩潰或數據被破壞時,該拷貝就可以用于還原數據庫。這就是我們本篇文章要說的備份和恢復。
(1)完整備份與恢復
制作數據庫中所有內容的副本,在備份過程中需要花費的時間和空間最多,不宜頻繁進行
恢復時,僅需要恢復最后一次全庫備份即可
備份:backup database 數據庫名 to 備份設備名 with [name='備份的名稱'][init /noinit]
<SPAN style="FONT-SIZE: 18px">backup database MagDB to MagDb_1 with init</SPAN> |
恢復:restore database 數據庫名 from 備份設備名 with [norecovery/recovery]
<SPAN style="FONT-SIZE: 18px">restore database MagDb from MagDb_1 with norecovery</SPAN> |
(2)差異(增量)備份與恢復
只備份最后一次全庫備份后被修改的數據,備份的時間和空間較少
恢復時,先恢復最后一次完整備份,再恢復最后一次差異備份
備份:backup database 數據庫名 to 備份設備名 with differential [name='備份的名稱']
<SPAN style="FONT-SIZE: 18px">backup database MagDb to MagDb_1 defferential</SPAN> |
恢復:restore database 數據庫名 from 備份設備名 with [norecovery/recovery]
<SPAN style="FONT-SIZE: 18px">restore database MagDb from MagDb_1 with file =2, recovery</SPAN> |
(3)事務日志備份與恢復
只備份最后一次日志備份后所有的事務日志記錄,備份時所用的時間和空間更少
恢復時,可以指定恢復到某一事務;可以將其恢復到某個破壞性操作執行前的一個事務,這是全庫備份和差異備份所不能做到的,但利用日志備份進行恢復時,需要重新執行日志記錄中的修改命令,來恢復數據庫中的數據,所以通常恢復的時間較長;先恢復最后一次全庫備份,再恢復最后一次差異備份,再順序恢復最后一次差異備份以后進行的所有事務日志備份
備份:backup log 數據庫名 to 備份設備名 with init/noinit
<SPAN style="FONT-SIZE: 18px">backup log DocDb to disk='c:\databak\DocDb_1.bat'</SPAN> |
恢復:restore log 數據庫名 from 備份設備名 with [norecovery/recovery]
<SPAN style="FONT-SIZE: 18px">restore log DocDb from disk='c:\databak\DocDb1.bat'</SPAN> |
(4)文件和文件組備份與恢復
備份某個數據庫文件或數據庫文件組,必須與事務日志結合才有意義
恢復時,使用事務日志,使所有的數據文件恢復到同一個時間點
備份:backup database 數據庫名 file='文件的邏輯名稱'(filegroup) to 備份設備名 with init/noinit
<SPAN style="FONT-SIZE: 18px">backup database DocDb file='DocDb_Data' to disk='c:\databak\Docfile1.dat'</SPAN> |
恢復:restore database 數據庫名 file='文件的邏輯名稱'(filegroup) from 備份設備名
<SPAN style="FONT-SIZE: 18px">restore database DocDb file="DocDb_Data" from disk="c:\databak\Docfile1.dat"</SPAN> |
讓您的數據萬事無憂吧,做好備份,恢復,易如反掌。
posted on 2012-07-23 09:39 順其自然EVO 閱讀(266) 評論(0) 編輯 收藏 所屬分類: 數據庫