![《數(shù)據(jù)庫(kù)及基礎(chǔ)》項(xiàng)目9 維護(hù)學(xué)生信息管理數(shù)據(jù)庫(kù)的安全性_第1頁(yè)](http://file4.renrendoc.com/view5/M01/3D/22/wKhkGGYKsPmAGr-MAAEBw5X1osc623.jpg)
![《數(shù)據(jù)庫(kù)及基礎(chǔ)》項(xiàng)目9 維護(hù)學(xué)生信息管理數(shù)據(jù)庫(kù)的安全性_第2頁(yè)](http://file4.renrendoc.com/view5/M01/3D/22/wKhkGGYKsPmAGr-MAAEBw5X1osc6232.jpg)
![《數(shù)據(jù)庫(kù)及基礎(chǔ)》項(xiàng)目9 維護(hù)學(xué)生信息管理數(shù)據(jù)庫(kù)的安全性_第3頁(yè)](http://file4.renrendoc.com/view5/M01/3D/22/wKhkGGYKsPmAGr-MAAEBw5X1osc6233.jpg)
![《數(shù)據(jù)庫(kù)及基礎(chǔ)》項(xiàng)目9 維護(hù)學(xué)生信息管理數(shù)據(jù)庫(kù)的安全性_第4頁(yè)](http://file4.renrendoc.com/view5/M01/3D/22/wKhkGGYKsPmAGr-MAAEBw5X1osc6234.jpg)
![《數(shù)據(jù)庫(kù)及基礎(chǔ)》項(xiàng)目9 維護(hù)學(xué)生信息管理數(shù)據(jù)庫(kù)的安全性_第5頁(yè)](http://file4.renrendoc.com/view5/M01/3D/22/wKhkGGYKsPmAGr-MAAEBw5X1osc6235.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
維護(hù)學(xué)生信息管理數(shù)據(jù)庫(kù)的安全性任務(wù)9-1SQLServer身份驗(yàn)證模式目錄Contents任務(wù)9-2SQLServer權(quán)限管理任務(wù)9-3用戶和角色管理任務(wù)9-4數(shù)據(jù)備份和恢復(fù)任務(wù)9-5實(shí)訓(xùn):實(shí)現(xiàn)數(shù)據(jù)庫(kù)安全性任務(wù)9-1SQLServer身份驗(yàn)證模式PART1(二)配置身份驗(yàn)證模式任務(wù)assignments(一)SQL的兩種身份驗(yàn)證模式(三)SQLServer2016登錄SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理【任務(wù)分析】數(shù)據(jù)庫(kù)引擎中的權(quán)限通過(guò)登錄名和服務(wù)器角色在服務(wù)器級(jí)別進(jìn)行管理,以及通過(guò)數(shù)據(jù)庫(kù)用戶和數(shù)據(jù)庫(kù)角色在數(shù)據(jù)庫(kù)級(jí)別進(jìn)行管理。本節(jié)通過(guò)身份驗(yàn)證模式的管理和實(shí)踐,實(shí)現(xiàn)典型的權(quán)限?!菊n堂任務(wù)】?熟悉SQLServer2016的身份驗(yàn)證模式?配置身份驗(yàn)證模式?理解SQLServer2016登錄SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理(一)SQLServer2016的兩種身份驗(yàn)證模式在安裝過(guò)程中,必須為數(shù)據(jù)庫(kù)引擎選擇身份驗(yàn)證模式。下面是兩種可能的模式:Windows身份驗(yàn)證模式和混合模式。Windows身份驗(yàn)證模式會(huì)啟用Windows身份驗(yàn)證并禁用SQLServer身份驗(yàn)證?;旌夏J綍?huì)同時(shí)啟用Windows身份驗(yàn)證和SQLServer身份驗(yàn)證。Windows身份驗(yàn)證始終可用,并且無(wú)法禁用。如果在安裝過(guò)程中選擇混合模式身份驗(yàn)證,則必須為名為sa的內(nèi)置SQLServer系統(tǒng)管理員賬戶提供一個(gè)強(qiáng)密碼并確認(rèn)該密碼。sa賬戶使用SQLServer身份驗(yàn)證進(jìn)行連接。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理如果在安裝過(guò)程中選擇Windows身份驗(yàn)證,則安裝程序會(huì)為SQLServer身份驗(yàn)證創(chuàng)建sa賬戶,但會(huì)禁用該賬戶。如果稍后更改為混合模式身份驗(yàn)證并要使用sa賬戶,則必須啟用該賬戶??梢詫⑷魏蜽indows或SQLServer賬戶配置為系統(tǒng)管理員。由于sa賬戶廣為人知且經(jīng)常成為惡意用戶的攻擊目標(biāo),因此除非應(yīng)用程序需要使用sa賬戶,否則請(qǐng)勿啟用該賬戶。切勿為sa賬戶設(shè)置空密碼或弱密碼。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理1.Windows身份驗(yàn)證模式當(dāng)用戶通過(guò)Windows身份驗(yàn)證模式連接時(shí),SQLServer使用操作系統(tǒng)中的Windows主體標(biāo)記驗(yàn)證賬戶名和密碼。也就是說(shuō),用戶身份由Windows確認(rèn)。SQLServer不要求提供密碼,也不執(zhí)行身份驗(yàn)證。Windows身份驗(yàn)證是默認(rèn)身份驗(yàn)證模式,并且比SQLServer身份驗(yàn)證更為安全。Windows身份驗(yàn)證使用Kerberos安全協(xié)議,提供有關(guān)強(qiáng)密碼復(fù)雜性驗(yàn)證的密碼策略強(qiáng)制,還支持賬戶鎖定和密碼過(guò)期。通過(guò)Windows身份驗(yàn)證創(chuàng)建的連接有時(shí)也稱為可信連接,這是因?yàn)镾QLServer信任由Windows提供的憑據(jù)。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理使用Windows身份驗(yàn)證模式,可以在域級(jí)別創(chuàng)建Windows組,并且可以在SQLServer中為整個(gè)組創(chuàng)建登錄名。在域級(jí)別管理訪問(wèn)可以簡(jiǎn)化賬戶管理。圖9.1中的DESKTOP-39TV50J\SQLEXPRESS表示當(dāng)前的計(jì)算機(jī);DESKTOP-39TV50J\lyq是指登錄該計(jì)算機(jī)時(shí)使用的Windows賬戶名稱,是SQLServer2016默認(rèn)的身份驗(yàn)證模式。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理2.混合身份驗(yàn)證模式使用混合身份驗(yàn)證模式,可以同時(shí)使用Windows身份驗(yàn)證和SQLServer身份驗(yàn)證。SQLServer身份驗(yàn)證主要用于外部的用戶,如那些可能從Internet訪問(wèn)數(shù)據(jù)庫(kù)的用戶。可以配置從Internet訪問(wèn)SQLServer2016的應(yīng)用程序,以自動(dòng)使用指定的賬戶或提示用戶輸入有效的SQLServer用戶賬戶和密碼。使用混合身份驗(yàn)證模式時(shí),SQLServer2016首先確定用戶的連接是否使用有效的SQLServer用戶賬戶登錄。如果用戶有有效的用戶賬戶登錄和正確的密碼,則接受用戶的連接;如果用戶有有效的用戶賬戶登錄,但使用了不正確的密碼,則用戶的連接被拒絕。僅當(dāng)用戶沒(méi)有有效的用戶賬戶登錄時(shí),SQLServer2016才檢查Windows賬戶的信息。在這樣的情況下,SQLServer2016確定Windows賬戶是否有連接到服務(wù)器的權(quán)限。如果賬戶有權(quán)限,連接被接受;否則,連接被拒絕。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理使用SQLServer身份驗(yàn)證模式時(shí),在SQLServer中創(chuàng)建的用戶賬戶并不基于Windows用戶賬戶。用戶賬戶和密碼均使用SQLServer創(chuàng)建并存儲(chǔ)在SQLServer中。使用SQLServer身份驗(yàn)證模式連接的用戶每次連接時(shí)都必須提供憑據(jù)(用戶賬戶和密碼)。使用SQLServer身份驗(yàn)證模式時(shí),必須為所有SQLServer賬戶設(shè)置強(qiáng)密碼。圖9.2所示為使用SQLServer身份驗(yàn)證模式的界面。在使用SQLServer身份驗(yàn)證模式時(shí),用戶必須提供用戶賬戶和密碼,SQLServer檢查是否注冊(cè)了該SQLServer登錄賬戶或指定的密碼是否與以前記錄的密碼相匹配來(lái)進(jìn)行身份驗(yàn)證。如果SQLServer未設(shè)置登錄賬戶,則身份驗(yàn)證將失敗,而且用戶會(huì)收到錯(cuò)誤信息。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理(1)SQLServer身份驗(yàn)?zāi)J阶C的缺點(diǎn)①如果用戶是具有Windows登錄名和密碼的Windows域用戶,則還必須提供另一個(gè)用于連接的(SQLServer)登錄名和密碼。記住多個(gè)登錄名和密碼對(duì)于許多用戶而言都較為困難。每次連接到數(shù)據(jù)庫(kù)時(shí),都必須提供SQLServer憑據(jù)也十分煩人。②SQLServer身份驗(yàn)證模式無(wú)法使用Kerberos安全協(xié)議。③SQLServer登錄名不能使用Windows提供的其他密碼策略。④必須在連接時(shí),通過(guò)網(wǎng)絡(luò)傳遞已加密的SQLServer身份驗(yàn)證登錄密碼。一些自動(dòng)連接的應(yīng)用程序?qū)⒚艽a存儲(chǔ)在客戶端,這可能產(chǎn)生其他攻擊點(diǎn)。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理2SQLServer身份驗(yàn)證的優(yōu)點(diǎn)①允許SQLServer支持那些需要進(jìn)行SQLServer身份驗(yàn)證的舊版應(yīng)用程序和由第三方提供的應(yīng)用程序。②允許SQLServer支持具有混合操作系統(tǒng)的環(huán)境,在這種環(huán)境中,并不是所有用戶均由Windows域驗(yàn)證。③允許用戶從未知的或不可信的域進(jìn)行連接。例如,既定客戶使用指定的SQLServer登錄名進(jìn)行連接,以接收其相應(yīng)的應(yīng)用程序。④允許SQLServer支持基于Web的應(yīng)用程序,在這些應(yīng)用程序中,用戶可創(chuàng)建自己的標(biāo)識(shí)。⑤允許軟件開(kāi)發(fā)人員使用基于已知的預(yù)設(shè)SQLServer登錄名的復(fù)雜權(quán)限層次結(jié)構(gòu)來(lái)分發(fā)應(yīng)用程序。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理(二)配置身份驗(yàn)證模式在第一次安裝SQLServer2016或者使用SQLServer2016連接其他服務(wù)器時(shí),需要指定驗(yàn)證模式。對(duì)于已指定驗(yàn)證模式的SQLServer2016服務(wù)器,還可以修改驗(yàn)證模式,具體步驟如下。(1)打開(kāi)SSMS窗口,選擇一種身份驗(yàn)證模式,建立與服務(wù)器的連接。(2)在【對(duì)象資源管理器】窗格中用鼠標(biāo)右鍵單擊服務(wù)器名稱,在彈出的快捷菜單中選擇【屬性】命令,打開(kāi)【服務(wù)器屬性】窗口,如圖9.3所示。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理在默認(rèn)打開(kāi)的【常規(guī)】選項(xiàng)卡中顯示了SQLServer2016服務(wù)器的常規(guī)信息,包括SQLServer2016的版本、操作系統(tǒng)版本、運(yùn)行平臺(tái)、默認(rèn)語(yǔ)言,以及內(nèi)存和CPU等。(3)在左側(cè)的【選擇頁(yè)】列中選擇【安全性】選項(xiàng),如圖9.4所示,在【服務(wù)器身份驗(yàn)證】選項(xiàng)區(qū)中選擇服務(wù)器身份驗(yàn)證模式。不管使用哪種模式,都可以通過(guò)審核來(lái)跟蹤訪問(wèn)SQLServer2016的用戶,默認(rèn)設(shè)置下僅審核失敗的登錄。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理啟用審核后,用戶的登錄記錄于Windows應(yīng)用程序日志、SQLServer2016錯(cuò)誤日志兩者之中,這取決于如何配置SQLServer2016的日志?!镜卿泴徍恕窟x項(xiàng)區(qū)中的審核選項(xiàng)如下。①無(wú):禁止跟蹤審核。②僅限失敗的登錄:默認(rèn)設(shè)置,選擇后,僅審核失敗的登錄嘗試。③僅限成功的登錄:僅審核成功的登錄嘗試。③失敗和成功的登錄:審核所有成功和失敗的登錄嘗試。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理(三)SQLServer2016登錄1.創(chuàng)建SQLServer登錄名SQLServer2016內(nèi)置的登錄名都具有特殊的含義和作用,因此不應(yīng)該將它們分配給普通用戶使用,而是創(chuàng)建一些適用于用戶權(quán)限的登錄名。(1)使用SSMS創(chuàng)建登錄名,具體步驟如下。①打開(kāi)SSMS窗口,展開(kāi)【服務(wù)器】/【安全性】節(jié)點(diǎn)。②用鼠標(biāo)右鍵單擊【登錄名】節(jié)點(diǎn),從彈出的快捷菜單中選擇【新建登錄名】命令,打開(kāi)【登錄名-新建】窗口,在【登錄名】文本框中輸入xuser。③在下方選中【SQLServer身份驗(yàn)證】單選按鈕,并輸入密碼及確認(rèn)密碼,這里注意密碼區(qū)分大小寫(xiě)。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理④在【默認(rèn)數(shù)據(jù)庫(kù)】下拉列表中設(shè)置使用xuser會(huì)進(jìn)入grademanager。再根據(jù)需要設(shè)置其他選項(xiàng),或者使用默認(rèn)值,如圖9.5所示。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理(三)SQLServer2016登錄1.創(chuàng)建SQLServer登錄名SQLServer2016內(nèi)置的登錄名都具有特殊的含義和作用,因此不應(yīng)該將它們分配給普通用戶使用,而是創(chuàng)建一些適用于用戶權(quán)限的登錄名。(1)使用SSMS創(chuàng)建登錄名,具體步驟如下。①打開(kāi)SSMS窗口,展開(kāi)【服務(wù)器】/【安全性】節(jié)點(diǎn)。②用鼠標(biāo)右鍵單擊【登錄名】節(jié)點(diǎn),從彈出的快捷菜單中選擇【新建登錄名】命令,打開(kāi)【登錄名-新建】窗口,在【登錄名】文本框中輸入xuser。③在下方選中【SQLServer身份驗(yàn)證】單選按鈕,并輸入密碼及確認(rèn)密碼,這里注意密碼區(qū)分大小寫(xiě)。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理④在【默認(rèn)數(shù)據(jù)庫(kù)】下拉列表中設(shè)置使用xuser會(huì)進(jìn)入grademanager。再根據(jù)需要設(shè)置其他選項(xiàng),或者使用默認(rèn)值,如圖9.6所示。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理⑤單擊【用戶映射】選項(xiàng),選中g(shù)rademanager數(shù)據(jù)庫(kù)前的復(fù)選框,其他選項(xiàng)保持默認(rèn),如圖9.7所示。⑥設(shè)置完成后,單擊【確定】按鈕,完成新登錄名的創(chuàng)建。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理2.創(chuàng)建Windows賬戶登錄SQLServer默認(rèn)的身份驗(yàn)證模式為Windows身份驗(yàn)證模式,如果使用Windows身份驗(yàn)證模式登錄SQLServer,則該登錄賬戶必須存在于Windows系統(tǒng)的賬戶數(shù)據(jù)庫(kù)中。創(chuàng)建Windows賬戶登錄的第一步是在操作系統(tǒng)中創(chuàng)建用戶賬戶,具體步驟如下。(1)打開(kāi)【控制面板】|【管理工具】中的【計(jì)算機(jī)管理】窗口,展開(kāi)【系統(tǒng)工具】|【本地用戶和組】節(jié)點(diǎn),如圖9.10所示。(2)用鼠標(biāo)右鍵單擊【用戶】節(jié)點(diǎn),選擇【新用戶】命令,在彈出的【新用戶】對(duì)話框中輸入相應(yīng)信息,設(shè)置【用戶名】為xuser,【描述】為“學(xué)生管理系統(tǒng)管理員”,設(shè)置相應(yīng)的密碼并選中【密碼永不過(guò)期】復(fù)選框,如圖9.11所示。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理(3)設(shè)置完成后,單擊【創(chuàng)建】按鈕完成新用戶的創(chuàng)建。(4)創(chuàng)建用戶賬戶與組之后,就可以創(chuàng)建要映射到這些賬戶的Windows登錄。打開(kāi)SSMS窗口,展開(kāi)【服務(wù)器】【安全性】|【登錄名】節(jié)點(diǎn)。(5)用鼠標(biāo)右鍵單擊【登錄名】節(jié)點(diǎn),從彈出的快捷菜單中選擇【新建登錄名】命令,打開(kāi)【登錄名-新建】窗口。(6)單擊【搜索】按鈕,在彈出的【選擇用戶或組】對(duì)話框中單擊【高級(jí)】按鈕,在彈出的對(duì)話框中單擊【立即查找】按鈕。從搜索結(jié)果中把剛剛創(chuàng)建的用戶MGT\xuser添加進(jìn)來(lái),單擊【確定】按鈕,如圖9.12所示。(7)單擊【確定】按鈕返回。在【登錄名-新建】窗口中,選中【W(wǎng)indows身份驗(yàn)證】單選按鈕,并選擇grademanager為默認(rèn)數(shù)據(jù)庫(kù),如圖9.13所示。(8)單擊【確定】按鈕,Windows登錄名創(chuàng)建完成。SQLServer身份驗(yàn)證模式任務(wù)9-1任務(wù)1-1數(shù)據(jù)處理PART2任務(wù)9-2
SQLServer權(quán)限管理(一)權(quán)限類(lèi)型(二)操作權(quán)限任務(wù)assignments
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理【任務(wù)分析】SQLServer2016使用權(quán)限為訪問(wèn)控制的最后一道安全設(shè)施。本節(jié)學(xué)習(xí)如何操作權(quán)限?!菊n堂任務(wù)】?權(quán)限的類(lèi)型?操作權(quán)限在SQLServer2016數(shù)據(jù)庫(kù)中的每個(gè)數(shù)據(jù)庫(kù)對(duì)象都由該數(shù)據(jù)庫(kù)的一個(gè)用戶擁有(一個(gè)用戶擁有多個(gè)對(duì)象),擁有者以數(shù)據(jù)庫(kù)賦予的ID作為標(biāo)識(shí)。每個(gè)SQLServer安全對(duì)象都有可以授予主體的關(guān)聯(lián)權(quán)限。數(shù)據(jù)庫(kù)引擎中的權(quán)限可分配給登錄名和服務(wù)器角色的服務(wù)器級(jí)別,以及分配給數(shù)據(jù)庫(kù)用戶和數(shù)據(jù)庫(kù)角色的數(shù)據(jù)庫(kù)級(jí)別進(jìn)行管理。
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理(一)權(quán)限類(lèi)型權(quán)限確定了用戶能在SQLServer2016或數(shù)據(jù)庫(kù)中執(zhí)行的操作,并根據(jù)登錄ID、組成員關(guān)系和角色成員關(guān)系為用戶授予相應(yīng)權(quán)限。在用戶執(zhí)行更改數(shù)據(jù)庫(kù)定義或訪問(wèn)數(shù)據(jù)庫(kù)的任何操作之前,用戶必須有適當(dāng)?shù)臋?quán)限。在SQLServer2016中可以使用的權(quán)限有對(duì)象權(quán)限和語(yǔ)句權(quán)限。1.對(duì)象權(quán)限SQLServer2016中的所有對(duì)象權(quán)限都是可授予的??梢怨芾硖囟ǖ膶?duì)象、特定類(lèi)型的所有對(duì)象和所有屬于特定架構(gòu)對(duì)象的權(quán)限。通過(guò)授予、拒絕和撤銷(xiāo)執(zhí)行特殊語(yǔ)句或存儲(chǔ)過(guò)程的操作來(lái)控制對(duì)這些對(duì)象的訪問(wèn)。例如,可以授予用戶在表中選擇(SELECT)信息的權(quán)限,但是拒絕在表中插入(INSERT)、更新(UPDATE)和刪除(DELETE)信息的權(quán)限。
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理2.語(yǔ)句權(quán)限語(yǔ)句權(quán)限是用于控制創(chuàng)建數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)中的對(duì)象涉及的權(quán)限。例如,如果用戶需要在數(shù)據(jù)庫(kù)中創(chuàng)建表,則應(yīng)該向該用戶授予CREATETABLE語(yǔ)句權(quán)限。只有sysadmin、db_owner和db_securityadmin角色成員才能夠授予用戶語(yǔ)句權(quán)限。表9.1中列出了SQLServer2016中可以授予、拒絕和撤銷(xiāo)的語(yǔ)句權(quán)限。
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理(二)操作權(quán)限在SQLServer2016中,用戶和角色的權(quán)限以記錄的形式存儲(chǔ)在各個(gè)數(shù)據(jù)庫(kù)的sysprotects系統(tǒng)表中。權(quán)限有3種狀態(tài):授予、拒絕、撤銷(xiāo)。1.授予權(quán)限為了允許用戶執(zhí)行某些活動(dòng)或者操作數(shù)據(jù),需要授予相應(yīng)的權(quán)限,使用GRANT語(yǔ)句授予授權(quán)。GRANT語(yǔ)句的語(yǔ)法格式如下。GRANT{ALL|statement[,…n]}TOsecurity_account[,…n]
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理各參數(shù)的含義如下。(1)ALL:表示授予所有可以應(yīng)用的權(quán)限。其中在授予命令權(quán)限時(shí),只有固定的服務(wù)器角色成員sysadmin可以使用ALL關(guān)鍵字;而在授予對(duì)象權(quán)限時(shí),固定服務(wù)器角色成員sysadmin、固定數(shù)據(jù)庫(kù)角色成員db_owner和數(shù)據(jù)庫(kù)對(duì)象擁有者都可以使用關(guān)鍵字ALL。(2)statement:表示可以授予權(quán)限的命令,如CREATEDATABASE。(3)security_account:定義被授予權(quán)限的用戶單位。security_account可以是SQLServer的數(shù)據(jù)庫(kù)用戶、SQLServer的角色、Windows的用戶或工作組。
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理2.撤銷(xiāo)權(quán)限使用REVOKE語(yǔ)句可以撤銷(xiāo)以前授予或拒絕的權(quán)限。撤銷(xiāo)類(lèi)似于拒絕,但是撤銷(xiāo)權(quán)限是刪除已授予的權(quán)限,并不是妨礙用戶、組或角色從更高級(jí)別集成已授予的權(quán)限。撤銷(xiāo)對(duì)象權(quán)限的基本語(yǔ)法如下。REVOKE{ALL|statement[,…n]}FROMsecurity_account[,...n]撤銷(xiāo)權(quán)限的語(yǔ)法與授予權(quán)限的語(yǔ)法基本相同。
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理3.拒絕權(quán)限授予用戶對(duì)象權(quán)限后,數(shù)據(jù)庫(kù)管理員可以根據(jù)實(shí)際情況在不撤銷(xiāo)用戶訪問(wèn)權(quán)限的情況下,拒絕用戶訪問(wèn)數(shù)據(jù)庫(kù)對(duì)象。拒絕對(duì)象權(quán)限的基本語(yǔ)法如下。DENY{ALL|statement[,…n]}FROMsecurity_account[,...n]拒絕訪問(wèn)的語(yǔ)法要素與授予權(quán)限和撤銷(xiāo)權(quán)限的語(yǔ)法要素意義一致。
SQLServer權(quán)限管理任務(wù)9-2任務(wù)1-1數(shù)據(jù)處理【例9.5】把在grademanager數(shù)據(jù)庫(kù)的student表中執(zhí)行INSERT操作的權(quán)限授予public角色,并拒絕用戶guest擁有該項(xiàng)權(quán)限。USEgrademanagerGOGRANTINSERTONstudentTOpublicGODENYINSERTONstudentTOguest提示如果使用了DENY命令拒絕某用戶獲得某項(xiàng)權(quán)限,則即使該用戶后來(lái)加入了具有該項(xiàng)權(quán)限的某工作組或角色,該用戶仍然無(wú)法使用該項(xiàng)權(quán)限。任務(wù)9-3用戶和角色管理PART3(一)數(shù)據(jù)庫(kù)用戶(二)管理角色(三)管理服務(wù)器角色(四)管理數(shù)據(jù)庫(kù)角色任務(wù)assignments用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理【任務(wù)分析】理解SQLServer2016數(shù)據(jù)庫(kù)用戶和角色的管理?!菊n堂任務(wù)】?SQLServer2016數(shù)據(jù)庫(kù)用戶的管理?SQLServer2016數(shù)據(jù)庫(kù)角色的管理?SQLServer2016服務(wù)器角色的管理用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(一)數(shù)據(jù)庫(kù)用戶數(shù)據(jù)庫(kù)用戶是數(shù)據(jù)庫(kù)級(jí)的主體,是登錄名在數(shù)據(jù)庫(kù)中的映射,是在數(shù)據(jù)庫(kù)中執(zhí)行操作和活動(dòng)的行動(dòng)者。在SQLServer2016系統(tǒng)中,數(shù)據(jù)庫(kù)用戶不能直接擁有表、視圖等數(shù)據(jù)庫(kù)對(duì)象,而是通過(guò)架構(gòu)擁有這些對(duì)象。1.?dāng)?shù)據(jù)庫(kù)用戶使用數(shù)據(jù)庫(kù)用戶賬戶限制訪問(wèn)數(shù)據(jù)庫(kù)的范圍,默認(rèn)的數(shù)據(jù)庫(kù)用戶有dbo、guest和sys等。(1)dbo用戶數(shù)據(jù)庫(kù)所有者或dbo是一個(gè)特殊的數(shù)據(jù)庫(kù)用戶,并且被授予特殊的權(quán)限。一般來(lái)說(shuō),創(chuàng)建數(shù)據(jù)庫(kù)的用戶是數(shù)據(jù)庫(kù)的所有者。dbo被隱式授予對(duì)數(shù)據(jù)庫(kù)的所有權(quán)限,并且能將這些權(quán)限授予其他用戶。因?yàn)閟ysadmin服務(wù)器角色的成員被自動(dòng)映射為特殊用戶dbo,以sysadmin角色登錄能執(zhí)行dbo能執(zhí)行的任何任務(wù)。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(2)guest用戶guest用戶是一個(gè)加入數(shù)據(jù)庫(kù)并且允許登錄任何數(shù)據(jù)庫(kù)的特殊用戶。以guest賬戶訪問(wèn)數(shù)據(jù)庫(kù)的用戶賬戶被認(rèn)為是guest用戶的身份并且繼承g(shù)uest賬戶的所有權(quán)限和許可。默認(rèn)情況下,guest用戶存在于model數(shù)據(jù)庫(kù)中,并且被授予guest的權(quán)限。由于model是創(chuàng)建所有數(shù)據(jù)庫(kù)的模板,所以新的數(shù)據(jù)庫(kù)將包括guest賬戶,并且該賬戶將授予guest權(quán)限。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理在使用guest賬戶之前,應(yīng)該注意以下幾點(diǎn)關(guān)于guest賬戶的信息。(1)guest用戶是公共服務(wù)器角色的一個(gè)成員,并且繼承這個(gè)角色的權(quán)限。(2)在任何用戶以guest訪問(wèn)數(shù)據(jù)庫(kù)以前,guest必須存在于數(shù)據(jù)庫(kù)中。(3)guest用戶僅用于用戶賬戶具有訪問(wèn)SQLServer的權(quán)限,但是不能通過(guò)這個(gè)用戶賬戶訪問(wèn)數(shù)據(jù)庫(kù)。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理2.創(chuàng)建數(shù)據(jù)庫(kù)用戶創(chuàng)建數(shù)據(jù)庫(kù)用戶可分為兩步,首先,創(chuàng)建數(shù)據(jù)庫(kù)用戶使用的SQLServer2016登錄名,如果使用內(nèi)置的用戶賬戶,則可省略這一步,然后為數(shù)據(jù)庫(kù)指定到創(chuàng)建的用戶賬戶。(1)使用SSMS來(lái)創(chuàng)建數(shù)據(jù)庫(kù)用戶賬戶使用SSMS創(chuàng)建數(shù)據(jù)庫(kù)用戶賬戶,并給用戶授予訪問(wèn)數(shù)據(jù)庫(kù)grademanager的權(quán)限,具體步驟如下。①打開(kāi)SSMS窗口,展開(kāi)【服務(wù)器】|【數(shù)據(jù)庫(kù)】|grademanager節(jié)點(diǎn)。②再展開(kāi)【安全性】|【用戶】節(jié)點(diǎn)并用鼠標(biāo)右鍵單擊,從彈出的快捷菜單中選擇【新建用戶】命令,打開(kāi)【數(shù)據(jù)庫(kù)用戶-新建】窗口。③在【用戶名】文本框中輸入xuser_dbu指定要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)用戶名稱。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理④單擊【登錄名】文本框旁邊的【選項(xiàng)】按鈕,打開(kāi)【選擇登錄名】窗口,然后單擊【瀏覽】按鈕,打開(kāi)【查找對(duì)象】窗口。⑤選中xuser旁邊的復(fù)選框,單擊【確定】按鈕,返回【選擇登錄名】窗口,單擊【確定】按鈕,返回【數(shù)據(jù)庫(kù)用戶-新建】窗口。⑥用同樣的方式,選擇【默認(rèn)架構(gòu)】為dbo,如圖9.13所示。⑦單擊【確定】按鈕,完成帶登錄名“xuser”的SQL用戶“xuser_dbu”的創(chuàng)建。⑧為了驗(yàn)證是否創(chuàng)建成功,可以刷新【用戶】節(jié)點(diǎn),此時(shí)在【用戶】節(jié)點(diǎn)下可以看到剛才創(chuàng)建的xuser_dbu用戶賬戶。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理⑨其他選項(xiàng)卡【數(shù)據(jù)庫(kù)用戶-新建】窗口還提供了4個(gè)選項(xiàng):【擁有的架構(gòu)】、【成員身份】、【安全對(duì)象】和【擴(kuò)展屬性】?!緭碛械募軜?gòu)】選擇列出了可由新的數(shù)據(jù)庫(kù)用戶擁有的所有可能的架構(gòu)。若要向數(shù)據(jù)庫(kù)用戶添加架構(gòu)或者從數(shù)據(jù)庫(kù)用戶中刪除架構(gòu),則在【此用戶擁有的架構(gòu)】下選中或取消選中架構(gòu)旁邊的復(fù)選框。
圖9.14【數(shù)據(jù)庫(kù)用戶-新建】窗口【成員身份】選項(xiàng)列出了可由新的數(shù)據(jù)庫(kù)用戶擁有的所有可能的數(shù)據(jù)庫(kù)成員身份角色。若要向數(shù)據(jù)庫(kù)用戶添加角色或者從數(shù)據(jù)庫(kù)用戶中刪除角色,則在【數(shù)據(jù)庫(kù)角色成員身份】下選中或取消選中角色旁邊的復(fù)選框。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理【安全對(duì)象】選項(xiàng)將列出所有可能的安全對(duì)象以及可授予登錄名的針對(duì)這些安全對(duì)象的權(quán)限。【擴(kuò)展屬性】選項(xiàng)允許向數(shù)據(jù)庫(kù)用戶添加自定義屬性。此選項(xiàng)還提供以下選項(xiàng):數(shù)據(jù)庫(kù):顯示所選數(shù)據(jù)庫(kù)的名稱。此字段為只讀。排序規(guī)則:顯示用于所選數(shù)據(jù)庫(kù)的排序規(guī)則。此字段為只讀。屬性:查看或指定對(duì)象的擴(kuò)展屬性。每個(gè)擴(kuò)展屬性都由與該對(duì)象關(guān)聯(lián)的元數(shù)據(jù)的名稱/值對(duì)組成。省略號(hào)(...):?jiǎn)螕簟局怠亢竺娴氖÷蕴?hào)(…)按鈕可以打開(kāi)【擴(kuò)展屬性的值】對(duì)話框。在這一較大的空間中鍵入或查看擴(kuò)展屬性的值。有關(guān)詳細(xì)信息請(qǐng)參閱【擴(kuò)展屬性的值】對(duì)話框。刪除:刪除所選擴(kuò)展屬性。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(2)使用系統(tǒng)存儲(chǔ)過(guò)程sp_grantdbaccess添加數(shù)據(jù)庫(kù)用戶賬戶使用系統(tǒng)存儲(chǔ)過(guò)程sp_grantdbaccess添加數(shù)據(jù)庫(kù)用戶賬戶的語(yǔ)法格式如下。sp_grantdbaccess[@loginname=]'login'[,[@name_in_db=]'name_in_db']①@loginname:映射到新數(shù)據(jù)庫(kù)用戶的Windows組、Windows登錄名或SQLServer登錄名。②@name_in_db:新數(shù)據(jù)庫(kù)用戶的名稱。name_in_db是OUTPUT變量,其數(shù)據(jù)類(lèi)型為sysname,默認(rèn)值為NULL。如果不指定,則使用login。如果指定值為NULL的OUTPUT的變量,則@name_in_db將設(shè)置為login。name_in_db不存在于當(dāng)前數(shù)據(jù)庫(kù)中。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理【例9.6】使用sp_addlogin系統(tǒng)存儲(chǔ)過(guò)程創(chuàng)建一個(gè)到grademanager數(shù)據(jù)庫(kù)的登錄名xuser_exam,并使用sp_grantdbaccess系統(tǒng)存儲(chǔ)過(guò)程將該登錄名作為數(shù)據(jù)庫(kù)用戶進(jìn)行添加。EXECsp_addlogin'xuser_exam','123456','grademanager'GOUSEgrademanagerGOEXECsp_grantdbaccessxuser_exam用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(二)管理角色角色是SQLServer2016用來(lái)集中管理數(shù)據(jù)庫(kù)或者服務(wù)器權(quán)限的方式。數(shù)據(jù)庫(kù)管理員將操作數(shù)據(jù)庫(kù)的權(quán)限賦予角色,數(shù)據(jù)庫(kù)管理員再將角色賦予數(shù)據(jù)庫(kù)用戶或者登錄賬戶,從而使數(shù)據(jù)庫(kù)用戶或者登錄賬戶擁有相應(yīng)的權(quán)限。1.服務(wù)器角色服務(wù)器級(jí)角色也稱為固定服務(wù)器角色,因?yàn)椴荒軇?chuàng)建新的服務(wù)器級(jí)角色。服務(wù)器級(jí)角色的權(quán)限作用域?yàn)榉?wù)器范圍,可以向服務(wù)器級(jí)角色添加SQLServer登錄名、Windows賬戶和Windows組。固定服務(wù)器角色的每個(gè)成員都可以向其所屬角色添加其他登錄名。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理下面按照從低級(jí)別到高級(jí)別的角色順序,介紹圖9.15中的角色。(1)bulkadminbulkadmin服務(wù)器角色的成員可以運(yùn)行BULKINSERT語(yǔ)句。該語(yǔ)句允許從文本文件中將數(shù)據(jù)導(dǎo)入到SQLServer2016數(shù)據(jù)庫(kù)中,為需要執(zhí)行大容量插入數(shù)據(jù)庫(kù)的域賬戶設(shè)計(jì)。(2)dbcreatordbcreator服務(wù)器角色的成員可以創(chuàng)建、更改、刪除和還原任何數(shù)據(jù)庫(kù)。這不僅是適合助理DBA的角色,也是適合開(kāi)發(fā)人員的角色。(3)diskadmindiskadmin服務(wù)器角色用于管理磁盤(pán)文件,如鏡像數(shù)據(jù)庫(kù)和添加備份設(shè)備。它適合于助理DBA。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(4)processadminSQLServer2016能夠多任務(wù)化,也就是說(shuō),可以執(zhí)行多個(gè)進(jìn)程或多個(gè)事件。例如,SQLServer2016可以生成一個(gè)進(jìn)程用于向高速緩存寫(xiě)數(shù)據(jù),同時(shí)生成另一個(gè)進(jìn)程用于從高速緩存中讀取數(shù)據(jù)。這個(gè)角色的成員可以刪除進(jìn)程。(5)securityadminsecurityadmin服務(wù)器角色的成員將管理登錄名及其屬性。它們可以授權(quán)、拒絕和撤銷(xiāo)服務(wù)器級(jí)權(quán)限和數(shù)據(jù)庫(kù)級(jí)權(quán)限。另外,它們可以重置SQLServer2016登錄名的密碼。(6)serveradminserveradmin服務(wù)器角色的成員可以更改服務(wù)器范圍的配置選項(xiàng)和關(guān)閉服務(wù)器,如SQLServer2016可以使用多大內(nèi)存、監(jiān)視通過(guò)網(wǎng)絡(luò)發(fā)送多少信息,或者關(guān)閉服務(wù)器,這個(gè)角色可以減輕管理員的管理負(fù)擔(dān)。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(7)setupadmin該服務(wù)器角色為需要管理鏈接服務(wù)器和控制啟動(dòng)的存儲(chǔ)過(guò)程的用戶而設(shè)計(jì)。Setupadmin服務(wù)器角色的成員能添加到setupadmin,能增加、刪除和配置鏈接服務(wù)器,并能控制啟動(dòng)過(guò)程。(8)sysadminsysadmin服務(wù)器角色的成員有權(quán)在SQLServer2016中執(zhí)行任何任務(wù)。因?yàn)椴皇煜QLServer2016的用戶可能會(huì)意外地造成嚴(yán)重問(wèn)題,所以給這個(gè)角色指派用戶時(shí)應(yīng)該特別小心。通常情況下,這個(gè)角色僅適合于數(shù)據(jù)庫(kù)管理員。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理2.管理數(shù)據(jù)庫(kù)角色SQLServer2016提供了固定數(shù)據(jù)庫(kù)角色,這些角色擁有內(nèi)置的且不能被更改的權(quán)限??梢允褂霉潭ń巧珵橛脩糁概蓴?shù)據(jù)庫(kù)管理權(quán)限,用戶可以從屬于多個(gè)角色,也就是可以同時(shí)享有多重權(quán)限,常用的預(yù)定義數(shù)據(jù)庫(kù)角色如下。(1)db_owner:在數(shù)據(jù)庫(kù)中擁有全部權(quán)限。(2)db_accessadmin:可以添加或刪除用戶賬號(hào),以指定誰(shuí)可以訪問(wèn)數(shù)據(jù)庫(kù)。(3)db_securityadmin:可以管理全部權(quán)限、對(duì)象所有權(quán)、角色和角色成員資格。(4)db_ddladmin:可以發(fā)出ALLDDL,但不能發(fā)出GRANT(授權(quán))、REVOKE和DENY語(yǔ)句。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(5)db_backupoperator:可以備份該數(shù)據(jù)庫(kù)。(6)db_datareader:可以選擇數(shù)據(jù)庫(kù)任何用戶表中的所有數(shù)據(jù)。(7)db_datawriter:可以更改數(shù)據(jù)庫(kù)任何用戶表中的所有數(shù)據(jù)。(8)db_denydatareader:不能選擇數(shù)據(jù)庫(kù)任何用戶表中的任何數(shù)據(jù),但可以修改架構(gòu)。(9)db_denydatawriter:不能更改數(shù)據(jù)庫(kù)任何用戶表中的任何數(shù)據(jù)。(10)public:在SQLServer2016中,每個(gè)數(shù)據(jù)庫(kù)用戶都屬于public數(shù)據(jù)庫(kù)角色。當(dāng)尚未對(duì)某個(gè)用戶授予或拒絕安全對(duì)象的特定權(quán)限時(shí),該用戶將繼承授予該安全對(duì)象的public角色的權(quán)限。這個(gè)數(shù)據(jù)庫(kù)角色不能刪除。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(三)管理服務(wù)器角色1.使用SSMS將登錄名指派到服務(wù)器角色為前面創(chuàng)建的登錄名指派或者更改服務(wù)器角色,步驟如下。(1)打開(kāi)SSMS窗口,選擇某種身份驗(yàn)證模式,建立與SQLServer2016服務(wù)器的連接。(2)在【對(duì)象資源管理器】窗格中展開(kāi)【服務(wù)器】|【安全性】|【登錄名】節(jié)點(diǎn)。(3)用鼠標(biāo)右鍵單擊登錄名xuser,選擇【屬性】命令,彈出【登錄屬性-xuser】窗口。(4)選擇【服務(wù)器角色】選項(xiàng),如圖9.15所示。(5)【服務(wù)器角色】列表中,選中復(fù)選框來(lái)授予xuser不同的服務(wù)器角色,例如sysadmin。(6)設(shè)置完成后,單擊【確定】按鈕返回。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理2.使用系統(tǒng)存儲(chǔ)過(guò)程sp_addsrvrolemember增加登錄到服務(wù)器角色使用系統(tǒng)存儲(chǔ)過(guò)程sp_addsrvrolemember增加登錄到服務(wù)器角色的語(yǔ)法格式如下。SP_addsrvrolemember[@loginame=]'login',[@rolename=]'role'【例9.7】將Windows登錄名xuser添加到sysadmin服務(wù)器角色中。EXECsp_addsrvrolemember'xuser','sysadmin'3.使用系統(tǒng)存儲(chǔ)過(guò)程sp_dropsrvrolemember刪除登錄到服務(wù)器角色使用系統(tǒng)存儲(chǔ)過(guò)程sp_dropsrvrolemember刪除登錄到服務(wù)器角色的語(yǔ)法格式如下。sp_dropsrvrolemember[@loginame=]'login',[@rolename=]'role'【例9.8】從sysadmin服務(wù)器角色中刪除登錄xuser。EXECsp_dropsrvrolemember'xuser','sysadmin'用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(四)管理數(shù)據(jù)庫(kù)角色數(shù)據(jù)庫(kù)角色是具有相同訪問(wèn)權(quán)限的數(shù)據(jù)庫(kù)用戶賬號(hào)或組的集合。可以使用SQLServer中的角色高效地管理權(quán)限。將權(quán)限分配給角色,然后在角色中添加和刪除用戶以及登錄名。使用角色,不必單獨(dú)維護(hù)各個(gè)用戶權(quán)限。通過(guò)數(shù)據(jù)庫(kù)用戶和角色來(lái)控制數(shù)據(jù)庫(kù)的訪問(wèn)和管理。數(shù)據(jù)庫(kù)角色應(yīng)用于單個(gè)數(shù)據(jù)庫(kù)。存在兩種類(lèi)型的數(shù)據(jù)庫(kù)角色:數(shù)據(jù)庫(kù)中預(yù)定義的“固定數(shù)據(jù)庫(kù)角色”和可以創(chuàng)建的“用戶定義的數(shù)據(jù)庫(kù)角色”??梢韵驍?shù)據(jù)庫(kù)角色中添加任何數(shù)據(jù)庫(kù)用戶賬戶和其他SQLServer角色。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理1.將登錄指派到角色將登錄名添加到數(shù)據(jù)庫(kù)角色中來(lái)限定該登錄對(duì)數(shù)據(jù)庫(kù)擁有的權(quán)限,步驟如下。(1)打開(kāi)SSMS窗口,在【對(duì)象資源管理器】窗格中,展開(kāi)【數(shù)據(jù)庫(kù)】|grademanager節(jié)點(diǎn)。(2)展開(kāi)【安全性】/【數(shù)據(jù)庫(kù)角色】節(jié)點(diǎn),用鼠標(biāo)右鍵單擊db_denydatawriter節(jié)點(diǎn),選擇【屬性】命令,打開(kāi)【數(shù)據(jù)庫(kù)角色屬性】窗口。(3)單擊【添加】按鈕,打開(kāi)【選擇用戶數(shù)據(jù)庫(kù)或角色】窗口,然后單擊【瀏覽】按鈕,打開(kāi)【查找對(duì)象】對(duì)話框,如圖9.17所示。(4)在【匹配的對(duì)象】列表中選中【名稱】列前的復(fù)選框,然后單擊【確定】按鈕,返回【選擇用戶數(shù)據(jù)庫(kù)或角色】窗口。全部啟用指派多個(gè)登錄到同一個(gè)數(shù)據(jù)庫(kù)角色。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(5)單擊【確定】按鈕,返回【數(shù)據(jù)庫(kù)角色屬性】窗口,如圖9.18所示。(6)添加完成后,單擊【確定】按鈕關(guān)閉【數(shù)據(jù)庫(kù)角色屬性】窗口。(7)使用SQLServer身份驗(yàn)證模式建立連接,在【用戶名】文本框中輸入前面指定的數(shù)據(jù)庫(kù)用戶xuser,在【密碼】文本框中輸入前面設(shè)定的密碼,單擊【連接】按鈕打開(kāi)新的查詢窗口。(8)單擊【新建查詢】按鈕,打開(kāi)新的SQLServer查詢窗口,在查詢窗口中輸入以下測(cè)試角色修改是否生效的語(yǔ)句。USEgrademanagerINSERTINTOstudent(sno,sname,ssex)VALUES('2007020212','江南','男')用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理2.管理數(shù)據(jù)庫(kù)角色SQLServer2016提供了固定數(shù)據(jù)庫(kù)角色,這些角色擁有內(nèi)置的且不能被更改的權(quán)限??梢允褂霉潭ń巧珵橛脩糁概蓴?shù)據(jù)庫(kù)管理權(quán)限,用戶可以從屬于多個(gè)角色,也就是可以同時(shí)享有多重權(quán)限,常用的預(yù)定義數(shù)據(jù)庫(kù)角色如下。(1)db_owner:在數(shù)據(jù)庫(kù)中擁有全部權(quán)限。(2)db_accessadmin:可以添加或刪除用戶賬號(hào),以指定誰(shuí)可以訪問(wèn)數(shù)據(jù)庫(kù)。(3)db_securityadmin:可以管理全部權(quán)限、對(duì)象所有權(quán)、角色和角色成員資格。(4)db_ddladmin:可以發(fā)出ALLDDL,但不能發(fā)出GRANT(授權(quán))、REVOKE和DENY語(yǔ)句。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理2.新建數(shù)據(jù)庫(kù)角色固定的數(shù)據(jù)庫(kù)角色不能更改權(quán)限,有時(shí)可能不能滿足需要。這時(shí),可以為特定數(shù)據(jù)庫(kù)創(chuàng)建用戶定義的數(shù)據(jù)庫(kù)角色設(shè)置權(quán)限。例如,假設(shè)有一個(gè)數(shù)據(jù)庫(kù)有3種類(lèi)型的用戶:需要查看數(shù)據(jù)的普通用戶、需要能夠修改數(shù)據(jù)的管理員和需要能修改數(shù)據(jù)庫(kù)對(duì)象的開(kāi)發(fā)員。在這種情況下,可以創(chuàng)建3個(gè)角色來(lái)處理這些用戶類(lèi)型,然后僅管理這些角色,而不用管理許多不同的用戶賬戶。在創(chuàng)建數(shù)據(jù)庫(kù)角色時(shí),先給該角色指派權(quán)限,然后將用戶指派給該角色,這樣用戶將繼承給這個(gè)角色指派的任何權(quán)限。這不同于固定數(shù)據(jù)庫(kù)角色,因?yàn)樵诠潭ń巧胁恍枰概蓹?quán)限,只需要添加用戶。創(chuàng)建自定義數(shù)據(jù)庫(kù)角色的步驟如下。(1)打開(kāi)SSMS窗口,在【對(duì)象資源管理器】窗格中,展開(kāi)【數(shù)據(jù)庫(kù)】|grademanager節(jié)點(diǎn)。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(2)展開(kāi)【安全性】|【角色】節(jié)點(diǎn),用鼠標(biāo)右鍵單擊【數(shù)據(jù)庫(kù)角色】節(jié)點(diǎn),選擇【新建數(shù)據(jù)庫(kù)角色】命令,打開(kāi)【數(shù)據(jù)庫(kù)角色屬性】窗口。在【角色名稱】文本框輸入school_role,設(shè)置【所有者】為dbo。(3)單擊【添加】按鈕,將數(shù)據(jù)庫(kù)用戶guest和xuer_exam添加到【此角色成員】列表中,如圖9.19所示。(4)選擇【安全對(duì)象】選項(xiàng),單擊【搜索】按鈕,添加student表為【安全對(duì)象】,啟用【選擇】后面【授予】列的復(fù)選框,如圖9.20所示。(5)單擊【確定】按鈕,創(chuàng)建這個(gè)數(shù)據(jù)庫(kù)角色,并返回SSMS窗口。(6)關(guān)閉SSMS窗口,然后再次打開(kāi),使用xuser登錄連接SQLServer2016服務(wù)器。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(7)新建一個(gè)【查詢】窗口,輸入下列測(cè)試語(yǔ)句。USEgrademanagerGOSELECT*FROMstudent(8)這條語(yǔ)句將會(huì)成功執(zhí)行,因?yàn)閤user是新建的school_role角色的成員,而該角色具有執(zhí)行SELECT的權(quán)限。(9)執(zhí)行下列語(yǔ)句將會(huì)失敗,如圖9.21所示,因?yàn)閤user作為角色school_role的成員只能對(duì)student表進(jìn)行SELECT操作。USEgrademanagerGOINSERTINTOstudent(sno,sname,ssex)VALUES('2007010255','張小朋','男')用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理3.應(yīng)用程序角色應(yīng)用程序角色是一個(gè)數(shù)據(jù)庫(kù)主體,它使應(yīng)用程序能夠用其自身的、類(lèi)似用戶的特權(quán)來(lái)運(yùn)行。使用應(yīng)用程序角色,只允許通過(guò)特定應(yīng)用程序連接的用戶訪問(wèn)特定數(shù)據(jù)。與數(shù)據(jù)庫(kù)角色不同的是,應(yīng)用程序角色默認(rèn)情況下不包含任何成員,而且是非活動(dòng)的。應(yīng)用程序角色使用兩種身份驗(yàn)證模式,如果不啟動(dòng)應(yīng)用程序角色,就不能夠訪問(wèn)任何應(yīng)用程序角色專有的數(shù)據(jù)??梢允褂胹p_setapprole來(lái)激活,并且需要密碼。因?yàn)閼?yīng)用程序角色是數(shù)據(jù)庫(kù)級(jí)別的主體,所以它們只能通過(guò)其他數(shù)據(jù)庫(kù)中授予guest用戶賬戶的權(quán)限來(lái)訪問(wèn)這些數(shù)據(jù)庫(kù)。因此,任何已禁用的guest用戶賬戶將無(wú)法訪問(wèn)其他數(shù)據(jù)庫(kù)中的應(yīng)用程序角色。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理一旦激活了應(yīng)用程序角色,SQLServer2016就不再將用戶作為他們本身來(lái)看待,而是將用戶作為應(yīng)用程序來(lái)看待,并給他們指派應(yīng)用程序角色權(quán)限。創(chuàng)建并測(cè)試一個(gè)應(yīng)用程序角色的具體步驟如下。(1)打開(kāi)SSMS窗口,在【對(duì)象資源管理器】窗格中,展開(kāi)【數(shù)據(jù)庫(kù)】|grademanager節(jié)點(diǎn)。(2)展開(kāi)【安全性】|【角色】節(jié)點(diǎn),用鼠標(biāo)右鍵單擊【應(yīng)用程序角色】節(jié)點(diǎn),選擇【新建應(yīng)用程序角色】命令,打開(kāi)【應(yīng)用程序角色-新建】窗口。在【角色名稱】文本框輸入approle_xuser,設(shè)置【默認(rèn)架構(gòu)】為dbo,設(shè)置密碼為abc,如圖9.23所示。(3)選擇【安全對(duì)象】選項(xiàng),單擊【搜索】按鈕,從打開(kāi)的【添加對(duì)象】對(duì)話框中選中【特定對(duì)象】單選按鈕,如圖9.23所示。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(4)單擊【確定】按鈕,彈出【選擇對(duì)象】對(duì)話框,單擊【對(duì)象類(lèi)型】按鈕,選擇【表】選項(xiàng),單擊【確定】按鈕返回。(5)單擊【瀏覽】按鈕,從打開(kāi)的【查找對(duì)象】對(duì)話框中,選中student表旁邊的復(fù)選框,單擊【確定】按鈕返回,如圖9.24所示。(6)單擊【確定】按鈕,返回【安全對(duì)象】窗口,選中【選擇】后面【授予】列的復(fù)選框,如圖9.25所示。(7)單擊【確定】按鈕,完成應(yīng)用程序角色的創(chuàng)建。用戶和角色管理任務(wù)9-3任務(wù)1-1數(shù)據(jù)處理(8)單擊【新建查詢】按鈕,打開(kāi)一個(gè)新的SQLServer查詢窗口,并使用【SQLServer身份驗(yàn)證】模式以xuser登錄。(9)在查詢窗口執(zhí)行如下所示語(yǔ)句。USEgrademanagerGOSELECT*FROMstudent執(zhí)行結(jié)果將顯示拒絕了對(duì)對(duì)象student的select權(quán)限。(10)激活應(yīng)用程序角色,具體語(yǔ)句如下。SP_SETAPPROLE@ROLENAME='AppRole_xuser',@PASSWORD='abc'(11)重新執(zhí)行第(9)步中的語(yǔ)句,可以看到這次查詢是成功的。PART4任務(wù)9-4SQLServer的數(shù)據(jù)備份和恢復(fù)(一)備份概述(三)恢復(fù)數(shù)據(jù)庫(kù)任務(wù)assignments(二)備份數(shù)據(jù)庫(kù)SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理【任務(wù)分析】掌握SQLServer2016的數(shù)據(jù)備份與恢復(fù)?!菊n堂任務(wù)】?SQLServer2016備份設(shè)備的創(chuàng)建與管理?SQLServer2016的數(shù)據(jù)備份?SQLServer2016的數(shù)據(jù)恢復(fù)SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理(一)備份概述備份就是復(fù)制數(shù)據(jù)庫(kù)結(jié)構(gòu)、對(duì)象和數(shù)據(jù),以便在數(shù)據(jù)庫(kù)遭到破壞時(shí)能夠恢復(fù)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)恢復(fù)就是指將數(shù)據(jù)庫(kù)備份加載到系統(tǒng)中。SQLServer2016系統(tǒng)提供了一套功能強(qiáng)大的數(shù)據(jù)備份和恢復(fù)工具,數(shù)據(jù)備份和恢復(fù)可以用于保護(hù)數(shù)據(jù)庫(kù)的關(guān)鍵數(shù)據(jù)。在系統(tǒng)發(fā)生錯(cuò)誤時(shí),利用備份的數(shù)據(jù),可以恢復(fù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理1.備份的重要性用戶使用數(shù)據(jù)庫(kù)是因?yàn)橐脭?shù)據(jù)庫(kù)來(lái)管理和操作數(shù)據(jù),數(shù)據(jù)對(duì)于用戶來(lái)說(shuō)是非常寶貴的資產(chǎn)。數(shù)據(jù)存放在計(jì)算機(jī)上,但是即使是最可靠的硬件和軟件,也會(huì)出現(xiàn)系統(tǒng)故障或產(chǎn)生故障。所以,應(yīng)該在意外發(fā)生之前做好充分的準(zhǔn)備工作,以便在意外發(fā)生之后,有相應(yīng)的措施能快速恢復(fù)數(shù)據(jù)庫(kù),并將丟失的數(shù)據(jù)量減少到最小。造成數(shù)據(jù)損失的原因很多,大致可分為以下幾類(lèi)。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理(1)存儲(chǔ)介質(zhì)故障(2)系統(tǒng)故障(3)用戶的錯(cuò)誤操作(4)服務(wù)器徹底崩潰(5)自然災(zāi)害(6)計(jì)算機(jī)病毒SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理2.備份和恢復(fù)體系結(jié)構(gòu)SQLSever2016提供了高性能的備份和恢復(fù)功能,用戶可以根據(jù)需求設(shè)計(jì)自己的備份策略,以保護(hù)SQLServer2016數(shù)據(jù)庫(kù)中的關(guān)鍵數(shù)據(jù)。SQLServer2016提供如下4種數(shù)據(jù)庫(kù)備份類(lèi)型。(1)完整備份完整備份是指?jìng)浞菡麄€(gè)數(shù)據(jù)庫(kù)。它備份數(shù)據(jù)庫(kù)文件、文件的地址以及事務(wù)日志。這是任何備份策略中都要求完成的第一種備份類(lèi)型,因?yàn)槠渌袀浞蓊?lèi)型都依賴于完整備份。換句話說(shuō),如果沒(méi)有執(zhí)行完整備份,就無(wú)法執(zhí)行差異備份和事務(wù)日志備份。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理(2)差異備份差異備份是指將從最近一次完整數(shù)據(jù)庫(kù)備份以后發(fā)生改變的數(shù)據(jù)進(jìn)行備份。如果在完整備份后將某個(gè)文件添加至數(shù)據(jù)庫(kù),則差異備份會(huì)包括該新文件。這樣可以方便地備份數(shù)據(jù)庫(kù),而無(wú)需了解各個(gè)文件。例如,如果在星期一執(zhí)行了完整備份,并在星期二執(zhí)行了差異備份,那么該差異備份將記錄自星期一的完整備份以來(lái)已發(fā)生的所有修改。而星期三的差異備份將記錄自星期一的完整備份以來(lái)已發(fā)生的所有修改。差異備份每做一次就會(huì)變得更大一些,但仍然比完整備份小,因此差異備份比完整備份快。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理3)事務(wù)日志備份事務(wù)日志備份(也稱為“日志備份”)包括在前一個(gè)日志備份中沒(méi)有備份的所有日志記錄。因?yàn)橹挥性谕暾謴?fù)模式和大容量日志恢復(fù)模式下,才會(huì)有事務(wù)日志備份。所以,通常情況下,事務(wù)日志備份經(jīng)常與完整備份和差異備份結(jié)合使用。比如,每周進(jìn)行一次完整備份,每天進(jìn)行一次差異備份,每小時(shí)進(jìn)行一次日志備份。這樣,最多會(huì)丟失一小時(shí)的數(shù)據(jù)。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理(4)文件和文件組備份當(dāng)一個(gè)數(shù)據(jù)庫(kù)很大時(shí),對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行備份可能會(huì)花很多的時(shí)間,這時(shí)可以采用文件和文件組備份,即對(duì)數(shù)據(jù)庫(kù)中的部分文件或文件組進(jìn)行備份。使用文件和文件組備份使用戶可以僅還原已損壞的文件,而不必還原原數(shù)據(jù)庫(kù)的其余部分,從而提高恢復(fù)速度。例如,如果數(shù)據(jù)庫(kù)由位于不同磁盤(pán)的若干個(gè)文件組成,在其中一個(gè)磁盤(pán)發(fā)生故障時(shí),只需還原故障磁盤(pán)上的文件。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理3.備份設(shè)備備份存入物理備份介質(zhì)上,備份介質(zhì)可以是磁帶驅(qū)動(dòng)器和硬盤(pán)驅(qū)動(dòng)器(位于本地或網(wǎng)絡(luò)上)。SQLServer2016并不知道連接到服務(wù)器的各種介質(zhì)形式,因此必須通知SQLServer2016將備份存儲(chǔ)在哪里。備份設(shè)備就是用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)、事務(wù)日志或文件和文件組備份的存儲(chǔ)介質(zhì)。常見(jiàn)的備份設(shè)備可以分為3種類(lèi)型:磁盤(pán)備份設(shè)備、磁帶備份設(shè)備和邏輯備份設(shè)備。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理(二)備份數(shù)據(jù)庫(kù)在了解備份的重要性、備份的類(lèi)型及恢復(fù)體系結(jié)構(gòu)后,下面介紹幾種常見(jiàn)的數(shù)據(jù)庫(kù)備份方法。1.創(chuàng)建備份設(shè)備備份設(shè)備是用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)、事務(wù)日志和文件和文件組備份的存儲(chǔ)介質(zhì),在執(zhí)行備份數(shù)據(jù)之前,首先介紹如何創(chuàng)建備份設(shè)備。在SQLServer2016中創(chuàng)建備份設(shè)備的方法有兩種:一是在SSMS中使用現(xiàn)有命令和功能,通過(guò)方便的圖形化工具創(chuàng)建;二是使用系統(tǒng)存儲(chǔ)過(guò)程sp_addumpdevice創(chuàng)建。(1)使用SSMS創(chuàng)建備份設(shè)備使用SSMS創(chuàng)建備份設(shè)備的操作步驟如下。①在【對(duì)象資源管理器】窗格中,單擊服務(wù)器名稱以展開(kāi)服務(wù)器樹(shù)。②展開(kāi)【服務(wù)器對(duì)象】節(jié)點(diǎn),用鼠標(biāo)右鍵單擊【備份設(shè)備】選項(xiàng)。③從彈出的快捷菜單中選擇【新建備份設(shè)備】命令,打開(kāi)【備份設(shè)備】對(duì)話框。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理④在【備份設(shè)備】對(duì)話框中,輸入【設(shè)備名稱】,并指定該備份設(shè)備所在文件夾的完整路徑,這里創(chuàng)建一個(gè)名稱為grademanager_backup的備份設(shè)備,如圖9.28所示.⑤單擊【確定】按鈕,完成備份設(shè)備的創(chuàng)建。展開(kāi)【備份設(shè)備】節(jié)點(diǎn)可以看到剛剛創(chuàng)建的grademanager_backup備份設(shè)備。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理(2)使用系統(tǒng)存儲(chǔ)過(guò)程sp_addumpdevice創(chuàng)建備份設(shè)備除了使用SSMS創(chuàng)建備份設(shè)備外,還可以使用系統(tǒng)存儲(chǔ)過(guò)程sp_addumpdevice創(chuàng)建備份設(shè)備,該存儲(chǔ)過(guò)程可以添加磁盤(pán)和磁帶設(shè)備。備份設(shè)備可以是disk、tape和pipe中的一種。【例9.9】創(chuàng)建本地磁盤(pán)備份設(shè)備。USEmasterEXECsp_addumpdevice'disk','backup2','c:\mssql\backup2.Bak'其中,第一個(gè)參數(shù)表示備份設(shè)備的類(lèi)型,第二個(gè)參數(shù)指定在BACKUP和RESTORE語(yǔ)句中使用的備份設(shè)備的邏輯名稱,第三個(gè)參數(shù)指定備份設(shè)備的物理名稱。物理名稱必須遵從操作系統(tǒng)文件名規(guī)則或網(wǎng)絡(luò)設(shè)備的通用命名約定,并且必須包含完整路徑。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理2.管理備份設(shè)備在SQLServer2016系統(tǒng)中創(chuàng)建備份設(shè)備以后,可以查看備份設(shè)備的信息,或者刪除不用的備份設(shè)備。(1)查看備份設(shè)備可以通過(guò)兩種方式查看服務(wù)器上的所有備份設(shè)備,一種是通過(guò)SSMS,另一種是通過(guò)系統(tǒng)存儲(chǔ)過(guò)程Sp_Helpdevice。首先介紹使用SSMS查看所有備份設(shè)備,操作步驟如下。①在【對(duì)象資源管理器】窗格中,單擊服務(wù)器名稱以展開(kāi)服務(wù)器樹(shù)。②展開(kāi)【服務(wù)器對(duì)象】|【備份設(shè)備】節(jié)點(diǎn),可以看到當(dāng)前服務(wù)器上已經(jīng)創(chuàng)建的所有備份設(shè)備,如圖9.28所示。使用系統(tǒng)存儲(chǔ)過(guò)程Sp_Helpdevice也可以查看服務(wù)器每個(gè)設(shè)備的相關(guān)信息,如圖9.29所示。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理(2)刪除備份設(shè)備不再需要的備份設(shè)備可以刪除。刪除備份設(shè)備后,其上的數(shù)據(jù)都將丟失。刪除備份設(shè)備也有兩種方式,一種是使用SSMS,另一種是使用系統(tǒng)存儲(chǔ)過(guò)程sp_dropdevice。使用SSMS刪除備份設(shè)備的操作步驟如下。①在【對(duì)象資源管理器】窗格中,單擊服務(wù)器名稱以展開(kāi)服務(wù)器樹(shù)②展開(kāi)【服務(wù)器對(duì)象】|【備份設(shè)備】節(jié)點(diǎn),用鼠標(biāo)右鍵單擊要?jiǎng)h除的備份設(shè)備(如backup1),在彈出的快捷菜單中選擇【刪除】命令,打開(kāi)【刪除對(duì)象】對(duì)話框。③在【刪除對(duì)象】對(duì)話框中,單擊【確定】按鈕,即可刪除該備份設(shè)備。也可以使用系統(tǒng)存儲(chǔ)過(guò)程sp_dropdevice從服務(wù)器中刪除備份設(shè)備,該存儲(chǔ)過(guò)程不僅能刪除備份設(shè)備,還能刪除其他設(shè)備。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理3.備份數(shù)據(jù)庫(kù)(1)使用SSMS備份數(shù)據(jù)庫(kù)①完整備份。完整備份是任何備份策略都要求完成的第一種備份類(lèi)型,所以首先介紹如何進(jìn)行完整數(shù)據(jù)庫(kù)備份。例如,使用SSMS對(duì)grademanager數(shù)據(jù)進(jìn)行完整備份的操作步驟如下。a.打開(kāi)SSMS,連接服務(wù)器。b.在【對(duì)象資源管理器】窗格中,展開(kāi)【數(shù)據(jù)庫(kù)】節(jié)點(diǎn),用鼠標(biāo)右鍵單擊grademanager數(shù)據(jù)庫(kù),在彈出的快捷菜單中,選擇【屬性】命令,打開(kāi)grademanager數(shù)據(jù)庫(kù)的【數(shù)據(jù)庫(kù)屬性】對(duì)話框。c.在【選項(xiàng)】頁(yè)面確保恢復(fù)模式為完整恢復(fù)模式,如圖9.30所示。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理d.單擊【確定】按鈕,應(yīng)用修改結(jié)果。e.用鼠標(biāo)右鍵單擊數(shù)據(jù)庫(kù)grademanager,從彈出的快捷菜單中選擇【任務(wù)】|【備份】命令,打開(kāi)【備份數(shù)據(jù)庫(kù)】窗口,如圖9.31所示。f.從【數(shù)據(jù)庫(kù)】下拉列表中選擇grademanager數(shù)據(jù)庫(kù),【備份類(lèi)型】選擇【完整】。g.在【備份數(shù)據(jù)庫(kù)】窗口【常規(guī)】選項(xiàng)卡頁(yè)面中,選擇【備份類(lèi)型】為【完整】;在【目標(biāo)】區(qū)域【備份到:】選項(xiàng)中選中【磁盤(pán)】按鈕,然后單擊【添加】按鈕,打開(kāi)【選擇備份目標(biāo)】對(duì)話框,選中【備份設(shè)備】單選按鈕,如圖9.32所示。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理h.單擊【確定】按鈕,返回【備份數(shù)據(jù)庫(kù)】窗口,可以看到【目標(biāo)】下的文本框?qū)⒃黾右粋€(gè)grademanager_backup備份設(shè)備。i.選擇【介質(zhì)選項(xiàng)】選項(xiàng),選中【覆蓋所有現(xiàn)有備份集】單選按鈕,表示初始化新的設(shè)備或覆蓋現(xiàn)在的設(shè)備,選中【完成后驗(yàn)證備份】復(fù)選框,表示核對(duì)實(shí)際數(shù)據(jù)庫(kù)與備份副本,并確保它們?cè)趥浞萃瓿芍笠恢?。j.單擊【確定】按鈕,完成對(duì)數(shù)據(jù)庫(kù)的備份。完成備份后將彈出【備份完成】對(duì)話框。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理現(xiàn)在已經(jīng)完成了數(shù)據(jù)庫(kù)grademanager的一個(gè)完整備份。為了確定是否真的備份完成,下面檢查。a.在SSMS的【對(duì)象資源管理器】窗格中展開(kāi)【服務(wù)器對(duì)象】/【備份設(shè)備】節(jié)點(diǎn)。b.用鼠標(biāo)右鍵單擊備份設(shè)備grademanager_backup,從彈出的快捷菜單中選擇【屬性】命令。c.選擇【介質(zhì)內(nèi)容】選項(xiàng),可以看到剛剛建立的grademanager數(shù)據(jù)庫(kù)的完整備份,如圖9.34所示。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理②差異備份。創(chuàng)建數(shù)據(jù)庫(kù)的完整備份以后,上次備份數(shù)據(jù)庫(kù)只修改了很少的數(shù)據(jù)時(shí),十分適合使用差異備份。進(jìn)行數(shù)據(jù)庫(kù)差異備份的操作步驟如下。a.打開(kāi)SSMS,連接服務(wù)器。b.在【對(duì)象資源管理器】窗格中展開(kāi)【數(shù)據(jù)庫(kù)】節(jié)點(diǎn),用鼠標(biāo)右鍵單擊數(shù)據(jù)庫(kù)grademanager,從彈出的快捷菜單中選擇【任務(wù)】|【備份】命令,打開(kāi)【備份數(shù)據(jù)庫(kù)】對(duì)話框。c.在【數(shù)據(jù)庫(kù)】下拉列表中選擇grademanager數(shù)據(jù)庫(kù),【備份類(lèi)型】選擇【差異】,確?!灸繕?biāo)】選項(xiàng)區(qū)輥的文本框中存在grademanager_backup設(shè)備,如圖9.36所示。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理d.打開(kāi)【介質(zhì)選項(xiàng)】頁(yè)面,選中【追加到現(xiàn)有備份集】單選按鈕,以免覆蓋現(xiàn)有的完整備份,選中【完成后驗(yàn)證備份】復(fù)選框,表示核對(duì)實(shí)際數(shù)據(jù)庫(kù)與備份副本,并確保它們?cè)趥浞萃瓿芍笠恢隆>唧w設(shè)置情況e.設(shè)置完成后,單擊【確定】按鈕開(kāi)始備份,完成備份后彈出【備份完成】對(duì)話框。檢查數(shù)據(jù)庫(kù)grademanager的差異備份的方法與檢查完整備份相同,在此不再贅述。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理③事務(wù)日志備份。前面已經(jīng)執(zhí)行了完整備份和差異備份,但是如果沒(méi)有執(zhí)行事務(wù)日志備份,則數(shù)據(jù)庫(kù)可能無(wú)法正常工作。盡管事務(wù)日志備份依賴于完整備份,但它并不備份數(shù)據(jù)庫(kù)本身,這種類(lèi)型的備份只記錄事務(wù)日志的適當(dāng)部分,明確地說(shuō)是從上一個(gè)事務(wù)以來(lái)發(fā)生變化的部分。使用事務(wù)日志備份可以將數(shù)據(jù)庫(kù)恢復(fù)到故障點(diǎn)之前或特定的時(shí)間點(diǎn)。一般情況下,事務(wù)日志備份比完整備份和差異備份使用的資源少,因此可以更頻繁地創(chuàng)建事務(wù)日志備份,降低數(shù)據(jù)丟失的風(fēng)險(xiǎn)。SQLServer的數(shù)據(jù)備份和恢復(fù)任務(wù)9-4任務(wù)1-1數(shù)據(jù)處理創(chuàng)建事務(wù)日志備份的過(guò)程與創(chuàng)建完整備份的過(guò)程也基本相同,下面使用SSMS在前面創(chuàng)建的備份設(shè)備grademanager_backup上創(chuàng)建數(shù)據(jù)庫(kù)grademanager的一個(gè)事務(wù)日志備份,操作步驟如下。a.打開(kāi)SSMS,連接服務(wù)器。b.在【對(duì)象資源管理器】窗格中展開(kāi)【數(shù)據(jù)庫(kù)】節(jié)點(diǎn),用鼠標(biāo)右鍵單擊數(shù)據(jù)庫(kù)grademanager,從彈出的快捷菜單中選擇【任務(wù)】|【備份】命令,打開(kāi)【備份數(shù)據(jù)庫(kù)】窗口。c.從【數(shù)據(jù)庫(kù)】下拉列表中選擇grademanager
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度跨境電商平臺(tái)運(yùn)營(yíng)管理合同范本
- 2025年度工地施工安全應(yīng)急救援預(yù)案合同
- 2025年度建筑防水工程施工合同質(zhì)量保證與售后服務(wù)
- 2025年度廣告牌廣告內(nèi)容版權(quán)保護(hù)與侵權(quán)處理合同
- 2025年度貨物運(yùn)輸保險(xiǎn)合同范本80175
- 2025年度旅游合同管理系統(tǒng)(智慧旅游版)
- 2025年度建筑總承包合同終止及施工資料移交協(xié)議
- 2025年度智能裝備產(chǎn)業(yè)貸款合同履約保證金條款
- 2025年度債權(quán)轉(zhuǎn)股權(quán)業(yè)務(wù)合作框架合同
- 2025年度建筑工程鋼筋施工分包合同節(jié)能要求規(guī)范
- 2023年MRI技術(shù)操作規(guī)范
- 辦公用品、易耗品供貨服務(wù)方案
- 病史采集評(píng)分標(biāo)準(zhǔn)-純圖版
- 自行聯(lián)系單位實(shí)習(xí)申請(qǐng)表
- 醫(yī)療廢物集中處置技術(shù)規(guī)范
- 沖動(dòng)式與反動(dòng)式汽輪機(jī)的優(yōu)劣比較
- 國(guó)有企業(yè)內(nèi)部審計(jì)工作制度(3篇)
- 媒介社會(huì)學(xué)備課
- 2023年檢驗(yàn)檢測(cè)機(jī)構(gòu)質(zhì)量手冊(cè)(依據(jù)2023年版評(píng)審準(zhǔn)則編制)
- 興海縣索拉溝銅多金屬礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 三相分離器原理及操作
評(píng)論
0/150
提交評(píng)論