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