版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第十講數(shù)據(jù)的備份、恢復(fù)和傳輸教學(xué)內(nèi)容事務(wù)概念、屬性、執(zhí)行事務(wù)的3種模式數(shù)據(jù)鎖的概念、鎖的對(duì)象、鎖的方法以及死鎖問題數(shù)據(jù)的備份、恢復(fù)以及傳輸?shù)姆椒?022年7月23日學(xué)習(xí)目標(biāo)及重點(diǎn)學(xué)習(xí)目標(biāo)掌握事務(wù)概念、屬性掌握數(shù)據(jù)鎖的概念和死鎖問題掌握數(shù)據(jù)備份的概念學(xué)會(huì)如何備份數(shù)據(jù)庫、恢復(fù)數(shù)據(jù)庫SQL Server數(shù)據(jù)庫與其它軟件的數(shù)據(jù)交換重點(diǎn)與難點(diǎn)事務(wù)概念事務(wù)屬性執(zhí)行事務(wù)的3種模式數(shù)據(jù)鎖的概念及死鎖問題如何在企業(yè)管理器中執(zhí)行數(shù)據(jù)庫備份如何使用Transact-SQL語句執(zhí)行數(shù)據(jù)庫備份如何使用企業(yè)管理器恢復(fù)數(shù)據(jù)庫如何使用Transact-SQL語句恢復(fù)數(shù)據(jù)庫2022年7月23日10.1 事務(wù)簡(jiǎn)介10.1.1 事
2、務(wù)概念事務(wù)是作為單個(gè)邏輯工作單元執(zhí)行的一系列操作。一個(gè)邏輯工作單元必須有四個(gè)屬性,稱為 ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個(gè)事務(wù) 2022年7月23日10.1.2 事務(wù)的屬性(ACID)原子性(Atomicity)事務(wù)必須是原子工作單元;對(duì)于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。一致性(Consistency)事務(wù)在完成時(shí),必須使所有的數(shù)據(jù)都保持一致狀態(tài)隔離性(Isolation)由并發(fā)事務(wù)所作的修改必須與任何其它并發(fā)事務(wù)所作的修改隔離持久性(Durability)事務(wù)完成之后,它對(duì)于系統(tǒng)的影響是永久性的。2022年7月23日10.1.3 執(zhí)行事務(wù)的3種模式
3、1.顯式事務(wù):可以顯式地在其中定義事務(wù)的啟動(dòng)和結(jié)束。語法BEGIN TRAN SACTION transaction_name | tran_name_variable WITH MARK description 參數(shù) transaction_name是給事務(wù)分配的名稱。不允許標(biāo)識(shí)符多于 32 個(gè)字符。tran_name_variable用 char、varchar、nchar 或 nvarchar 數(shù)據(jù)類型聲明有效事務(wù)的變量的名稱WITH MARK description指定在日志中標(biāo)記事務(wù)。Description 是描述該標(biāo)記的字符串。如果使用了 WITH MARK,則必須指定事務(wù)名。WI
4、TH MARK 允許將事務(wù)日志還原到命名標(biāo)記。2022年7月23日顯式事務(wù)語句功能語句開始事務(wù)BEGIN TRANSACTION提交事務(wù)COMMIT TRANSACTION或COMMITWORK回滾事務(wù)ROLLBACK TRANSACTION或ROLLBACKWORK2022年7月23日自動(dòng)提交、隱含事務(wù)2.自動(dòng)提交事務(wù)系統(tǒng)默認(rèn)的事務(wù)方式,許多SQL語句在執(zhí)行時(shí)都會(huì)自動(dòng)發(fā)生的事務(wù)。每個(gè)數(shù)據(jù)操作語句即為一個(gè)事務(wù)。3.隱含事務(wù)當(dāng)連接以隱性事務(wù)模式進(jìn)行操作時(shí),SQL Server將在提交或回滾當(dāng)前事務(wù)后自動(dòng)啟動(dòng)新事務(wù)。無須描述事務(wù)的開始,只須提交或回滾每個(gè)事務(wù)。隱性事務(wù)模式生成連續(xù)的事務(wù)鏈。 202
5、2年7月23日EX 事務(wù)例:建立內(nèi)含事務(wù)的存儲(chǔ)過程Create Proc TestTranasBegin TRAN Select * From StudInfoRollbackGo 2022年7月23日事務(wù)保存點(diǎn)的設(shè)置與回滾SAVE TRANSACTION 在事務(wù)內(nèi)設(shè)置保存點(diǎn)。語法 SAVE TRAN SACTION savepoint_name | savepoint_variable 參數(shù) savepoint_name是指派給保存點(diǎn)的名稱。保存點(diǎn)名稱必須符合標(biāo)識(shí)符規(guī)則,但只使用前 32 個(gè)字符savepoint_variable是用戶定義的、含有有效保存點(diǎn)名稱的變量的名稱。必須用 char
6、、varchar、nchar 或 nvarchar 數(shù)據(jù)類型聲明該變量。BEGIN TRANSAVE TRAN TempTranIF(ERROR0)BEGINROLLBACK TRAN TempTran -回滾到事務(wù)保存點(diǎn)/*失敗時(shí)所使用的變通方案*/END.IF(.)COMMITELSEROLLBACK 2022年7月23日分布式事務(wù) 如果要在事務(wù)中存取多個(gè)數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)(包含執(zhí)行存儲(chǔ)過程),就必須使用“分布式事務(wù)”(Distributed Transaction)Begin Distributed tranInsert into CourseInfo(CourseID,CourseN
7、ame)values(A00232,TestName)If ERROR0 GOTO ERRORPROCINSERT INTO AnotherServer.DatabaseName.dbo.tablename(FieldName1,FieldName2) values(Values1,Values2)ERRORPROC:IF ERROR0ROLLBACKELSE COMMIT 2022年7月23日10.2 數(shù)據(jù)鎖 鎖定(Lock)是將指定的數(shù)據(jù)臨時(shí)鎖起來供我們使用,以防止該數(shù)據(jù)被別人修改或讀取。并發(fā)性(Concurrency):允許多個(gè)事務(wù)同時(shí)進(jìn)行數(shù)據(jù)處理的性質(zhì)樂觀與悲觀并發(fā)性控制樂觀并發(fā)性控制
8、(Optimistic Concurrency):樂觀控制(或稱樂觀鎖定)就是假設(shè)發(fā)生數(shù)據(jù)存取沖突的機(jī)會(huì)很小,因此在事務(wù)中并不會(huì)持續(xù)鎖定數(shù)據(jù),而只有在更改數(shù)據(jù)時(shí)才會(huì)去鎖定數(shù)據(jù)并檢查是否發(fā)生存取沖突。悲觀并發(fā)性控制(Pessimitic Concurrency):悲觀控制(或稱悲觀鎖定)與樂觀控制剛好相反,它會(huì)在事務(wù)中持續(xù)鎖定要使用的數(shù)據(jù),以確保數(shù)據(jù)可以正確存取。 2022年7月23日鎖的對(duì)象資源說明RID以記錄(Row)為單位作鎖定Key已設(shè)置為索引的字段Page數(shù)據(jù)頁或索引頁(8KB大小的頁面)Extent8個(gè)連續(xù)的Page(分配內(nèi)存給數(shù)據(jù)頁時(shí)的單位)Table整個(gè)數(shù)據(jù)表(包含其中所有數(shù)據(jù)及
9、索引)DB整個(gè)數(shù)據(jù)庫2022年7月23日鎖的方法 獨(dú)占式鎖(Exclusive Lock):Exclusive鎖可禁止其他事務(wù)對(duì)數(shù)據(jù)作存取或鎖定操作共享式鎖(Shared Lock):Shared鎖可將數(shù)據(jù)設(shè)成只讀,并禁止其他事務(wù)對(duì)該數(shù)據(jù)作Exclusive鎖定,但卻允許其他事務(wù)對(duì)數(shù)據(jù)再作Shared鎖定。更改式鎖(Update Lock):Update鎖可以和Shared鎖共存,但禁止其他的Update鎖或Exclusive鎖。 2022年7月23日死鎖問題 當(dāng)多個(gè)事務(wù)的手中都鎖定了某些資源,卻又在等待另外一些被彼此鎖定的資源時(shí),就會(huì)發(fā)生死鎖(Deadlock)避免死鎖發(fā)生的技巧使用相同的順
10、序來存取數(shù)據(jù)盡量縮短事務(wù)的時(shí)間盡量使用較低的隔離等級(jí) 2022年7月23日10.3 數(shù)據(jù)庫備份概念數(shù)據(jù)庫的備份和恢復(fù)是維護(hù)數(shù)據(jù)庫的安全性和完整性的重要組成部分。通過備份數(shù)據(jù)庫,可以防止因?yàn)楦鞣N原因而造成的數(shù)據(jù)破壞和丟失?;謴?fù)是指在造成數(shù)據(jù)丟失和破壞以后利用備份來恢復(fù)數(shù)據(jù)的操作。用戶的錯(cuò)誤操作和蓄意破壞、病毒攻擊和自然界不可抗力,造成數(shù)據(jù)丟失的因素。2022年7月23日10.3.1 備份設(shè)備創(chuàng)建備份時(shí),必須選擇存放備份數(shù)據(jù)庫的備份設(shè)備。(1)磁盤設(shè)備和磁帶設(shè)備磁盤備份設(shè)備是硬盤或其他磁盤存儲(chǔ)媒體上的文件,可以像操作系統(tǒng)文件一樣進(jìn)行管理備份到遠(yuǎn)程計(jì)算機(jī)上的磁盤,使用通用命名規(guī)則名稱(UNC),以S
11、ervernameSharenamePathFile格式指定文件的位置。 2022年7月23日(2)物理設(shè)備和邏輯設(shè)備SQL Server使用物理設(shè)備名稱或邏輯設(shè)備名稱標(biāo)識(shí)備份設(shè)備。物理備份設(shè)備是操作系統(tǒng)用來標(biāo)識(shí)備份設(shè)備的名稱,如C:BackupsAccountingFull.bak??梢杂眠壿嬙O(shè)備名稱執(zhí)行BACKUP語句:BACKUP DATABASE accounting TO Accounting_Backup也可以使用邏輯設(shè)備名稱執(zhí)行語句:BACKUP DATABASE accounting TO DISK=C:BackupsAccountingFull.Bak2022年7月23日(3
12、)創(chuàng)建永久備份設(shè)備使用企業(yè)管理創(chuàng)建永久備份設(shè)備使用T-SQL語句執(zhí)行存儲(chǔ)過程sp_addumpdevice創(chuàng)建一個(gè)可以再次使用的備份設(shè)備。Sp_addumpdevice 設(shè)備類型,設(shè)備邏輯名,設(shè)備的物理名稱如:使用本地磁盤的一個(gè)文件創(chuàng)建一個(gè)邏輯名稱為“company_back”的磁盤備份設(shè)備:EXEC sp_addumpdevice disk,company_back,d:Data_backupcompany_back.bak刪除一個(gè)備份設(shè)備用存儲(chǔ)過程sp_dropdevicesp_dropdevice 設(shè)備的邏輯名稱,delfile刪除備份設(shè)備company_back,并不刪除相關(guān)的物理文件
13、:EXEC sp_dropdevice company_back刪除備份設(shè)備并將相關(guān)的物理文件刪除EXEC sp_dropdevice company_back,DELFILE2022年7月23日10.3.2 備份策略SQL Server 2000提出4種主要的備份方式:數(shù)據(jù)庫備份、事務(wù)日志備份、差異備份、文件和文件組備份。完整數(shù)據(jù)庫備份是數(shù)據(jù)庫的完整復(fù)本。事務(wù)日志備份僅復(fù)制事務(wù)日志。差異備份僅復(fù)制自上一次完整數(shù)據(jù)庫備份之后修改過的數(shù)據(jù)庫頁。文件或文件組還原僅允許恢復(fù)數(shù)據(jù)庫中位于故障磁盤上的那部分2022年7月23日10.3.3 執(zhí)行數(shù)據(jù)庫備份使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫備份(企業(yè)管理器)展開服務(wù)
14、器組,然后展開服務(wù)器。展開數(shù)據(jù)庫文件夾,右擊數(shù)據(jù)庫,指向所有任務(wù)子菜單,然后單擊備份數(shù)據(jù)庫命令。在名稱框內(nèi),輸入備份集名稱。在描述框中輸入對(duì)備份集的描述。(可選)在備份選項(xiàng)下單擊數(shù)據(jù)庫 完全。在目的選項(xiàng)下,單擊磁帶或磁盤,然后指定備份目的地。如果沒出現(xiàn)備份目的地,則單擊添加以添加現(xiàn)有的目的地或創(chuàng)建新目的地。2022年7月23日創(chuàng)建數(shù)據(jù)庫備份在重寫選項(xiàng)下,執(zhí)行下列操作之一: 單擊追加到媒體,將備份追加到備份設(shè)備上任何現(xiàn)有的備份中。單擊重寫現(xiàn)有媒體,將重寫備份設(shè)備中任何現(xiàn)有的備份。 選擇調(diào)度復(fù)選框調(diào)度備份操作在以后執(zhí)行或定期執(zhí)行。(可選)單擊選項(xiàng)選項(xiàng)卡并執(zhí)行下列一項(xiàng)或多項(xiàng)操作:(可選) 選擇完成后
15、驗(yàn)證備份復(fù)選框,在備份時(shí)對(duì)備份進(jìn)行驗(yàn)證。選擇備份后彈出磁帶復(fù)選框,在備份操作完成后彈出磁帶。該選項(xiàng)只適用于磁帶設(shè)備。選擇檢查媒體集名稱和備份集到期時(shí)間,檢查備份媒體以防意外重寫。如果是第一次使用備份媒體,或者要更改現(xiàn)有的媒體標(biāo)簽,則在媒體集標(biāo)簽框下選擇初始化并標(biāo)識(shí)媒體復(fù)選框,然后輸入媒體集名稱和媒體集描述。只有在重寫媒體時(shí)才能對(duì)其進(jìn)行初始化和標(biāo)識(shí)設(shè)置。2022年7月23日數(shù)據(jù)庫備份(1)執(zhí)行完全數(shù)據(jù)庫備份BACKUP DATABASE company TO DISK=D:SQLBackupcompany.bak(2)執(zhí)行差異數(shù)據(jù)庫備份BACKUP DATABASE company TO com
16、pany_backup WITH DIFFERENTIAL(3)執(zhí)行事務(wù)處理日志備份BACKUP LOG company TO company_log_backup在BACKUP LOG語句中可以使用WITH NO_TRUNCATE參數(shù),指定在完成事務(wù)日志備份以后,并不清空原有日志的數(shù)據(jù)。(4)執(zhí)行文件和文件組備份可以在BACKUP DATABASE語句中使用“FILE=邏輯文件名”或“FILEGROUP=邏輯文件組名”執(zhí)行一個(gè)文件和文件組備份。BACKUP DATABASE company FILEGROUP=PRIMARY TO company_filegroupbackup_primar
17、y2022年7月23日10.3.1 使用企業(yè)管理器恢復(fù)數(shù)據(jù)庫備份啟動(dòng)企業(yè)管理服務(wù)器,展開服務(wù)器組,然后展開服務(wù)器。展開“數(shù)據(jù)庫”文件夾,右擊數(shù)據(jù)庫,指向“所有任務(wù)”子菜單,然后單擊“還原數(shù)據(jù)庫”命令,彈出如圖所示的對(duì)話框。在“還原為數(shù)據(jù)庫”列表框中,如果要恢復(fù)的數(shù)據(jù)庫名稱與顯示的默認(rèn)數(shù)據(jù)庫名稱不同,請(qǐng)?jiān)谄渲羞M(jìn)行輸入或選擇。若要用新名稱恢復(fù)數(shù)據(jù)庫,輸入新的數(shù)據(jù)庫名稱。在還原選項(xiàng)欄中單擊“數(shù)據(jù)庫”單選按鈕。2022年7月23日在“要還原的第一個(gè)備份”列表中,選擇要恢復(fù)的備份集。在“還原”列表中,單擊要恢復(fù)的數(shù)據(jù)庫備份。單擊“選項(xiàng)”選項(xiàng)卡并執(zhí)行下列操作:(可選)在“還原為”中輸入組成數(shù)據(jù)庫備份的各數(shù)
18、據(jù)庫文件的新名稱或新位置。如果沒有其他要應(yīng)用的事務(wù)日志或差異數(shù)據(jù)庫備份,單擊“使數(shù)據(jù)庫可以繼續(xù)運(yùn)行,但無法恢復(fù)其他事務(wù)日志”。如果要應(yīng)用另一個(gè)事務(wù)日志或差異數(shù)據(jù)庫備份,則單擊“使數(shù)據(jù)庫不再運(yùn)行,但能恢復(fù)其他事務(wù)日志”然后單擊“確認(rèn)”開始恢復(fù)。2022年7月23日10.3.2 使用T-SQL語句恢復(fù)數(shù)據(jù)庫RESTORE恢復(fù)使用 BACKUP 命令所做的備份恢復(fù)數(shù)據(jù)庫的語法格式為:RESTORE DATABASE database_name | database_name_var ,.n FROM ,.n 恢復(fù)事務(wù)日志的語法格式為:RESTORE LOG database_name | database_name_var FROM ,.n 例:顯示恢復(fù)完整數(shù)據(jù)庫備份。restore database lwzz from lwzz _1例:恢復(fù)完整數(shù)據(jù)庫備份后恢復(fù)差異備份。另外,本例還說明如何恢復(fù)媒體上的另一個(gè)備份集,差異備份追加到包含完整數(shù)據(jù)庫備份的備份設(shè)備上。restor
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 開啟學(xué)生全面發(fā)展的智能之旅
- 【深度分析】交易:國內(nèi)外綠電交易對(duì)比剖析綠電價(jià)值探求運(yùn)營商收益率演變-國信證券
- 2025年禮品市場(chǎng)第三者責(zé)任保險(xiǎn)合同
- 2025年北師大版九年級(jí)生物下冊(cè)階段測(cè)試試卷
- 2025年華師大版九年級(jí)地理上冊(cè)階段測(cè)試試卷
- 2025年外研版九年級(jí)歷史下冊(cè)階段測(cè)試試卷
- 2025年浙教版九年級(jí)歷史下冊(cè)月考試卷含答案
- 二零二五版內(nèi)貿(mào)集裝箱運(yùn)輸與物流大數(shù)據(jù)分析合同4篇
- 2025年湘師大新版選修歷史下冊(cè)階段測(cè)試試卷含答案
- 2025年度影視基地設(shè)施租賃與拍攝服務(wù)合同4篇
- 2024-2030年中國海泡石產(chǎn)業(yè)運(yùn)行形勢(shì)及投資規(guī)模研究報(bào)告
- 動(dòng)物醫(yī)學(xué)類專業(yè)生涯發(fā)展展示
- 2024年同等學(xué)力申碩英語考試真題
- 世說新語原文及翻譯-副本
- 消除“艾梅乙”醫(yī)療歧視-從我做起
- 非遺文化走進(jìn)數(shù)字展廳+大數(shù)據(jù)與互聯(lián)網(wǎng)系創(chuàng)業(yè)計(jì)劃書
- 2024山西省文化旅游投資控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 科普知識(shí)進(jìn)社區(qū)活動(dòng)總結(jié)與反思
- 加油站廉潔培訓(xùn)課件
- 現(xiàn)金日記賬模板(帶公式)
- 消化內(nèi)科??票O(jiān)測(cè)指標(biāo)匯總分析
評(píng)論
0/150
提交評(píng)論