在SQL Server 2000中,有無數種備份數據庫的方法。無論你的數據庫有多大、改變是否頻繁,都有滿足你的要求的備份策略。讓我們看看幾種可以在不同環境下工作的基本備份策略。
本文假定你有備份數據庫的權限。也就是說,你要麼是系統管理員,要麼是db_owner或者backupadministrator。還有,我們還假定你的操作系統提供了訪問備份所需要的資源的權利,例如,訪問磁盤或者磁帶驅動器。
從哪兒開始
在你開始備份一個SQL Server數據庫之前,你需要知道該數據庫使用了哪個恢復模型。這裡有三種不同的恢復模型:FULL、BULK_LOGGED和SIMPLE。
FULL恢復模型向你提供了最大的恢復靈活性。新數據庫默認使用的就是這種恢復模型。利用這種模型,你可以恢復數據庫的一部分或者完全恢復。假設交易記錄(transactions log)還沒有被破壞,你還可以在失敗之前恢復出最後一次的已提交(committed)交易。在所有的恢復模型中,這種模型使用了最多的交易記錄空間,並輕微影響了SQL Server的性能。
BULK_LOGGED恢復模型比FULL模型少了一些恢復選項,但是進行批操作(bulk Operation)時它不會嚴重影響性能。在進行某些批操作時,由於它只需記錄操作的結果,因此它使用了較少的記錄空間。然而,用這種模型,你不能恢復數據庫中的特定標記,也不能僅僅恢復數據庫的一部分。
SIMPLE恢復模型是這三種模型中最容易實施的,它所占用的存儲空間也最小。然而,你只能恢復出備份結束時刻的數據庫。
為了找出你所用數據庫的恢復模型,可以運行下面的命令,該命令應該返回FULL、BULK_LOGGED和SIMPLE這三個值中的某一個:
SELECT dbpropertyex("database", "recovery")
為了改變數據庫的恢復選項,運行下面的命令:
ALTER DATABASE database name SET RECOVERY {FULL SIMPLE BULK_LOGGED}
除數據之外,SQL Server備份還包括數據庫大綱(schema)和數據庫元數據(即數據庫文件、文件組和它們的位置)。SQL Server允許在備份時用戶依然使用數據庫,所以在備份期間發生的交易也記錄到備份中去了。
備份數據庫
為了備份數據庫,你可以運行BACKUP命令。(你也可以使用SQL Enterprise Manager。)在執行命令之前知道它的語法永遠是個好主意。BACKUP命令有許多選項,它的基本語法是:
BACKUP DATABASE { database_name }TO < backup_device >