對於SQL數據庫服務器這麼一個如此重要的服務器,我需要定期的維護它,就像買回來一輛新車,如果不進行定期的維護,那麼我們的汽車就無法運行在最佳狀態。而當我們在維護數據庫服務器時,備份工作就是我們作為一名數據庫管理員(DBA)最重要的任務。本文將詳細探討數據庫的備份與還原。
備份就是數據的副本,存儲在計算機硬盤以外的某個地方(通常為磁帶)。備份的主要原因有如下幾個個:第一個原因是可能的硬件故障;第二個原因是自然災害;其他的如人為破壞等。SQL server的備份都是聯機備份,在備份同時還可以繼續提供服務。在我們開始備份之前應該先創建備份設備,備份設備可以是磁帶或者磁盤。創建有兩種方法,一種是通過SSMS(SQL 2003的管理工具)在圖形界面創建,通過“對象資源管理器”中的備份設備,選擇“新建備份設備”即可;還有一種方法是通過T-SQL語句創建:Sp_addumpdevice ‘devicetype’, ‘logical_name’,‘physical_name’
Devicetype:備份設備類型:
a、disk:硬盤文件
b、tape:磁帶設備
c、pipe:命名管道
Logical_name:備份設備的邏輯名稱
Physical_name:物理名稱
例1:
Use master
Go
Sp_addumpdevice ‘disk’, ‘backup1’,
‘d:\mssql7\backup\backup1.bak’
Go
創建好備份設備以後,我們就要選擇備份類型了,備份類型有如下幾種:
1.完整備份。顧名思義,完整備份就是備份整個數據庫。這是任何其他備份類型都要求完成的第一種備份類型,因為備份都依賴於完整備份。例如,想對Northwind數據庫進行完整備份,直接在數據庫上右鍵選擇“任務”—“備份”,按照向導完成即可。
2.差異備份。差異備份記錄自從做完上一個完整備份以來數據庫中已發生的所有變化。因此,如果在星期一執行了完整備份,並在星期二執行了差異備份,那麼該差異備份將記錄自星期一的完整備份以來已發生的所有修改。星期三的另一個差異備份將記錄自星期一的完整備份以來已發生的所有修改。備份操作與完整備份幾乎一樣,只是選擇備份類型不一樣,這裡不再描述。
事物日志備份。事物日志備份依賴完整備份,只記錄事務日志的適當部分,明確地說,自從上一個事物日志備份以來發生了變化的部分。備份過程雷同。