如何選著SQL Server恢復(fù)模型來確保正確備份操作?
此文章主要講述的是正確選擇SQL Server恢復(fù)模型來確保正確備份的正確操作步驟,我們首先是以問答的方式來對其進行說明的,以下就是文章的主要內(nèi)容的詳細描述,望大家在瀏覽之后會對其有更深的了解。
問題
在管理SQL Server時首先要做的一件事是建立一個合適的備份計劃以便將失敗事件中任何數(shù)據(jù)的丟失可能最小化。建立備份計劃之后當(dāng)然要做些數(shù)據(jù)庫配置,這些配置是建立以確保你可以正確地備份數(shù)據(jù)庫。在這篇文章里我們將看看SQL Server所提供的不同SQL Server恢復(fù)模型以及怎樣為你的數(shù)據(jù)庫選擇恢復(fù)模型。
專家解答
對于SQL Server 2000和2005,Microsoft為你的數(shù)據(jù)庫提供了三個不同的SQL Server恢復(fù)模型。在你的服務(wù)器上,每個數(shù)據(jù)庫可以建立得各不相同,而且你還可以根據(jù)需要改變恢復(fù)模型,所以這個選擇不是***不變的。
這三個恢復(fù)模型是:
Simple(簡單)
簡單恢復(fù)模型就如同它名字所顯示的,它為你提供了簡單的備份,可以在失敗或者如果你需要恢復(fù)你的數(shù)據(jù)庫到另一個服務(wù)器上的情況下用來替代你的整個數(shù)據(jù)庫。有了這個恢復(fù)模型你就具有了完成完全備份(整個復(fù)制)或不同備份(從上一個完全備份之后所做的任何改變)的能力。使用這個SQL Server恢復(fù)模型你就暴露于自從上一次的備份之后的任何失敗。下面是你可以選擇這個恢復(fù)模型的原因:
你的數(shù)據(jù)不重要或很容易重新創(chuàng)建。
這個數(shù)據(jù)庫只用于測試或開發(fā)。
數(shù)據(jù)是靜態(tài)的并且不會改變。
在上一次備份之后丟失任何或所有事務(wù)都是沒關(guān)系的。
數(shù)據(jù)是獲取的并且很容易重新創(chuàng)建。
你可以運行的備份類型:
完全備份
差分備份
文件和/或文件組備份
部分備份
Copy-Only(僅復(fù)制)備份
Bulk_Logged(批日志)
批日志恢復(fù)如同它名字所示。有了這個模型,那么相當(dāng)一部分的批操作例如BULK INSERT、CREATE INDEX、SELECT INTO等等就不會完全記錄到事務(wù)日志中,從而不會占據(jù)事務(wù)日志那么大的空間。使用這個恢復(fù)模型的優(yōu)點是如果你進行批操作你的事務(wù)日志也不會變得那么大,而且你還可以進行時間點恢復(fù),只要你的***一次事務(wù)日志備份不包括上面提到的批操作。如果沒有運行批操作,那么這個恢復(fù)模型就如同完全SQL Server恢復(fù)模型一樣。要注意的一件事是如果你使用這個恢復(fù)模型,那么你還需要進行事務(wù)日志備份,否則你的數(shù)據(jù)庫事務(wù)日志將不斷地擴大。下面是你可能選擇這個恢復(fù)模型的原因:
數(shù)據(jù)很重要,但是你不想在日志中記錄大量批操作。
批操作與普通操作在不同的時間進行。
你仍然希望可以恢復(fù)到某時間點上。
你可以運行的備份類型有:
完全備份
差分備份
文件和/或文件組備份
部分備份
Copy-Only(僅復(fù)制)備份
事務(wù)日志備份
Full(完全)
完全恢復(fù)模型是最完全的SQL Server恢復(fù)模型,并且允許你將所有數(shù)據(jù)恢復(fù)到任何時間點上,只要所有的備份文件是可用的。有了這個模型,所有的操作都會被完整地記錄到日志里,這意味著你可以恢復(fù)你的數(shù)據(jù)庫到任何時間點上。此外,如果數(shù)據(jù)庫設(shè)置為完全恢復(fù)模型,那么你還需要進行事務(wù)日志備份,否則你的數(shù)據(jù)庫事務(wù)日志將一直不斷地擴大。下面是你可能選擇這個恢復(fù)模型的原因:
數(shù)據(jù)很重要,并且數(shù)據(jù)不可以丟失。
你需要能夠做到某時間點的恢復(fù)。
你在使用數(shù)據(jù)庫鏡像。
你可以運行的備份類型:
完全備份
差分備份
文件和/或文件組備份
部分備份
Copy-Only(僅復(fù)制)備份
事務(wù)日志備份
更改恢復(fù)模型
恢復(fù)模型可以根據(jù)需要來更改,所以如果你的數(shù)據(jù)庫是在完全SQL Server恢復(fù)模型形式下并且你想進行一些批操作,而你想減少日志那么你可以將恢復(fù)模型改為批日志記錄,完成你的操作后再次更改你的數(shù)據(jù)庫模型。要注意的一件事是因為在你的事務(wù)日志備份中將會有一個批操作,所以你不可以使用這個包含了這個批操作的事務(wù)日志備份文件來做時間點恢復(fù),但是任何后來的事務(wù)日志備份都可以用來進行時間點恢復(fù)。
還有,如果你的數(shù)據(jù)庫是簡單恢復(fù)模型而你想立即進行一個完全備份所以改為了完全恢復(fù)模型,那么你也可以開始進行事務(wù)日志備份了。直到你完成了一個完全備份之后,你才能夠進行事務(wù)日志備份。
要改變恢復(fù)模型,你可以使用SQL Server管理套件或T-SQL,如下所示:
管理套件
右鍵單擊數(shù)據(jù)庫名稱,選擇屬性,選擇選項標(biāo)簽并從下拉列表框中選擇SQL Server恢復(fù)模型,然后選擇OK進行保存。
- T-SQL
- -- set to Full recovery
- ALTER DATABASE AdventureWorks SET RECOVERY FULL
- GO
- -- set to Bulk Logged recovery
- ALTER DATABASE AdventureWorks SET RECOVERY BULK_LOGGED
- GO
- -- set to Simple recovery
- ALTER DATABASE AdventureWorks SET RECOVERY SIMPLE
- GO
以上的相關(guān)內(nèi)容就是對選擇SQL Server恢復(fù)模型確保正確備份的介紹,望你能有所收獲。
【編輯推薦】
- SQL Server實例中對另個實例的調(diào)用
- SQL Server2000連接錯誤的緣由有哪些?
- SQL Server2000連接錯誤的原因描述
- SQL Server開發(fā)中10個常見問題有哪些?
- SQL Server代碼編輯工具的詳細介紹