資料庫備份,是在資料丟失的情況下,能及時恢復重要資料,防止資料丟失的一種重要手段。乙個合理的資料庫備份方案,應該能夠在資料丟失時
,有效地恢復重要資料
,同時需要考慮技術實現難度和有效地利用資源。
在制訂資料備份方案前
,我們首先對要對現實情況做乙個具體的調查
,這樣制訂出來的方案才是合理且有效的。一般,我們需要了解如下內容:
l資料丟失的允許程度? l
允許的故障處理時間? l
業務處理的頻繁程度? l
伺服器的工作負荷? l
可接受的備份
/恢復處理技術難度? l
資料庫的大小? l
資料庫大小的增長速度?
l那些表中的資料變化是頻繁的,那些表中的資料是相對固定的? l
那些表中的資料是很重要的,不允許丟失的,那些表中的資料是允許丟失一部分的?
l什麼時候大量使用資料庫,導致頻繁的插入和更新操作? l
現有的資料庫備份資源(磁碟、磁帶、光碟)有哪些? l
有無可能為資料庫備份投入新的裝置或資金?
了解現狀後,我們再看看
sql server
提供給我們的備份方法,
sql server
一共給我們提高了四種資料庫備份的方法:
這種備份會備份資料庫中所有的資料。因此,它生成的備份檔案大小和備份時間是由資料庫中,資料的容量決定的。還原的時候,可以直接從備份檔案還原到備份時的狀態,不需要其他檔案的支援,還原過程最簡單;
備份自上次完全備份後,發生了更改的資料。差異備份是備份發生了更改的資料,因此在做差異備份前,必須至少有一次完全備份。而還原的時候,也必須先還先還原差異備份前一次的完全備份,才能在此基礎上進行差異備份資料的還原。這種備份生成的備份檔案大小和備份需要的時間,取決於自上次完全備份後,資料庫的資料變化情況,相對於完全備份來說,它生成的備份檔案較小,備份時間較短,對
sql server
服務效能的影響也較小;但它的還原過程相對麻煩一點,必須對應它之前的完全備份才能成功還原;
備份是自上次備份後對資料庫執行的所有事務的一系列記錄,這個上次備份,可以是完全備份、差異備份、日誌備份,但日誌備份前,至少有一次完全備份。還原的時候,必須先還原完全備份,再還原差異備份(如果有的話),再按照日誌備份的先後順序,依次還原各次日誌備份的內容;這種備份生成的備份檔案最小,需要的時間也最短,對
sql server
服務效能的影響也最小,適宜於經常備份。但是很顯然地,它的還原過程是最麻煩的,不但要對應它之前做的完全備份和差異備份(如果有的話),還要注意還原的順序;
可以備份和還原資料庫中的個別檔案或檔案組。這種備份方法平常使用的機率比較少,常常用於對重要資料的備份。它要求在資料庫設計時,就做好考慮,把需要單獨做特別備份的表進行分組,給它們分配不同的檔案組(表只能放在檔案組上,不能放在具體的檔案上,乙個檔案組可以是乙個檔案或多個檔案),這樣才能在做備份的時候,單獨備份這些資料。這種的備份的處理技術難度相對來說比較高,不但要掌握備份
/還原的方法,還必須對資料庫結構和資料庫中的各表資料情況掌握得比較好。
有了上面的資料,我們就可以根據我們的實際情況來選擇合適的備份方法了。一般的,我們在制訂備份方案的時候,可以按照下面的策略: l
資料庫備份能保障在資料丟失的情況下,能恢復重要資料
,因此,在資料庫中的資料發生變化後,要及時對重要的資料進行備份。 l
資料備份,要求不能影響業務處理的正常進行,因此,資料備份要採用多種備份方法並用,將完全備份這類占用服務資源高的備份設定在業務處理的空閒時間段,而將日誌備份這類占用服務資源少的備份方法應用在業務處理的高峰,但卻需要及時備份的時候; l
充分考慮故障出現時,業務處理可以接受的停機時間,不同的備份方法,需要的還原時間不同,因此,在照顧備份對業務處理影響的同時,要考慮還原的時間,不能因為完全備份對業務處理影響很大,就幾個月才做一次,這樣的話,在還原的時候花費的時間就很長了; l
考慮公司的技術力量,盡量避免採用超過公司掌握的技術程式的備份處理方法; l
用效利用備份資源,要根據公司目前具備的備份資源,合理地使用上述四種備份方法進行備份,同時要考慮過期備份檔案的清除和備份資源的再利用問題; l
要考慮災難性資料丟失造成的影響。對於重要的資料
,要將資料庫備份到多種介質和多個地方,這樣一處備份損壞了,還有其他的備份可用。
資料庫備份是乙個週期性的工作,因此我們應該讓
sql server
按照我們制訂的備份方案,自動地完成各種備份,而不要我們手工來進行日常的備份處理。 在
sql server
中,要定時執行某項操作,是由
sql agent
服務來完成的,因此,要讓我們的備份方案能自動完成的話,首先我們要把
sql agent
服務設定為自動啟動
(需要注意的是,
win98/winme
這類的作業系統是無法設定
sqlserveragent
自動啟動的
),設定方法:
我的電腦
à控制面板
à管理工具à服務
à滑鼠右鍵sqlserveragent à
屬性à
啟動型別
à選擇「自動啟動」à確定
在sql server
中,我們可以通過下面幾種方法來定義我們的資料庫備份: 1.
資料庫維護計畫:這裡可以定義完全備份和日誌備份的自動備份作業。定義方法:
企業管理器à管理
à右鍵資料庫維護計畫
à新建維護計畫
à[下一步]
à選擇你要備份的資料庫
à[下一步]
à直到「指定資料庫備份計畫」這項
à然後按照嚮導提示進行設定就行了
2.資料庫備份:這裡可以根據我們的備份方式制訂各種資料庫備份作業。定義方法:
企業管理器
à滑鼠右鍵你要備份的資料庫
à所有任務
à備份資料庫
à在[備份]項中選擇資料庫和備份方式 à
在[目的 ]
à[備份到]項中,按[新增]按鈕,新增備份檔案 à
在[排程]項中,勾選「排程」,並點…按鈕設定備份的時間安排 à
確定3.
作業:上述兩種方法,最終設定的結果都是乙個作業(
job)排程,因此,我們也可以通過直接建立作業,由作業定時呼叫備份處理的語句來實現自動備份。定義方法:
企業管理器
àsql server**
à右鍵作業
à新建作業
à[常規]項中輸入作業名稱 à
[步驟]項à新建
à輸入步驟名
à[型別]中選擇"transact-sql 指令碼(tsql)" à
[命令]中輸入備份處理的sql語句 à
[排程]項中,設定你的備份時間計畫
具體的sql
備份語句,參考
sql聯機叢書上的相關部分,這裡不做說明。
資料庫備份
匯出方案 匯出自己的方案exp scott tiger oracle owner scott file d scott.dmp 成功匯入方案 imp userid retest retest oracle file e rem.dmp full y 匯出表 兩百萬資料 exp userid scot...
資料庫備份
備份 使用 isql usa p ssybase 命令連線至資料庫,依次備份早教系統edu cfg和edu stat兩個使用者資料庫。前提條件是backup server服務要啟動 dump database edu cfg to home sybase edu cfg jiangsu 201405...
資料庫備份
sqlserver 作業 新建作業 1.常規中,填寫名字及說明 2.步驟中新建步驟,填寫步驟名稱,選擇型別 transact sql指令碼 t sql 填寫命令,內容如下 declare name varchar 250 set name d bakdb 備份檔案名稱 convert varchar...