版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第8 8章章 數(shù)據庫事務管理數(shù)據庫事務管理n事務定義n事務是構成數(shù)據庫處理邏輯單元的可執(zhí)行程序,由用戶定義的一組操作序列(包括插入、刪除、修改或檢索等操作)組成,序列中的操作要么都做,要么都不做,是一個不可分割的工作單位。事務概念n 事務特性(ACID)n原子性原子性(Atomicity)事務中包含的所有操作要么全做,要么全不做原子性由恢復機制恢復機制實現(xiàn)n一致性一致性(Consistency)事務的隔離執(zhí)行必須保證數(shù)據庫的一致性事務開始前,數(shù)據庫處于一致性的狀態(tài);事務結束后,數(shù)據庫必須仍處于一致性狀態(tài)數(shù)據庫的一致性狀態(tài)由用戶用戶來負責,由并發(fā)控制并發(fā)控制機制機制實現(xiàn)如銀行轉帳,轉帳前后兩個
2、帳戶金額之和應保持不變(意大利香腸)事務概念n隔離性隔離性(Isolation)系統(tǒng)必須保證事務不受其它并發(fā)執(zhí)行事務的影響對任何一對事務T1,T2,在T1看來,T2要么在T1開始之前已經結束,要么在T1完成之后再開始執(zhí)行隔離性通過并發(fā)控制機制并發(fā)控制機制實現(xiàn)n持久性持久性(Durability)一個事務一旦提交之后,它對數(shù)據庫的影響必須是永久的系統(tǒng)發(fā)生故障不能改變事務的持久性持久性通過恢復機制恢復機制實現(xiàn)8.1.2可串行性理論可串行性理論可串行性通??醋魇嵌鄠€事務并發(fā)執(zhí)行的正確性準則。具體判定方法如下:n各單個事務如能將數(shù)據庫從一個正確狀態(tài)轉變?yōu)榱硪粋€正確狀態(tài),則認為該事務是正確的; n按任何
3、一個串行順序依次執(zhí)行多個事務也是正確的(這里的串行順序假定各個事務間彼此獨立、不交叉); n事務的交叉執(zhí)行過程是正確的,當且僅當其與串行執(zhí)行過程等價,則事務是可串行化的。 8.2并發(fā)控制8.1.3 8.1.3 事務基本操作與活動狀態(tài)事務基本操作與活動狀態(tài)n1.事務操作的組成n事務操作可以看做若干部分組成n(1)事務開始(BEGIN TRANSACTION):事務開始執(zhí)行;n(2)事務讀寫操作(READ/WRITE TRANSACTION):事務進行數(shù)據操作n(3)事務提交(COMMIT TRANSACTION ):事務完成所以數(shù)據操作,同時保存操作結果,它標志著事務成功完成。n(4)事務回滾(
4、ROLLBACK TRANSACTION ):事務未完成所有數(shù)據操作,重新返回到事務開始狀態(tài),標志著事務的撤銷。事務的活動狀態(tài)事務的活動狀態(tài)非正常結束正常結束8.28.2 并發(fā)控制與封鎖機制并發(fā)控制與封鎖機制8.2.1 并發(fā)操作與數(shù)據的不一致性并發(fā)操作與數(shù)據的不一致性 并發(fā)操作可能帶來的數(shù)據不一致性情并發(fā)操作可能帶來的數(shù)據不一致性情況有三種況有三種: : 丟失修改、讀丟失修改、讀“臟臟”數(shù)據數(shù)據和不可重復和不可重復讀。讀。 78.2.2封鎖 n排他鎖和共享鎖 n封鎖協(xié)議 n活鎖和死鎖 8.2并發(fā)控制n當需要查詢或更新數(shù)據時,先對數(shù)據進行封鎖,以避免來自其他事務的干擾。針對不同的干擾問題可以有不
5、同的封鎖機制。 n以丟失更新問題為例,實施封鎖的基本思想是:當一個用戶對一個表或記錄進行更新時,封鎖該表或記錄,使其他用戶不能在同一時刻更新相同的表或記錄,迫使其他用戶在更新后的基礎上(而不是在更新前的基礎上)再實施另外的更新操作。 實施封鎖以后的時間序列1.排排他他鎖和共享鎖鎖和共享鎖n共享鎖 n排他鎖 有些封鎖在執(zhí)行完相應操作后就自動釋放封鎖,有些封鎖則保持到事務結束(提交或撤消)時才釋放(無論如何,所有的封鎖都會在事務結束時自動釋放)。 (1)共享鎖 n共享封鎖是為讀操作設置的一種封鎖,所以也稱作讀封鎖,或簡稱S鎖,目的是想讀到一組不變的數(shù)據,也就是在讀數(shù)據的過程中,不允許其他用戶對該數(shù)
6、據進行任何修改操作。這種封鎖可以保證最大的并發(fā)性,任何數(shù)量的用戶都可以同時對同樣的數(shù)據施加這種共享鎖。已經實施共享鎖的表拒絕來自其他事務的獨占封鎖和更新封鎖。 (2)排他鎖 n排他鎖也叫獨占鎖,它是為修改操作設置的一種封鎖,也稱為寫封鎖,或簡稱為X鎖,這是最嚴格的一類封鎖。當需要對表實施插入、刪除或修改操作時,應該使用獨占封鎖。已經實施獨占封鎖的表,拒絕來自其他用戶的任何封鎖,但不拒絕一般的查詢操作。 . 封鎖協(xié)議所謂封鎖協(xié)議就是在對數(shù)據對象加鎖、持鎖和釋放鎖時所約定的一些規(guī)則。n(1)一級封鎖協(xié)議一級封鎖協(xié)議規(guī)定事務 T 在更新數(shù)據對象以前,必須對該數(shù)據對象加排它鎖,并且直到事務 T 結束時
7、才可以釋放該鎖。利用一級封鎖協(xié)議可以防止丟失更新問題的發(fā)生。 14n(2)二級封鎖協(xié)議二級封鎖協(xié)議規(guī)定事務 T 在更新數(shù)據對象以前必須對數(shù)據對象加 X 鎖 ,且直到事務 T 結束時才可以釋放該鎖,還規(guī)定事務 T 在讀取數(shù)據對象以前必須先對其加 S 鎖,讀完后即可釋放 S 鎖??梢苑乐箒G失更新問題,還可以防止讀“臟”數(shù)據問題,但卻不能解決不可重復讀問題。15二級封鎖協(xié)議16t1t2t3t4時間時間事務事務1事務事務2Lock Lock,Wait UnlockLock UnLockt5修改數(shù)據加X鎖,讀數(shù)據時加S鎖,讀完讀完即釋放。沒有丟失修改,不會讀到“臟”數(shù)據。但不能重復讀但不能重復讀。n(3
8、)三級封鎖協(xié)議 三級封鎖協(xié)議規(guī)定事務 T 在更新數(shù)據對象以前,必須對數(shù)據對象加 X 鎖,且直到事務 T 結束時才可以釋放該鎖,還規(guī)定事務 T 在讀取數(shù)據對象以前必須先對其加 S 鎖,該 S 鎖也必須在事務 T 結束時才可釋放。可以防止丟失更新和讀“臟”數(shù)據問題,此外還可以防止不可重復讀問題的發(fā)生。17(3)更新封鎖 n當需要對一個記錄或一組記錄進行更新時(只是修改,不包括插入和刪除)使用更新封鎖,該封鎖的目的是防止其他用戶在同一時刻修改同一記錄。已經實施更新封鎖的記錄,拒絕來自其他用戶的任何封鎖,但不拒絕一般的查詢操作。 3)SQL Server中與封鎖有關的命令 nSQL Server的封鎖
9、操作是在相關語句的“WITH ()”子句中完成的,該短語可以在SELECT、INSERT、UPDATE和DELETE等語句中指定表級鎖定的方式和范圍。3)SQL Server中與封鎖有關的命令n常用的封鎖關鍵詞有:nTABLOCK:對表施行共享封鎖,在讀完數(shù)據后立刻釋放封鎖,此類封鎖可以避免讀“臟”數(shù)據,但不具有可重復讀的特性。 nHOLDLOCK:與TABLOCK一起使用,可將共享鎖保留到事務完成,而不是在讀完數(shù)據后立即釋放鎖,這樣可以保證數(shù)據的可重復獨特性。 nNOLOCK:不進行封鎖,此關鍵詞僅應用于SELECT語句,這樣可能會讀取未提交事務的數(shù)據,即有可能發(fā)生“臟”讀。 nTABLOC
10、KX:對表實施獨占封鎖。 nUPDLOCK:對表中的指定元組實施更新封鎖;這時其他事務可以對同一表中的其他元組也實施更新封鎖,但是不允許對表實施共享封鎖和獨占封鎖。 3)SQL Server中與封鎖有關的命令DECLARE d datetime, t char(6), s char(2), n char(10)BEGIN TRANSACTIONSELECT n=座位號 FROM R WITH (UPDLOCK)WHERE 日期 = d AND 車次 = t AND 座別 = s AND 狀態(tài) IS NULLIF UPDATE R SET 狀態(tài) = Y WHERE 座位號 = n AND 日期
11、= d AND 車次 = t AND 座別 = sCOMMIT TRANSACTIONELSEROLLBACK TRANSACTION4)封鎖粒度 n封鎖的對象可以是表、也可以是元組等,我們把封鎖對象的大小稱為封鎖粒度(Granularity)。n封鎖的對象可以是邏輯單元(如表和元組等),也可以是物理單元(如數(shù)據頁和數(shù)據塊等)。n數(shù)據庫管理系統(tǒng)一般都具有多粒度鎖定功能,允許一個事務鎖定不同類型的資源。 4)封鎖粒度n鎖定在較小的粒度(例如行)可以增加并發(fā)操作的性能,但系統(tǒng)開銷也較大。這是因為如果封鎖的粒度小,則意味著需要的鎖多,從而需要系統(tǒng)控制更多的鎖。 n鎖定在較大的粒度(例如表)會降低操作
12、的并發(fā)性,這是因為鎖定整個表限制了其他事務對表中任意部分進行訪問。封鎖粒度大,則不需要太多的封鎖,由于需要維護的鎖較少,所以系統(tǒng)開銷較低。 5)意向鎖 n為了降低封鎖的成本,提高并發(fā)的性能,數(shù)據庫管理系統(tǒng)還支持一種意向鎖(Intention Lock)。 n意向鎖表示一種封鎖意向,當需要在某些底層資源上(如元組)獲取封鎖時,可以先對高層資源(如表)實施意向鎖。例如,在表級實施共享意向鎖表示事務打算在表中的元組上實施共享鎖,這樣做可以防止另一個事務隨后在同樣的資源上獲取排它鎖。意向鎖可以提高性能,因為系統(tǒng)僅在表級檢查意向鎖來確定事務是否可以安全地獲取該表上的鎖;而無須檢查表中的每個元組上的鎖,以
13、確定事務是否可以鎖定整個表。 5)意向鎖n意向共享(IS) n意向排它(IX) n共享意向排它(SIX) (1)意向共享(IS) n通過在各資源上放置IS鎖,表明事務的意向是讀取層次結構中的部分(而不是全部)底層資源。 n例如,對表實施IS鎖,則意味著要對表中的某個(些)元組實施S鎖;n或者說,當需要對表中的某個(些)元組實施S鎖時,應該首先對表實施IS鎖。 (2)意向排它(IX) n通過在各資源上放置IX鎖,表明事務的意向是修改層次結構中的部分(而不是全部)底層資源。n例如,對表實施IX鎖,則意味著要對表中的某個(些)元組實施X鎖;n或者說,當需要對表中的某個(些)元組實施X鎖時,應該首先對
14、表實施IX鎖。 (3)共享意向排它(SIX) n通過在各資源上放置SIX鎖,表明事務的意向是讀取層次結構中的全部底層資源并修改部分(而不是全部)底層資源。 nSIX鎖等同于加S鎖、再加IX鎖。n例如,對表實施SIX鎖,則意味著要對表實施S鎖,并對表中的某個(些)元組實施X鎖;n或者說,當需要對表實施S鎖,并對表中的某個(些)元組實施X鎖時,應該首先對表實施SIX鎖。 8.2.4死鎖 n產生死鎖的原因 n避免死鎖 n發(fā)現(xiàn)死鎖n解決死鎖 1)產生死鎖的原因n右圖示意了兩個并發(fā)事務所發(fā)生事件的序列,假設程序A為了完成某個事務需要封鎖倉庫和職工兩個關系,而幾乎在同一時刻并發(fā)執(zhí)行的程序B為完成另一個事務
15、也需要封鎖職工和倉庫關系,這兩個程序正好按照如圖所示的交錯序列執(zhí)行命令,結果兩個程序都為了等待對方釋放數(shù)據資源而產生死鎖。 2)避免死鎖 n相同順序法 n所有的用戶程序約定都按相同的順序來封鎖表 n一次封鎖法 n為了完成一個事務,一次性封鎖所需要的全部表 n兩階段封鎖協(xié)議 n所有事務都必須將對數(shù)據的封鎖分為封鎖和釋放兩個階段 避免死鎖的封鎖 兩階段封鎖協(xié)議 n第一階段稱為擴展階段,這一階段獲得各種類型的封鎖,但是不能釋放任何封鎖。n第二階段稱為收縮階段,這一階段釋放各種類型的封鎖,一旦開始釋放封鎖,則不能再申請任何類型的封鎖。 n注意,兩階段封鎖協(xié)議和一次封鎖法的異同之處。一次封鎖法遵守兩階段
16、封鎖協(xié)議;但是兩階段封鎖協(xié)議并不要求一次封鎖所有需要封鎖的數(shù)據。兩階段封鎖協(xié)議仍有可能發(fā)生死鎖。 3)(A)發(fā)現(xiàn)死鎖n超時法 n即一個事務在等待的時間超過了規(guī)定的時限后就認為發(fā)生了死鎖。 n這種方法非常不可靠,如果設置的等待時限長,則不能及時發(fā)現(xiàn)死鎖;如果設置的等待時限短,則可能會將沒有發(fā)生死鎖的事務誤判為死鎖。 3)(A)發(fā)現(xiàn)死鎖n等待圖法 n即通過有向圖判定事務是否是可串行化的,如果是則說明沒有發(fā)生死鎖,否則說明發(fā)生了死鎖。n具體思路是:用節(jié)點來表示正在運行的事務,用有向邊來表示事務之間的等待關系,如右圖所示,如果有向圖中發(fā)現(xiàn)回路,則說明發(fā)生了死鎖。3)(B)解決死鎖n發(fā)現(xiàn)死鎖后解決死鎖的
17、一般策略是:自動使“年輕”的事務(即完成工作量少的事務)先退回去,然后讓“年老”的事務(即完成工作量多的事務)先執(zhí)行,等“年老”的事務完成并釋放封鎖后,“年輕”的事務再重新執(zhí)行。 8.2.5隔離級別(1) n隔離性雖然是事務的基本性質之一,但是徹底的隔離意味著并發(fā)操作效率的降低。所以人們設想在避免干擾的前提下,適當?shù)亟档透綦x的級別,從而提高并發(fā)的操作效率。隔離級別越低,并發(fā)操作的效率越高,但是產生干擾的可能性也越大;隔離級別越高,則并發(fā)操作的效率越低,同時產生干擾的可能性也越小。在設計應用時,可以在所能容忍的干擾程度范圍內,盡可能的降低隔離級別,從而提高應用的執(zhí)行效率。 8.2.5隔離級別(2
18、)n在SQL標準中定義了下列四種隔離級別,SQL Server支持所有這些隔離級別: n未提交讀(READ UNCOMMITTED):事務隔離的最低級別,僅可保證不讀取物理損壞的數(shù)據,這是四個隔離級別中限制最小的級別。 n提交讀(READ COMMITTED):SQL Server默認級別,可以保證不讀取“臟”數(shù)據。 n可重復讀(REPEATABLE READ):可以保證讀一致性,避免不一致分析問題。 n可串行化(SERIALIZABLE):事務隔離的最高級別,事務之間完全隔離;如果事務在可串行化隔離級別上運行,則可以保證任何并發(fā)重疊事務均是串行的。 8.2.5隔離級別(3)四種隔離級別所允許
19、的不同類型的行為 事務必須運行于可重復讀或更高的隔離級別才可以防止丟失更新。 8.2.5隔離級別(4)n設置隔離級別的命令是: SET TRANSACTION ISOLATION LEVEL READ COMMITTED | READ UNCOMMITTED | REPEATABLE READ | SERIALIZABLE 8.2.6封鎖與隔離級別 (1)n可以通過指定隔離級別或對數(shù)據資源實施封鎖達到事務隔離的目的;n封鎖是實現(xiàn)并發(fā)操作的傳統(tǒng)方法(在SQL標準中沒有提及封鎖),適當?shù)倪\用封鎖并保證高并發(fā)操作性能是一件非常復雜的工作,這需要用戶深入了解各種封鎖的相容性,并設計封鎖的調度策略;nS
20、QL標準中規(guī)定了事務的隔離級別,即未提交讀、提交讀、可重復讀和可串行化,隔離級別解決了并發(fā)事務可能產生的丟失更新問題、未提交依賴問題、不一致分析問題和幻象讀問題,其中為了避免丟失更新問題,事務必須運行在可重復讀或可串行化隔離級別。 n用戶可以根據事務的需要設定隔離級別,結果由數(shù)據庫管理系統(tǒng)控制封鎖和進行并發(fā)操作調度。 8.2.6封鎖與隔離級別(2)n在實際應用中,也可以將隔離級別和封鎖結合起來使用。例如,如果指定隔離級別是可重復讀,則SQL會話中所有SELECT語句的鎖定行為都運行于該隔離級別上,并一直保持有效,直到會話終止或者將隔離級別設置為另一個級別。如果必要,可以通過指定表級封鎖來替代單
21、個SELECT語句的隔離級別,指定表級封鎖不會影響會話中的其他語句。一般僅在絕對必要時才使用表級封鎖更改默認的鎖定行為。 8.3恢 復 n故障類型 n備份類型 n日志的概念 n恢復模型 n備份或轉儲 n恢復或還原 8.3.2故障類型n造成事務中斷的故障 n突然掉電引起的事務中斷 n硬件故障引起的事務中斷 n客戶應用程序出錯引起的事務中斷 n系統(tǒng)程序故障引起的事務中斷 n磁盤介質故障 8.3.3備份類型 n雙機熱備份 n雙工備份 n磁盤鏡像 n數(shù)據庫備份技術 8.3.4日志的概念 n日志則是對備份的補充,它可以看作是一個值班日記,它將記錄下所有對數(shù)據庫的更新操作。這樣就可以在備份完成時立刻刷新并
22、啟用一個數(shù)據庫日志,數(shù)據庫日志是實時的,它將忠實地記錄下所有對數(shù)據庫的更新操作。n當磁盤出現(xiàn)故障造成數(shù)據庫損壞時,就可以首先利用備份恢復數(shù)據庫(恢復大部分數(shù)據),然后再運行數(shù)據庫日志,即將備份后所做的更新操作再重新做一遍,從而將數(shù)據庫完全恢復。n為了保證日志的安全,應該將日志和主數(shù)據庫安排在不同的存儲設備上,否則日志和數(shù)據庫可能會同時遭到破壞,日志也就失去了它本來的作用。 8.3.5恢復模型 (1)n簡單恢復模型n允許將數(shù)據庫恢復到最新的備份,即使用簡單恢復模型可以將數(shù)據庫恢復到上次備份的即時點,而無法將數(shù)據庫恢復到故障點或特定的即時點。使用簡單恢復模型,日志實際失去了作用。使用簡單恢復模型的
23、數(shù)據庫只能做數(shù)據庫備份,不能做日志備份。n完全恢復模型n允許將數(shù)據庫恢復到故障點狀態(tài),即完全恢復模型使用數(shù)據庫備份和事務日志備份提供對介質故障的完全防范。8.3.5恢復模型(2)n可以使用ALTER DATABASE語句的RECOVERY子句設置恢復模型。n例如,如下語句將訂貨數(shù)據庫的恢復模型設置為完全恢復: ALTER DATABASE 訂貨 SET RECOVERY FULL8.3.6備份或轉儲 n備份的類型 n動態(tài)備份和靜態(tài)備份 n制定備份的策略 n備份整個數(shù)據庫 n增量備份 n事務日志備份 n文件和文件組備份 n系統(tǒng)數(shù)據庫的備份 1)備份的類型 n全備份:即完整的備份整個數(shù)據庫;n增量
24、備份:增量數(shù)據庫備份只備份自上次數(shù)據庫備份后發(fā)生更改的數(shù)據;n文件和文件組備份:備份數(shù)據庫文件或文件組,而不是備份數(shù)據庫;n事務日志備份:只備份事務日志。 2)動態(tài)備份和靜態(tài)備份n動態(tài)備份也稱作在線備份,即在做備份時不中斷數(shù)據庫的運行,不中斷數(shù)據庫上的應用程序和事務處理。 n靜態(tài)備份也稱作離線或脫機備份,這意味著在做備份時沒有任何數(shù)據庫事務在運行,這種備份方式應是首選的備份方式。 3)制定備份的策略 n備份不是實時的,備份應該什么時候做?用什么方式做?這根據數(shù)據庫的不同規(guī)模、不同用途,可能有很多因素需要考慮和衡量。 4)備份整個數(shù)據庫(1) n在SQL Server中系統(tǒng)管理員和數(shù)據庫管理員可
25、以進行備份,也可以指定某個用戶擔當db_backupoperator角色(數(shù)據庫預定義角色)來負責數(shù)據庫的備份工作。 n所有的備份工作可以在“企業(yè)管理器”中利用交互工具完成,也可以使用命令方式完成。 4)備份整個數(shù)據庫(2)n備份數(shù)據庫的命令是BACKUP DATABASE,一般格式如下: BACKUP DATABASE database_name TO DISK | TAPE =physical_backup_device_namen例如,如下命令將訂貨數(shù)據庫備份到C:dumpdump1.bak: BACKUP DATABASE 訂貨 TO DISK=C:dumpdumpfull.bak5)
26、增量備份 n增量備份的命令也是BACKUP DATABASE,一般格式如下: BACKUP DATABASE database_name TO DISK | TAPE =physical_backup_device_name WITH DIFFERENTIALn例如,如下命令將對訂貨數(shù)據庫做增量備份(備份到C:dumpdump1.bak): BACKUP DATABASE 訂貨 TO DISK=C:dumpdump1.bak WITH DIFFERENTIAL6)事務日志備份(1) n備份事務日志的命令是BACKUP LOG,一般格式是: BACKUP LOG database_name TO
27、 DISK | TAPE =physical_backup_device_name n例如,如下命令將備份訂貨數(shù)據庫的日志(備份到C:dumpdumplog.bak): BACKUP LOG 訂貨 TO DISK=C:dumpdumplog.bak截斷日志 n截斷日志的命令是: BACKUP LOG database_name WITH TRUNCATE_ONLYn例如,在備份了訂貨數(shù)據庫或事務日志后,為了截斷訂貨管理數(shù)據庫的事務日志可以使用如下命令: BACKUP LOG 訂貨 WITH TRUNCATE_ONLY7)文件和文件組備份 (1)n可以備份和恢復數(shù)據庫中的個別文件,這樣當遇到介質
28、故障時可以只恢復已損壞的文件,而不用恢復數(shù)據庫的其余部分,從而加快了恢復速度。 n對于超大型數(shù)據庫,有時不可能完成完整數(shù)據庫的備份,這樣則可以使用文件備份。文件備份為數(shù)據庫備份提供了一種靈活的手段。 n與數(shù)據庫備份相比,文件備份的主要缺點是增加了管理的復雜性。必須注意維護完整的文件備份集和所覆蓋的日志備份。 文件和文件組備份(2)n備份文件或文件組的一般命令格式是: BACKUP DATABASE database_nameFILE = logic_file_list | FILEGROUP = filegroup_list T O D I S K | T A P E =physical_ba
29、ckup_device_name WITH DIFFERENTIAL 文件和文件組備份(3)n例如,如下命令完成對訂貨數(shù)據庫warehouse文件的備份: BACKUP DATABASE 訂貨 FILE = warehouse TO DISK =C:dumpfile_1.bakn如下命令則完成對訂貨數(shù)據庫文件組倉庫的備份: BACKUP DATABASE 訂貨 FILEGROUP = 倉庫 TO DISK =C:dumpfile_g.bak8)系統(tǒng)數(shù)據庫的備份 n數(shù)據庫備份不僅僅是要備份用戶數(shù)據庫,系統(tǒng)數(shù)據庫也需要備份,例如SQL Server中的master、model和msdb等系統(tǒng)數(shù)據庫
30、。特別是master數(shù)據庫,它負責整個數(shù)據庫的管理,所有用戶創(chuàng)建的數(shù)據庫以及用戶登錄信息都存儲在該數(shù)據庫中。所以,該數(shù)據庫一旦損壞,整個系統(tǒng)的使用都將受到影響。 8.3.7恢復或還原n恢復整個數(shù)據庫 n恢復數(shù)據庫的部分內容 n恢復特定的文件或文件組 n恢復事務 可以將數(shù)據庫恢復到做備份的即時點、發(fā)生故障的即時點或特定的事務即時點。 8.3.7恢復或還原n根據數(shù)據庫全備份進行恢復 n根據增量備份進行恢復 n根據事務日志進行恢復 n根據文件或文件組備份進行恢復 n恢復系統(tǒng)數(shù)據庫 1)根據數(shù)據庫全備份進行恢復RESTORE DATABASE database_nameFROM DISK | TAPE
31、 =physical_backup_device_name WITH , NORECOVERY | RECOVERY , REPLACE 2)根據增量備份進行恢復 n在簡單恢復模型和完全恢復模型中都可以選擇增量備份,如果存在增量備份,則一般需要進行相應的恢復操作。 n增量恢復數(shù)據庫的命令也是RESTORE DATABASE,但是在根據增量備份繼續(xù)恢復之前應該:已經使用RESTORE DATABASE命令完成了全備份的恢復,同時指定了NORECOVERY子句。 3)根據事務日志進行恢復 n利用日志可以將數(shù)據庫恢復到最新的一致狀態(tài)或任意的事務點。 n首先恢復事務日志備份之前的數(shù)據庫備份或增量數(shù)據庫備份。 n如果有多個日志備份,則按先后順序進行恢復。 3)根據事務日志進行恢復(2)RESTORE LOG database_nameFROM DISK | TAPE =physical_backu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育系統(tǒng)校園安全隱患排查整治方案范文
- 基于碳中和理念的低碳行動方案設計與實踐-初中化學跨學科復習課
- 康復醫(yī)院服務質量提升方案
- 現(xiàn)場管理“6S”實施方案詳解
- 智慧工地智能監(jiān)控解決方案
- 工廠產線優(yōu)化改造實施方案
- 高層建筑強電施工技術方案范例
- 播音主持基礎發(fā)音練習方案
- 焦化廠環(huán)保安全管理措施實施方案
- 房屋拆除施工方案71543
- 對外話語體系構建的敘事話語建構課題申報書
- 馬年猜猜樂(馬的成語)打印版
- 精神障礙防治責任承諾書(3篇)
- 2025年擔保公司考試題庫(含答案)
- 實施指南(2025)《HG-T3187-2012矩形塊孔式石墨換熱器》
- 2025年江西省高考物理試卷真題(含答案及解析)
- TCOSOCC016-2024信息技術應用創(chuàng)新軟件測試要求
- 介入病人安全管理
- 人教版PEP五年級英語下冊單詞表與單詞字帖 手寫體可打印
- 戶口未婚改已婚委托書
- 家具制造廠家授權委托書
評論
0/150
提交評論