sql server2000還原模型的說明
SQL Server 2000為我們提供了三種數據庫恢復模型:simple(簡單恢復),full(完全恢復),bulk_logged(大容量日志記錄恢復)。簡單恢復模型最容易操作,但它是最缺乏靈活性的災難恢復策略。選擇簡單恢復模型等同于把trunc. log on chkpt.設置成true。在這種恢復模型下,我們只能進行完全備份和差異備份(differential backup):這是因為事務日志總是被截斷,事務日志備份不可用。一般地,對于一個包含關鍵性數據的系統,我們不應該選擇簡單恢復模型,因為它不能夠幫助我們把系統還原到故障點。使用這種恢復模型時,我們最多只能把系統恢復到最后一次成功進行完全備份和差異備份的狀態。進行恢復時,我們首先要恢復最后一次成功進行的完全備份,然后在此基礎上恢復差異備份(差異備份只能把自從數據庫最后一次完全備份之后對數據庫的改動施加到數據庫上)。完全恢復模型把trunc. log on chkpt.選項和Select Into/Bulk Copy選項都設置成false。完全恢復具有把數據庫恢復到故障點或特定即時點的能力。對于保護那些包含關鍵性數據的環境來說,這種模型很理想,但它提高了設備和管理的代價,因為如果數據庫訪問比較頻繁的話,系統將很快產生龐大的事務日志記錄。由于在這種模型中Select Into/Bulk Copy設置成了false,SQL Server將記錄包括大容量數據裝入在內的所有事件。最后一種恢復模型是大容量日志記錄恢復,它把trunc. log on chkpt.設置成false,把Select Into/Bulk Copy設置成true。在大容量日志記錄恢復模型中,大容量復制操作的數據丟失程度要比完全恢復模型嚴重。完全恢復模型記錄大容量復制操作的完整日志,但在大容量日志記錄恢復模型下,SQL Server只記錄這些操作的最小日志,而且無法逐個控制這些操作。在大容量日志記錄恢復模型中,數據文件損壞可能導致要求手工重做工作。 下表比較了三種恢復模型的特點。恢復模型 優點 工作損失表現 能否恢復到即時點? 簡單 允許高性能大容量復制操作。收回日志空間,使得空間要求最小。 必須重做自最新的數據庫或差異備份后所發生的更改。 可以恢復到任何備份的結尾處。隨后必須重做更改。 完全 數據文件丟失或損壞不會導致工作損失??梢曰謴偷饺我饧磿r點(例如,應用程序或用戶錯誤之前)。 正常情況下沒有。如果日志損壞,則必須重做自最新的日志備份后所發生的更改。 可以恢復到任何即時點。 大容量日志記錄 允許高性能大容量復制操作。大容量操作使用最少的日志空間。 如果日志損壞,或者自最新的日志備份后發生了大容量操作,則必須重做自上次備份后所做的更改。 否則不丟失任何工作。 可以恢復到任何備份的結尾處。隨后必須重做更改。
在數據庫的Options選項卡中,我們可以從Model下拉列表框選擇Simple把恢復模型改成簡單模型。另外,Microsoft擴展了ALTER DATABASE命令,我們可以用它設置數據庫屬性。例如,用下面這個T-SQL命令可以把恢復模型設置為完全恢復模型:ALTER DATABASE Northwind SET RECOVERY FULL