[SQL上課筆記]維護資料庫_Backup & Restore

  • 4957
  • 0
  • SQL
  • 2012-08-15

[SQL上課筆記]維護資料庫_Backup & Restore

 

Backup & Restore

BackUP

Online,依序排程

Restore

Offline:不得有USRE連線

Enterprise版本可以Online

Backup Device

*.bak,可使用Backup Set及Backup Compression

備份計畫注意事項

測試備份是否可以使用

A. 保留頻率

B. 定期測試

如何在第一時間復原,需考慮下列兩個因素

A. RTO(Recovery time objective):

恢復時間目標(RTO的)時間和服務水平,在一個持續的業務流程必須在災難發生後恢復(或中斷),以避免在中斷與業務連續性相關的不可接受的後果。

它可以包括試圖修復沒有恢復的問題,恢復本身,測試,通信用戶的時間。用戶代表的決策時間不包括在內。業務連續性的時間表通常運行與事件管理時間軸平行,並可能在相同或不同點開始。

B. RPO(Recovery point objective)

恢復點目標(RPO)是指通過業務連續性規劃。這是由於重大事故的IT服務中的數據可能會失去最大耐受期。

COST(成本)最好為零(客戶要求)

使用第三方套件(call SQL server services),意義不大

備份實作考慮事項

復原模式

歸檔方式

存放位置

硬體規劃

備份策略

一定要做Full backup,定期備份log(配合參數)

Full backup:全部資料備份

Diffential backup:只備份差異量(與最近一次的Full backup比較)

Transaction log backup:針對ldf檔案,會產生log sequence,其中一個版本壞掉之後的就不能用了,可在營運時間執行

To device及To disk差別只在圖形介面顯示

不同DB用不同的device

建議分散在不同顆硬碟

系統資料庫備份

master:要定期備份,restore master資料庫時server會shutdown

model:加-T3608參數

msdb:建議備份

tempdb/resource:不需要也不能備份

SQL server資料存取方式

資料會先在記憶體找;修改會在記憶體做,同步寫入log file,在checkpoint才會比資料寫入Datafile,造成雙倍的Disk I/O

Check point產生方式

Buffer cached

Server shutdown

記憶體不足(使用率大於75%)

手動產生

Log備份

容量會被清空,使用先前用過的空間,但對效能會有沉重負擔,log file沒有快速初始化,沒事不要Shrink

Rocover Model

Full:全部動作都放在log(資源花最多);支援Full backup、Diffential backup及Transaction log backup

Simple:以最少的log量紀錄,在check point會清掉內容,無法使用transaction log backup(效能最好,log檔案成長不大);支援Full backup及Diffential backup

Bulk logged:針對特定動作只記錄結果,無法細部還原

如果有調整model,記得要做 full back up

系統如果不知道要調成哪種model,建議先改成simple,日後配合調整

把Transaction log內容全刪

把資料庫的復原模式改成simple

Backup Compression

不可混合使用(壓縮與未壓縮)

不可與NT混用

2008 R2版本Standard有支援backup compression

每種Recovery model都可以使用compression

Media Set

類似raid

Striped Media Set:不建議使用

Mirrored Media Set:針對重要的資料庫

D2D2T

DB to Disk to Tape

建議使用D2D:有備援及效益

檢查歷史資料存放位置

MSDB

Copy Only

如果再排程之外有Full或log備份,請設定copy only

Restore Database

先去備份log(只要不是simple mode)

 

WITH NOREVOVERY

在備份時的下一步就是要還原,禁止使用者存取;無法將USER CONNECTION移除

Restore Process

判斷是否刪除目標DB

複製Backup Set目標DB

資料處理方式

A. Redo

B. Undo

Enterpise版本:Redo做完就可以上線,undo可以在背景執行。

在還原過程中,中間的備份檔都要註明WITH NORECOVERY,最後一份要註明WITH RECOVERY

WITH REPLACE

確定不需要備份log

Log還原

切換到MASTER資料庫後再還原

STAND BY

將備份檔一段一段還原出來看(只能Read資料),還原後請使用者確定資料

STOPAT

當使用者知道明確時間時用時間點還原,早於transaction log會有錯誤

STOPATMARK

根據transaction name來還原資料庫