[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來還原資料庫