數(shù)據(jù)庫SQL ServeSQLite教程 課件 第10章 數(shù)據(jù)庫管理維護(hù)與新技術(shù)_第1頁
數(shù)據(jù)庫SQL ServeSQLite教程 課件 第10章 數(shù)據(jù)庫管理維護(hù)與新技術(shù)_第2頁
數(shù)據(jù)庫SQL ServeSQLite教程 課件 第10章 數(shù)據(jù)庫管理維護(hù)與新技術(shù)_第3頁
數(shù)據(jù)庫SQL ServeSQLite教程 課件 第10章 數(shù)據(jù)庫管理維護(hù)與新技術(shù)_第4頁
數(shù)據(jù)庫SQL ServeSQLite教程 課件 第10章 數(shù)據(jù)庫管理維護(hù)與新技術(shù)_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫SQLServer/SQlite教程授課教師:第10章數(shù)據(jù)庫管理維護(hù)與新技術(shù)對數(shù)據(jù)庫的管理維護(hù)至關(guān)重要。數(shù)據(jù)庫的備份與還原、分離與附加、導(dǎo)入與導(dǎo)出是數(shù)據(jù)庫維護(hù)的常用方法,當(dāng)然對數(shù)據(jù)庫的管理維護(hù)也離不開新的技術(shù)和方法。第10章

數(shù)據(jù)庫管理維護(hù)與新技術(shù)10.1事務(wù)管理目錄10.2數(shù)據(jù)庫安全管理10.3數(shù)據(jù)庫日常維護(hù)10.4數(shù)據(jù)庫新技術(shù)10.1事務(wù)管理10.1事務(wù)管理事務(wù)處理是所有大中型數(shù)據(jù)庫產(chǎn)品的一個(gè)關(guān)鍵問題,不同的事務(wù)處理方式會導(dǎo)致數(shù)據(jù)庫性能和功能上的巨大差異。事務(wù)處理是數(shù)據(jù)庫管理員與開發(fā)人員必須深刻理解的一個(gè)問題。10.1.1事務(wù)的概念事務(wù)(Transaction)是并發(fā)控制的單位,是用戶定義的一個(gè)操作序列。這些操作要么都做,要么都不做,是一個(gè)不可分割的工作單元。通過事務(wù),SQLServer能將邏輯相關(guān)的一組操作綁定在一起,以便服務(wù)器保持?jǐn)?shù)據(jù)的完整性。最典型的一個(gè)例子就是銀行的轉(zhuǎn)賬操作,在A、B兩個(gè)賬戶之間只有完成全部操作才行,否則對銀行和儲戶都將帶來嚴(yán)重后果。10.1.1事務(wù)的概念事務(wù)通常是以BeginTransaction開始,以Commit或Rollback結(jié)束。其中Commit表示提交,即將事務(wù)中所有對數(shù)據(jù)庫的更新寫回到磁盤上的物理數(shù)據(jù)庫中,事務(wù)正常結(jié)束。Rollback表示回滾,即在事務(wù)運(yùn)行過程中發(fā)生了某種故障,事務(wù)不能繼續(xù)進(jìn)行,系統(tǒng)將事務(wù)中對數(shù)據(jù)庫的所有已完成的操作全部撤銷,回滾到事務(wù)開始的狀態(tài)。如果要在事務(wù)中存取多個(gè)數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)(包含執(zhí)行存儲過程),就必須使用分布式事務(wù)(DistributedTransaction)。分布式事務(wù)是指事務(wù)的參與者、支持事務(wù)的服務(wù)器、資源服務(wù)器及事務(wù)管理器分別位于不同的分布式系統(tǒng)的不同節(jié)點(diǎn)上。執(zhí)行事務(wù)通常有以下3種模式。2.顯式事務(wù)1.自動(dòng)提交事務(wù)3.隱式事務(wù)10.1.2執(zhí)行事務(wù)的3種模式10.1.2執(zhí)行事務(wù)的3種模式1.自動(dòng)提交事務(wù)自動(dòng)提交是系統(tǒng)默認(rèn)的事務(wù)方式。對于用戶發(fā)出的每一條SQL語句,SQLServer都會自動(dòng)開始一個(gè)事務(wù),并且在執(zhí)行后自動(dòng)進(jìn)行提交操作來完成這個(gè)事務(wù)。在這種事務(wù)模式下,一個(gè)SQL語句就是一個(gè)事務(wù)。10.1.2執(zhí)行事務(wù)的3種模式2.顯式事務(wù)顯式事務(wù)是指在自動(dòng)提交模式下以BeginTransaction開始,以Commit或Rollback結(jié)束的一個(gè)事務(wù)。BeginTransaction標(biāo)記一個(gè)顯式本地事務(wù)起始點(diǎn)。BeginTransaction語句使@@TRANCOUNT自動(dòng)加1,CommitTransaction語句使@@TRANCOUNT遞減1,RollbackTransaction語句使@@TRANCOUNT遞減至0。@@TRANCOUNT是一個(gè)全局變量,可返回當(dāng)前連接中處于激活狀態(tài)的事務(wù)數(shù)。10.1.2執(zhí)行事務(wù)的3種模式2.顯式事務(wù)顯式事務(wù)的語法格式如下:begintran[saction][transaction_name|@tran_name_variable[withmark['description']]]參數(shù)說明:(1)transaction_name是給事務(wù)分配的名稱,其命名要符合標(biāo)識符命名規(guī)則,最大長度是32個(gè)字符。(2)@tran_name_variable是用char、varchar、nchar或nvarchar數(shù)據(jù)類型聲明有效事務(wù)的變量的名稱。(3)withmark['description']指定在日志中標(biāo)記事務(wù)。description是描述該標(biāo)記的字符串。如果使用了withmark,則必須指定事務(wù)名。withmark允許將事務(wù)日志還原到命名標(biāo)記。顯式事務(wù)語句如表10-1所示(表10-1見教材197頁)。10.1.2執(zhí)行事務(wù)的3種模式2.顯式事務(wù)例10-1

假設(shè)銀行賬戶表為account(cardid,userid,accesstype,moneycount,balance),用戶表為users(-userid,name,address,telephone)。轉(zhuǎn)賬事務(wù)處理代碼語句如下:createproceduretrans_money(@fromaccountvarchar(50),--轉(zhuǎn)出賬號@toaccountvarchar(50),--轉(zhuǎn)入賬號@moneycountmoney--轉(zhuǎn)賬金額)asifexists(select*fromaccountwherecardid=@fromaccount)10.1.2執(zhí)行事務(wù)的3種模式2.顯式事務(wù)beginifexists(select*fromaccountwherecardid=@toaccount)beginif(selectbalancefromaccountwherecardid=@fromaccount)>=@money_countbegin--開始轉(zhuǎn)賬begintransactioninsertintoaccount(cardid,accesstype,moneycount)values(@fromaccount,-,@moneycount)if@@error<>0beginrollbacktransaction--發(fā)生錯(cuò)誤則回滾事務(wù),無條件退出endelseraiserror('轉(zhuǎn)入賬號不存在!',16,1)endelseriserror('轉(zhuǎn)出賬號不存在!',16,1)12returnendinsertintoaccount(cardid,accesstype,moneycount)values(@toaccount,+,@moneycount)committransaction--兩條語句都完成,提交事務(wù)endelseraiserror('轉(zhuǎn)賬金額不能大于該賬號的余額',16,1)--16表示嚴(yán)重程度10.1.2執(zhí)行事務(wù)的3種模式2.顯式事務(wù)10.1.2執(zhí)行事務(wù)的3種模式3.隱式事務(wù)當(dāng)連接以隱性事務(wù)模式進(jìn)行操作時(shí),SQLServer將在提交或回滾當(dāng)前事務(wù)后自動(dòng)啟動(dòng)新事務(wù)。無須描述事務(wù)的開始,只需用Commit提交或Rollback回滾每個(gè)事務(wù)。隱式事務(wù)模式可生成連續(xù)的事務(wù)鏈。10.2數(shù)據(jù)庫安全管理10.2數(shù)據(jù)庫安全管理SQLServer的安全性管理分為3個(gè)等級:操作系統(tǒng)級、SQLServer級和數(shù)據(jù)庫級。操作系統(tǒng)級的安全性是指用戶通過網(wǎng)絡(luò)使用客戶計(jì)算機(jī)實(shí)現(xiàn)SQLServer服務(wù)器訪問時(shí),首先要獲得計(jì)算機(jī)操作系統(tǒng)的使用權(quán)。SQLServer級的安全性是指SQLServer的服務(wù)器級安全性建立在控制服務(wù)器登錄賬號和口令的基礎(chǔ)上。SQLServer采用標(biāo)準(zhǔn)SQLServer登錄和集成WindowsNT登錄兩種方式,無論使用哪種登錄方式,用戶在登錄時(shí)提供的登錄賬號和口令都必須正確。數(shù)據(jù)庫級的安全性是指在用戶通過SQLServer服務(wù)器的安全性檢驗(yàn)以后,將直接面對不同的數(shù)據(jù)庫入口。10.2數(shù)據(jù)庫安全管理MicrosoftSQLServer對用戶的訪問要經(jīng)過驗(yàn)證和授權(quán)兩個(gè)階段。驗(yàn)證是檢驗(yàn)用戶的身份標(biāo)識,授權(quán)是允許用戶做些什么。在驗(yàn)證階段,MicrosoftSQLServer2008R2可以通過SQLServer賬戶或者Windows賬戶對用戶進(jìn)行驗(yàn)證。如果通過驗(yàn)證,則用戶就可以連接到SQLServer服務(wù)器,否則連接失敗。在授權(quán)階段,系統(tǒng)檢查用戶是否有訪問服務(wù)器上數(shù)據(jù)的權(quán)限。10.2.1服務(wù)器安全管理SQLServer服務(wù)器有兩種驗(yàn)證模式:Windows驗(yàn)證模式和混合驗(yàn)證模式。SQLServer數(shù)據(jù)庫系統(tǒng)通常運(yùn)行在NT服務(wù)器平臺或基于NT架構(gòu)的Windows上。NT作為網(wǎng)絡(luò)操作系統(tǒng),本身就具備管理登錄及驗(yàn)證用戶合法性的能力,因此Windows驗(yàn)證模式就是利用用戶安全性和賬號管理的機(jī)制,允許SQLServer使用NT的用戶名和口令。當(dāng)用戶試圖登錄到SQLServer時(shí),從NT或Windows的網(wǎng)絡(luò)安全屬性中獲取登錄用戶的賬號和密碼,并驗(yàn)證其合法性。10.2.1服務(wù)器安全管理在混合驗(yàn)證模式下,Windows驗(yàn)證和SQLServer驗(yàn)證都是可用的。NT的用戶既可以使用NT驗(yàn)證,也可以使用SQLServer驗(yàn)證。如果在安裝過程中選擇混合驗(yàn)證模式,則必須為名為SA的內(nèi)置SQLServer系統(tǒng)管理員賬戶提供一個(gè)強(qiáng)密碼并確認(rèn)該密碼。SA賬戶使用SQLServer身份驗(yàn)證進(jìn)行連接。10.2.1服務(wù)器安全管理在SSMS中設(shè)置驗(yàn)證模式的步驟如下:(1)在“對象資源管理器”中,選擇相應(yīng)的服務(wù)器,右擊鼠標(biāo)彈出快捷菜單,選擇“屬性”命令,打開“服務(wù)器屬性”對話框,選擇“安全性”選項(xiàng),進(jìn)入設(shè)置頁面,如圖10-1所示。圖10-1“服務(wù)器屬性”對話框10.2.1服務(wù)器安全管理(2)在“服務(wù)器身份驗(yàn)證”中設(shè)置需要的模式,最后單擊“確定”按鈕,完成設(shè)置。在SQLServer中有兩種賬號,其一是登錄服務(wù)器的登錄賬號(LoginName),其二是使用數(shù)據(jù)庫的用戶賬號(UserName)。在SSMS的“對象資源管理器”中展開“安全性”節(jié)點(diǎn),再展開“登錄名”節(jié)點(diǎn),即可看到系統(tǒng)的登錄賬號,其中SA是超級管理員賬號,允許SQLServer的系統(tǒng)管理員登錄,如圖10-2所示。10.2.1服務(wù)器安全管理在圖10-2中,右擊“登錄名”,彈出快捷菜單,選擇“新建登錄名”,可以創(chuàng)建使用Windows身份驗(yàn)證的SQLServer登錄名,或使用SQLServer身份驗(yàn)證的SQLServer登錄名。圖10-2服務(wù)器登錄賬號10.2.1服務(wù)器安全管理在登錄名(如LAPTOP-03Q4URED\40375)上右擊,彈出快捷菜單,選擇“屬性”命令,彈出“登錄屬性”對話框。在“常規(guī)”選項(xiàng)卡的“默認(rèn)數(shù)據(jù)庫”中可選擇需要經(jīng)常使用的數(shù)據(jù)庫(如studscore_wl2);在“用戶映射”選項(xiàng)卡的“映射到此登錄名的用戶”下勾選相應(yīng)的數(shù)據(jù)庫,表示該登錄賬號可以訪問勾選的數(shù)據(jù)庫。設(shè)置完成后,單擊“確定”按鈕,如圖10-3所示。圖10-3“登錄屬性”對話框10.2.2數(shù)據(jù)庫安全管理在SQLServer服務(wù)器配置了身份驗(yàn)證模式并創(chuàng)建了登錄賬戶以后,還需要授予它們合適的數(shù)據(jù)庫訪問權(quán)限,也就是將每個(gè)需要訪問數(shù)據(jù)庫的登錄賬戶映射到一個(gè)數(shù)據(jù)庫的用戶。數(shù)據(jù)庫用戶是數(shù)據(jù)庫級的主體,是登錄賬戶在數(shù)據(jù)庫中的映射,是在數(shù)據(jù)庫中執(zhí)行操作和活動(dòng)的行動(dòng)者。一個(gè)登錄名可對應(yīng)多個(gè)用戶,一個(gè)用戶也可以被多個(gè)登錄名使用。10.2.2數(shù)據(jù)庫安全管理每個(gè)數(shù)據(jù)庫都有一個(gè)dbo用戶(databaseowner),而且不能刪除,dbo可以在數(shù)據(jù)庫范圍內(nèi)執(zhí)行一切操作。每個(gè)SQLServer服務(wù)器登錄賬戶在其創(chuàng)建的數(shù)據(jù)庫中都映射為dbo用戶,sa是所有系統(tǒng)數(shù)據(jù)庫的擁有者,因此sa映射為所有系統(tǒng)數(shù)據(jù)庫的dbo用戶。如果沒有為一個(gè)登錄名指定數(shù)據(jù)庫用戶,則登錄時(shí)系統(tǒng)將該登錄名映射成guest用戶。每個(gè)數(shù)據(jù)庫都有一個(gè)guest用戶,默認(rèn)情況下該用戶沒有任何權(quán)限,而且需要啟用該用戶然后才能使用。1.特殊的數(shù)據(jù)庫用戶10.2.2數(shù)據(jù)庫安全管理使用菜單方式創(chuàng)建數(shù)據(jù)庫用戶,步驟如下:(1)在“對象資源管理器”中,展開“數(shù)據(jù)庫”節(jié)點(diǎn),展開某一數(shù)據(jù)庫,展開“安全性”節(jié)點(diǎn),展開“用戶”節(jié)點(diǎn)。在用戶名上右擊,彈出快捷菜單,選擇“新建用戶”命令,彈出“數(shù)據(jù)庫用戶-新建”對話框,如圖10-4所示。2.創(chuàng)建數(shù)據(jù)庫用戶圖10-4“數(shù)據(jù)庫用戶新建”快捷菜單10.2.2數(shù)據(jù)庫安全管理(2)在“用戶名”處輸入數(shù)據(jù)庫用戶名(如stud),在“登錄名”框內(nèi)選擇已經(jīng)創(chuàng)建的登錄賬號,在“默認(rèn)架構(gòu)”處選擇dbo架構(gòu),在“數(shù)據(jù)庫角色成員身份”處勾選“db_owner”,然后單擊“確定”按鈕,完成數(shù)據(jù)庫用戶的創(chuàng)建,如圖10-5所示。(3)查看、刪除數(shù)據(jù)庫用戶。在“對象資源管理器”中,展開“數(shù)據(jù)庫”節(jié)點(diǎn),展開“安全性”文件夾,展開“用戶”節(jié)點(diǎn),選擇相應(yīng)的用戶,右擊彈出快捷菜單,選擇“刪除”命令,刪除用戶。2.創(chuàng)建數(shù)據(jù)庫用戶10.2.2數(shù)據(jù)庫安全管理2.創(chuàng)建數(shù)據(jù)庫用戶圖10-5“數(shù)據(jù)庫用戶-新建”對話框10.3數(shù)據(jù)庫日常維護(hù)10.3.1數(shù)據(jù)庫備份與還原數(shù)據(jù)庫備份與還原是維護(hù)數(shù)據(jù)庫安全性和完整性的重要手段。備份是對SQLServer數(shù)據(jù)庫及其他相關(guān)信息進(jìn)行拷貝保存的過程。還原即恢復(fù),是將數(shù)據(jù)庫備份進(jìn)行裝載,并應(yīng)用事務(wù)日志重建數(shù)據(jù)庫操作的過程。10.3.1數(shù)據(jù)庫備份與還原(1)備份的內(nèi)容。備份的內(nèi)容包括數(shù)據(jù)庫、事務(wù)日志和文件3種。其中:數(shù)據(jù)庫又分為系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫。系統(tǒng)數(shù)據(jù)庫主要是記錄系統(tǒng)信息和用戶數(shù)據(jù)庫信息的master、msdb和model等數(shù)據(jù)庫。用戶數(shù)據(jù)庫存放用戶的業(yè)務(wù)數(shù)據(jù),對用戶而言,用戶數(shù)據(jù)庫的備份是非常重要的。1.數(shù)據(jù)庫備份1)備份的內(nèi)容和類型10.3.1數(shù)據(jù)庫備份與還原(2)備份的類型。備份的類型包括完全備份、差異備份、事務(wù)日志備份、文件和文件組備份4種。1.數(shù)據(jù)庫備份1)備份的內(nèi)容和類型①完全備份是備份整個(gè)數(shù)據(jù)庫,包含用戶表、系統(tǒng)表、索引、視圖和存儲過程等所有數(shù)據(jù)庫對象,是最安全最保險(xiǎn)的備份類型。一般說,完全備份應(yīng)定期進(jìn)行。②差異備份也稱增量備份,只備份上一次數(shù)據(jù)庫備份以后發(fā)生更改的數(shù)據(jù)。其優(yōu)點(diǎn)是存儲和恢復(fù)速度快,一般是每天做一次差異備份。10.3.1數(shù)據(jù)庫備份與還原③事務(wù)日志備份就是對數(shù)據(jù)庫發(fā)生的事務(wù)進(jìn)行備份。只有完整恢復(fù)模式和大容量日志恢復(fù)模式下才會有事務(wù)日志備份。1.數(shù)據(jù)庫備份1)備份的內(nèi)容和類型④文件和文件組備份是一種文件拷貝,如果數(shù)據(jù)庫發(fā)生故障,將備份文件直接覆蓋原文件和文件組就可以了。10.3.1數(shù)據(jù)庫備份與還原(1)使用菜單方式進(jìn)行數(shù)據(jù)庫備份。操作步驟如下:①在“對象資源管理器”中,展開“數(shù)據(jù)庫”節(jié)點(diǎn),選擇數(shù)據(jù)庫,右擊彈出快捷菜單,選擇“任務(wù)”命令,彈出下一級菜單,選擇“備份”命令,如圖10-6所示。1.數(shù)據(jù)庫備份2)備份操作圖10-6數(shù)據(jù)庫“備份”快捷菜單10.3.1數(shù)據(jù)庫備份與還原②在數(shù)據(jù)庫備份對話框中,在“源”“備份集”和“目標(biāo)”欄處進(jìn)行選擇或添加的操作,如備份數(shù)據(jù)庫“studscore_wl2”。在“源”欄,在“數(shù)據(jù)庫(T)”處選擇“studscore_wl2”,“備份類型”處選擇“完整”,“備份組件”處點(diǎn)選“數(shù)據(jù)庫(B)”。在“備份集”欄,在“名稱(N)”處選擇“studscore_wl2-完整數(shù)據(jù)庫備份”,點(diǎn)選“晚于(E)”。在“目標(biāo)”欄,在“備份到”處點(diǎn)選“磁盤”,單擊“添加”按鈕,輸入備份文件名字和地址,如圖10-7所示。③單擊“確定”按鈕,提示“備份成功!”。1.數(shù)據(jù)庫備份2)備份操作10.3.1數(shù)據(jù)庫備份與還原1.數(shù)據(jù)庫備份2)備份操作圖10-7“數(shù)據(jù)庫備份”對話框10.3.1數(shù)據(jù)庫備份與還原(2)使用代碼方式進(jìn)行數(shù)據(jù)庫備份。在SQLServer2008R2中可以使用backup命令完成數(shù)據(jù)庫完整備份。語法格式如下:backupdatabasedatabase_nameto<backup_device>[,...n]參數(shù)說明:database_name是備份文件名;backup_device是備份設(shè)備,不要加引號。1.數(shù)據(jù)庫備份2)備份操作10.3.1數(shù)據(jù)庫備份與還原例10-2

直接完整備份到磁盤。如studscore_wl2備份為stud19wl.bak。(1)創(chuàng)建備份設(shè)備。代碼如下:sp_addumpdevice'disk','bookstoreback','D:\sq\stud19wl.bak'(2)完整備份。代碼如下:backupdatabasestudscore_wl2tobookstoreback或者backupdatabasestudscore_wl2todisk='D:\sq\stud19wl.bak'1.數(shù)據(jù)庫備份2)備份操作10.3.1數(shù)據(jù)庫備份與還原1.數(shù)據(jù)庫備份2)備份操作(3)事務(wù)日志備份。代碼格式如下:backlog數(shù)據(jù)庫名to備份設(shè)備(邏輯名|物理名)說明:當(dāng)恢復(fù)模式為simple時(shí),不允許使用backlog語句。在數(shù)據(jù)庫的屬性中修改“選項(xiàng)”頁的恢復(fù)模式,選擇“完整”即可使用backlog語句。在完成數(shù)據(jù)庫備份的情況下,才能進(jìn)行事務(wù)日志備份。例10-3

在完成數(shù)據(jù)庫備份的情況下,完成studscore_wl2的事務(wù)日志備份。代碼如下:backupdatabasestudscore_wl2todisk='D:\sq\stud19wl.bak'backuplogstudscore_wl2todisk='D:\sq\stud19wl.bak'10.3.1數(shù)據(jù)庫備份與還原1.數(shù)據(jù)庫備份2)備份操作10.3.1數(shù)據(jù)庫備份與還原數(shù)據(jù)庫還原操作步驟如下:(1)右擊數(shù)據(jù)庫,彈出菜單,選擇“還原...”,選擇還原“數(shù)據(jù)庫”,進(jìn)入還原數(shù)據(jù)庫對話框。(2)在還原數(shù)據(jù)庫對話框中輸入目標(biāo)數(shù)據(jù)庫的名稱,即沒有使用過的數(shù)據(jù)庫名稱,在“源設(shè)備”處選擇用于還原的備份文件。在“還原”處勾選,然后單擊“確定”按鈕,還原成功,如圖10-8所示。2.數(shù)據(jù)庫還原10.3.1數(shù)據(jù)庫備份與還原2.數(shù)據(jù)庫還原圖10-8“數(shù)據(jù)庫還原”對話框10.3.2數(shù)據(jù)庫分離與附加用戶可以分離數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件,并將其附加于同一或其他數(shù)據(jù)庫服務(wù)器上。數(shù)據(jù)庫的分離和附加過程是一對反向操作,經(jīng)常使用這一方法實(shí)現(xiàn)數(shù)據(jù)庫在不同數(shù)據(jù)庫服務(wù)器之間的移動(dòng)。在“對象資源管理器”中,展開“數(shù)據(jù)庫”節(jié)點(diǎn),右擊某一數(shù)據(jù)庫彈出快捷菜單,選擇“任務(wù)”命令,彈出下一級菜單,選擇“分離”命令。在“分離數(shù)據(jù)庫”對話框中單擊“確定”按鈕,此時(shí)在SSMS中就看不到該數(shù)據(jù)庫了。1.分離10.3.2數(shù)據(jù)庫分離與附加在“對象資源管理器”中,右擊“數(shù)據(jù)庫”節(jié)點(diǎn),彈出快捷菜單,選擇“附加”命令。在“附加數(shù)據(jù)庫”對話框中選擇數(shù)據(jù)庫的主文件,單擊“確定”按鈕,返回對話框,如圖10-9所示。然后單擊“確定”按鈕,完成數(shù)據(jù)庫附加操作。2.附加10.3.2數(shù)據(jù)庫分離與附加圖10-9“數(shù)據(jù)庫附加”對話框數(shù)據(jù)導(dǎo)入和導(dǎo)出是SQLServer與外部系統(tǒng)之間進(jìn)行數(shù)據(jù)交換的手段。通過導(dǎo)入和導(dǎo)出操作,可以實(shí)現(xiàn)SQLServer和其他異類數(shù)據(jù)源(如電子表格Excel、Access、Oracle數(shù)據(jù)庫等)之間的數(shù)據(jù)傳輸。導(dǎo)入是將數(shù)據(jù)從數(shù)據(jù)文件加載到SQLServer表,導(dǎo)出是將數(shù)據(jù)從SQLServer表復(fù)制到數(shù)據(jù)文件。10.3.3數(shù)據(jù)導(dǎo)入和導(dǎo)出在SQLServer2008R2的SSMS中,使用“導(dǎo)入向?qū)А惫ぞ呖梢酝瓿蓮钠渌麛?shù)據(jù)源向SQLServer數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)的操作。操作步驟如下:(1)在“對象資源管理器”中展開“數(shù)據(jù)庫”節(jié)點(diǎn),右擊某一個(gè)數(shù)據(jù)庫,然后從快捷菜單中選擇“任務(wù)”下的“導(dǎo)入數(shù)據(jù)”選項(xiàng),彈出“導(dǎo)入數(shù)據(jù)”對話框,單擊“下一步”按鈕。10.3.3數(shù)據(jù)導(dǎo)入和導(dǎo)出1.導(dǎo)入10.3.3數(shù)據(jù)導(dǎo)入和導(dǎo)出1.導(dǎo)入(2)在“選擇數(shù)據(jù)源”對話框中,選擇要導(dǎo)入數(shù)據(jù)源的類型。如在數(shù)據(jù)源選擇“MicrosoftExcel”,單擊“瀏覽”按鈕選擇要導(dǎo)入數(shù)據(jù)文件的路徑和文件名,勾選“首行包含列名稱”復(fù)選框,單擊“下一步”按鈕,如圖10-10所示。圖10-10“選擇數(shù)據(jù)源”對話框10.3.3數(shù)據(jù)導(dǎo)入和導(dǎo)出1.導(dǎo)入(3)在“選擇目標(biāo)”對話框中,指定將數(shù)據(jù)復(fù)制到何處。在“目標(biāo)”處選擇“SQLServerNativeClient10.0”;在“服務(wù)器名稱”處選擇具體的服務(wù)器名稱及身份驗(yàn)證方法,如XWQ123\SQLEXPRESS;在“數(shù)據(jù)庫”列表中選擇某一數(shù)據(jù)庫。然后單擊“下一步”按鈕,如圖10-11所示。圖10-11“選擇目標(biāo)”對話框10.3.3數(shù)據(jù)導(dǎo)入和導(dǎo)出1.導(dǎo)入(4)在“指定表復(fù)制或查詢”對話框中,選擇“復(fù)制一個(gè)或多個(gè)表或視圖的數(shù)據(jù)”。單擊“下一步”按鈕,在“選擇源表或源視圖”對話框中選擇一個(gè)或多個(gè)要復(fù)制的源表,然后單擊“下一步”按鈕,進(jìn)入“完成該向?qū)А睂υ捒?,如圖10-12所示。圖10-12“完成該向?qū)А睂υ捒?0.3.3數(shù)據(jù)導(dǎo)入和導(dǎo)出1.導(dǎo)入(5)顯示執(zhí)行成功,如圖10-13所示。圖10-13數(shù)據(jù)導(dǎo)入執(zhí)行成功數(shù)據(jù)導(dǎo)出是將數(shù)據(jù)庫中的數(shù)據(jù)表或視圖中的數(shù)據(jù)導(dǎo)出為其他數(shù)據(jù)格式。數(shù)據(jù)導(dǎo)出的過程與數(shù)據(jù)導(dǎo)入的過程類似。例如,將orderitems表的數(shù)據(jù)導(dǎo)出。經(jīng)過“選擇數(shù)據(jù)源”→“選擇目標(biāo)”→“指定表復(fù)制或查詢”→“選擇源表和源視圖”→“查看數(shù)據(jù)類型映射”→運(yùn)行包等過程的操作,最后顯示執(zhí)行成功,如圖10-14所示。10.3.3數(shù)據(jù)導(dǎo)入和導(dǎo)出2.導(dǎo)出10.3.3數(shù)據(jù)導(dǎo)入和導(dǎo)出2.導(dǎo)出圖10-14數(shù)據(jù)導(dǎo)出執(zhí)行成功10.4數(shù)據(jù)庫新技術(shù)10.4.1分布式數(shù)據(jù)庫隨著數(shù)據(jù)庫技術(shù)的日趨成熟、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和應(yīng)用范圍的擴(kuò)充,數(shù)據(jù)庫應(yīng)用已經(jīng)非常普遍。20世紀(jì)90年代以來,以分布式為主要特征的數(shù)據(jù)庫系統(tǒng)進(jìn)入商品化應(yīng)用階段。分布式數(shù)據(jù)庫系統(tǒng)(DistributedDataBaseSystem,DDBS)包含分式數(shù)據(jù)庫管理系統(tǒng)(DDBMS)和分布式數(shù)據(jù)庫(DDB)。在分布式數(shù)據(jù)庫系統(tǒng)中,一個(gè)應(yīng)用程序可以對數(shù)據(jù)庫進(jìn)行透明操作,數(shù)據(jù)庫中的數(shù)據(jù)分別在不同的局部數(shù)據(jù)庫中存儲、由不同的DBMS進(jìn)行管理、在不同的機(jī)器上運(yùn)行、由不同的操作系統(tǒng)支持、被不同的通信網(wǎng)絡(luò)連接在一起。10.4.1分布式數(shù)據(jù)庫分布式數(shù)據(jù)庫系統(tǒng)就是物理上分散而邏輯上集中的數(shù)據(jù)庫系統(tǒng)。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,DDBS日趨成為數(shù)據(jù)庫領(lǐng)域的主流方向?!胺植加?jì)算”概念突破了集中式DBS的框架,數(shù)據(jù)分布使系統(tǒng)走上分布式數(shù)據(jù)庫的道路,功能分布使系統(tǒng)走上C/S道路。這是DBS的兩個(gè)發(fā)展方向,如圖10-15所示。1.DDBS的基本概念10.4.1分布式數(shù)據(jù)庫1.DDBS的基本概念圖10-15分布式數(shù)據(jù)庫系統(tǒng)10.4.1分布式數(shù)據(jù)庫分布式數(shù)據(jù)庫系統(tǒng)適合于單位分散的部門,允許各個(gè)部門將其常用的數(shù)據(jù)存儲在本地,實(shí)施就地存放本地使用,從而提高響應(yīng)速度,降低通信費(fèi)用。DDBS的優(yōu)點(diǎn)如下:(1)每個(gè)站點(diǎn)(Site)自身具有完全的本地DBS,經(jīng)濟(jì)性能優(yōu)越,且響應(yīng)速度快。(2)所有站點(diǎn)協(xié)同工作,組成了一個(gè)邏輯上的統(tǒng)一數(shù)據(jù)庫。(3)站點(diǎn)數(shù)據(jù)由分布式DBMS(DDBMS)管理,靈活且可擴(kuò)展性好。(4)本地應(yīng)用和本地用戶只訪問其所注冊的那個(gè)站點(diǎn)上的數(shù)據(jù),可靠性高,可用性好。(5)全局應(yīng)用和全局用戶訪問涉及多個(gè)站點(diǎn)上的數(shù)據(jù)。2.DDBS的優(yōu)缺點(diǎn)10.4.1分布式數(shù)據(jù)庫DDBS的缺點(diǎn)如下:(1)系統(tǒng)開銷大。系統(tǒng)開銷主要花在通信部分。(2)存取結(jié)構(gòu)復(fù)雜。原來在集中式系統(tǒng)中有效存取數(shù)據(jù)的技術(shù),在分布式系統(tǒng)中都不再適用。(3)數(shù)據(jù)的安全性和保密性較難處理。2.DDBS的優(yōu)缺點(diǎn)10.4.2NoSQL數(shù)據(jù)庫為彌補(bǔ)關(guān)系數(shù)據(jù)庫的不足,出現(xiàn)了NoSQL數(shù)據(jù)庫。NoSQL是NotOnlySQL(非關(guān)系型數(shù)據(jù)庫)的縮寫,即不使用傳統(tǒng)的關(guān)系數(shù)據(jù)模型,而是使用如key-value存儲、文檔型、列存儲、圖形數(shù)據(jù)庫等方式存儲數(shù)據(jù)的數(shù)據(jù)庫技術(shù)。新需求與關(guān)系數(shù)據(jù)庫的局限性如下:(1)對數(shù)據(jù)庫高并發(fā)讀寫的需求。(2)對海量數(shù)據(jù)的高效率存儲和訪問的需求。(3)對數(shù)據(jù)庫的高可擴(kuò)展性和高可用性的需求。(4)數(shù)據(jù)庫事務(wù)一致性需求。(5)數(shù)據(jù)庫的寫實(shí)時(shí)性和讀實(shí)時(shí)性需求。(6)對復(fù)雜的SQL查詢,特別是多表關(guān)聯(lián)查詢的需求。1.新需求與關(guān)系數(shù)據(jù)庫的局限性10.4.2NoSQL數(shù)據(jù)庫NoSQL數(shù)據(jù)庫的特點(diǎn)如下:(1)可以處理超大量的數(shù)據(jù)。(2)通常運(yùn)行在便宜的PC服務(wù)器集群上。(3)高性能。(4)沒有過多的操作。(5)Bootstrap支持。2.NoSQL數(shù)據(jù)庫的特點(diǎn)10.4.2NoSQL數(shù)據(jù)庫NoSQL是非關(guān)系型數(shù)據(jù)存儲的廣義定義。NoSQL數(shù)據(jù)庫種類繁多,但是它們都有一個(gè)共同的特點(diǎn),即都可以去掉關(guān)系數(shù)據(jù)庫的關(guān)系型特性。NoSQL數(shù)據(jù)庫系統(tǒng)的實(shí)現(xiàn)方式有以下幾種:(1)基于key-value存儲的NoSQL數(shù)據(jù)庫,如Memcached、TokyoTyrant、Flare、ROMA、Redis等。(2)基于文檔存儲的NoSQL數(shù)據(jù)庫,如MongoDB、CouchDB等。(3)基于列存儲的NoSQL數(shù)據(jù)庫,如Cass

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論