SQL?Server誤區(qū)30日談?第24天?26個(gè)有關(guān)還原(Restore)的誤區(qū)
本系列文章一直所沒(méi)有觸及的就是有關(guān)”還原(Restore)”的話(huà)題,因?yàn)橐坏砍兜竭@個(gè)話(huà)題就會(huì)涉及大量的誤區(qū),多到我無(wú)法通過(guò)一篇文章說(shuō)完的地步。
事實(shí)上,我希望用字母表的順序?yàn)槊恳粋€(gè)誤區(qū)進(jìn)行編號(hào),希望你看了不要昏昏欲睡。下面開(kāi)始揭穿這26個(gè)誤區(qū)。
誤區(qū) #24: 26個(gè)有關(guān)還原(Restore)的誤區(qū)
都是錯(cuò)誤的
24 k)還原是從損壞中恢復(fù)的最佳辦法
不是,并不完全是。這要取決于你有的備份類(lèi)型。如果損壞的數(shù)據(jù)比較多,那么利用還原是一個(gè)不錯(cuò)的主意,但如果損失的數(shù)據(jù)比較少并允許一些數(shù)據(jù)損失的情況下,亦或是由事務(wù)日志傳送的輔助服務(wù)器回傳一些日志的情況下,那么downtime就會(huì)少很多。最佳辦法就是在可接受的數(shù)據(jù)損失范圍內(nèi),在盡量少的downtime修復(fù)損壞。
24 l)在開(kāi)始還原之后還可以備份尾端日志
不允許,一旦你開(kāi)始還原之后,就不再允許備份尾端日志。所以當(dāng)災(zāi)難發(fā)生之后,第一件事永遠(yuǎn)都是查看是否需要備份尾端日志。
24 p)RESTORE ... WITH VERIFYONLY選項(xiàng)會(huì)驗(yàn)證整個(gè)備份集
不,這個(gè)選項(xiàng)僅僅檢查備份的頭是否正確。只有使用WITH CHECKSUM才可以完整備份集的校驗(yàn)和檢查。
24 q)可以在不還原證書(shū)的情況下,還原被透明數(shù)據(jù)加密的數(shù)據(jù)庫(kù)
不能,對(duì)于透明數(shù)據(jù)加密最重要的一點(diǎn)要記住,證書(shū)丟了意味著整個(gè)數(shù)據(jù)庫(kù)就沒(méi)了。
24 r)當(dāng)還原過(guò)程完成后,還原會(huì)進(jìn)行Redo和Undo
每次還原操作后其實(shí)執(zhí)行的都是Redo操作,只有在整個(gè)還原過(guò)程完成后,才會(huì)進(jìn)行Undo。
24 s)壓縮備份集只能被還原到SQL Server 2008企業(yè)版中
不,所有的版本都能還原壓縮后的備份。從SQL Server 2008 R2開(kāi)始,標(biāo)準(zhǔn)版也可以進(jìn)行壓縮備份。
24 t)將低版本的數(shù)據(jù)庫(kù)還原到高版本的實(shí)例可以跳過(guò)升級(jí)過(guò)程
不允許,在數(shù)據(jù)還原和附加的過(guò)程中是不允許跳過(guò)必須的升級(jí)和恢復(fù)過(guò)程。
24 u)在32位實(shí)例下備份的數(shù)據(jù)庫(kù)無(wú)法恢復(fù)到64位實(shí)例。反之亦然
錯(cuò)誤,數(shù)據(jù)庫(kù)的內(nèi)部格式和CPU構(gòu)架無(wú)關(guān)。
24 v)只要進(jìn)行數(shù)據(jù)還原,就可以保證程序正常執(zhí)行
不對(duì),就像高可用性中的鏡像故障轉(zhuǎn)移和事務(wù)日志傳送轉(zhuǎn)移到輔助服務(wù)器一樣,還有很多額外的步驟需要做才能保證程序正常執(zhí)行。包括輔助數(shù)據(jù)庫(kù)和正確的登錄名等。
24 w)還原受損的文件需要從多個(gè)文件組進(jìn)行還原,則必須還原相關(guān)的所有文件組
不,在SQL Server 2000中的確是這樣,但在SQL Server 2005以后的版本就完全不用了。
24 x)你可以將數(shù)據(jù)庫(kù)還原到任何最新版本的實(shí)例
不對(duì),數(shù)據(jù)庫(kù)只能還原到比其新的一個(gè)或兩個(gè)版本.(比如SQL Server 7.0下的數(shù)據(jù)庫(kù)就不能還原到SQL Server 2008)。
24 y)恢復(fù)時(shí)間和還原時(shí)間是一樣的
不,很多因素會(huì)影響還原的時(shí)間,比如說(shuō)是否有長(zhǎng)事務(wù)需要回滾,或是即時(shí)文件初始化特性是否開(kāi)啟。
24 z)在還原數(shù)據(jù)庫(kù)之前需要先Drop被還原的數(shù)據(jù)庫(kù)
不是的,如果你在還原數(shù)據(jù)庫(kù)之前Drop被還原的數(shù)據(jù)庫(kù),那么還原過(guò)程首先需要即時(shí)文件初始化,還有,你最好保留被還原數(shù)據(jù)庫(kù)的副本以便還原失敗的情況下把損失減到最小。
相關(guān)文章
遠(yuǎn)程連接SQLSERVER 2000服務(wù)器方法
需求如下:需要遠(yuǎn)程連接外地的SQL Server 2000服務(wù)器。2009-07-07MSSQL內(nèi)外連接(INNER JOIN)語(yǔ)句詳解
這幾天重新溫習(xí)了一下SQL的書(shū)本,現(xiàn)在的思路應(yīng)該是很清楚了,現(xiàn)在把自己的理解發(fā)出來(lái)給大家溫習(xí)下。希望和我一樣對(duì)SQL的連接語(yǔ)句不太理解的朋友能夠有所幫助2006-11-11sp_executesql 使用復(fù)雜的Unicode 表達(dá)式錯(cuò)誤的解決方法
sp_executesql 使用復(fù)雜的Unicode 表達(dá)式錯(cuò)誤的解決方法,需要的朋友可以參考下2012-01-01INSERT INTO SELECT語(yǔ)句與SELECT INTO FROM語(yǔ)句的一些區(qū)別
INSERT INTO SELECT語(yǔ)句與SELECT INTO FROM語(yǔ)句的一些區(qū)別介紹,需要的朋友可以參考下面的說(shuō)明與條件2012-05-05Sql Server數(shù)據(jù)把列根據(jù)指定內(nèi)容拆分?jǐn)?shù)據(jù)的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Sql Server數(shù)據(jù)把列根據(jù)指定內(nèi)容拆分?jǐn)?shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Sql Server具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06只有mdf文件的數(shù)據(jù)庫(kù)附加失敗的修復(fù)方法分享(置疑、只讀)
有時(shí)候因?yàn)槟承┰驍?shù)據(jù)庫(kù)只有mdf文件了,需要附加數(shù)據(jù)庫(kù),會(huì)出現(xiàn)一些問(wèn)題,大家可以參考下面的方法試試2012-02-02MSSQL批量替換語(yǔ)句 在SQL SERVER中批量替換字符串的方法
在SQL SERVER中批量替換字符串的方法2010-04-04