[SQL SERVER]備份策略

RiCo 技術農場
RiCosNote
Published in
4 min readJun 2, 2010

--

[SQL SERVER][Maintain]備份策略

良好的資料庫備份策略個人認為相當重要,

如果DBA沒有好好思考依資料庫重要性來規劃備份策略的話,

假設那天遇到物理(硬碟掛了)或邏輯(使用者誤刪資料表..等)相關錯誤造成資料庫(資料)毀損,

而且也沒有該資料庫任何備份檔案的話,到時我想任誰也沒辦法挽救資料庫(資料),

而那時後悔也來不及了,這篇我大概介紹一下公司生產環境的備份策略,

但如果有更好的備份策略請告知我一聲,謝謝拉。

一、依現有資料庫重要性規劃備份頻率週期

二、依完整備份、差異備份、交易紀錄檔備份規畫備份策略

生產環境資料庫的備份策略。

A.每個禮拜三和日進行完全備份(凌晨00:00)。

B.一、二、四、五、六進行差異備份(晚間23:00)。

C.每小時備份交易紀錄檔(每天每小時)。

D.檔案寫入遠端網路磁碟均不刪除,本地端只留當週備份檔案

個人比較喜歡使用Script來備份。

Sql

--完整備份Declare @Path Nvarchar(2000)Set @Path ='E:\Backup\ASSET_Full_'+Replace(Convert(Nvarchar,Getdate(),120),':','')+'.bak'Backup Database [ASSET] To disk=@PathWITH COMPRESSION--差異備份Declare @Path Nvarchar(2000)Set @Path ='E:\Backup\ASSET_Diff_'+Replace(Convert(Nvarchar,Getdate(),120),':','')+'.diff'BACKUP DATABASE [ASSET] TO DISK = @PathWITH DIFFERENTIAL,COMPRESSION--備份交易紀錄檔Declare @Path Nvarchar(2000)Set @Path ='E:\Backup\ASSET_Log_'+Replace(Convert(Nvarchar,Getdate(),120),':','')+'.trn'BACKUP LOG [ASSET] TO DISK = @PathWITH COMPRESSION

Bat

--Call_Full.batsqlcmd -S YourSQLInstance -U youraccount -P yourpassword -i E:\backup\scripts\Full.sql--Call_Diff.batsqlcmd -S YourSQLInstance -U youraccount -P yourpassword -i E:\backup\scripts\Diff.sql--Call_Log.batsqlcmd -S YourSQLInstance -U youraccount -P yourpassword -i E:\backup\scripts\Log.sql

再利用Win2008工作排成建立相關工作(異地備份也是很需要的)就大功告成了。

Originally published at dotblogs.com.tw on June 2, 2010.

--

--

RiCo 技術農場
RiCosNote

分享工作上實戰經驗,如SQL Server,NetCore,C#,WEBApi,Kafka,Azure…等,Architect,Software Engineer, Technical Manger,Writer and Speaker