SQL Server備份和災難恢復

2022-02-05 10:10:14 字數 1241 閱讀 9230

資料處理在現代企業運營中變得越來越重要,越來越關鍵,甚至會成為企業發展的一項瓶頸. 資料保護的重要性也不言而喻. 如果乙個企業沒有很好的資料保護方案或策略的話,一旦發生重要資料丟失,後果將會是災難性的,伴隨著會有經濟利益方面的損失.

各大伺服器硬體廠商(ibm,hp等)提供有很好的資料保護策略(硬體或軟體).如大家熟知的raid磁碟陣列(redundant array of independent disks)就是很好的資料保護方法.就sql server而言,通過維護計畫可以制定詳細的資料備份計畫.

資料備份策略(full backup, differential backup and  transaction log backup)

資料備份是為資料恢復服務的,所以建立資料備份計畫之前,應先考慮是否能利用該備份有效的恢復資料(在downtime允許的時間範圍內).還應先考慮系統允許的rpo(recovery point objective,災難發生後,系統或資料必須恢復的時間點), rto(recovery time objective,指當災難發生後,所採用的系統復原工具或解決方案,可讓系統或資料恢復到正常運作的狀況時,所需花費的時間).

有三種通常使用的備份計畫:

(1). 只有全備份

兩個全備份之間的時間段發生故障,資料會丟失,只能恢復到上乙個全備份的資料.

(2). 全備份+日誌備份

在全備份之間加入日誌備份,可以把備份時間點縮小到更小的粒度.可以在每天做乙個全備份,每乙個小時或者半個小時做一次日誌備份.這樣子的話,如果在23:59分發生故障,需要restore乙個full backup+23個transaction log backup,操作恢復的時間會比較久.

(3). 全備份+差異備份+日誌備份

在全備份之間加入差異備份(differential backup),差異備份之間有日誌備份.

至於選擇哪一種備份策略,要根據實際的情況(rto, rpo, server loading等)靈活運用.

Sqlserver命令SQLCMD備份恢復資料庫

1,備份,建立指令碼bak.bat,內容 sqlcmd i f dbbak bak.sql 指令碼呼叫恢復的語句文字 connect backup database db1 to disk f dbbak db1.bak with init go 2,還原,建立還原指令碼restore.bat,內容...

C 操作SQLserver資料庫的備份和恢復

備份事件 備份檔案的存放目錄 file.delete txtpath.text 判斷該檔案位址下是否有相同的備份檔案,有就刪除 需要備份的資料庫到那個檔案目錄下的什麼名 自定義 sql backup database back up to disk txtpath.text con new sqlc...

mysql 災難策略 mysql災難性事故恢復

mysql常見備份方案有以下三種 mysqldump binlog lvm binlog xtrabackup 本例為方便演示,資料庫裡面資料為空。下面開始動手 1 利用mysqldump完全備份mysql,配合二進位制日誌備份實現增量備份 mysqldump 選項請參考 1.1提供模擬資料 1.2...