程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> [Sql server]數據備份的三個恢復模型

[Sql server]數據備份的三個恢復模型

編輯:關於SqlServer

在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 >  


  backup_device可以是磁盤或者磁帶——或者它也可以是一個用磁盤文件、磁帶或者已命名管道表示的邏輯上的備份設備。

  如果你想做一個快速、一次性的備份,那麼向下面那樣使用磁盤文件:

  BACKUP DATABASE Northwind TO DISK = "c:\backup\Northwind.bak"

  如果你想把數據庫備份到另外一台上。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved