SQL Server教程(第6版)(2008版) 課件 第8、9章 數(shù)據(jù)庫備份與恢復(fù)、系統(tǒng)安全管理_第1頁
SQL Server教程(第6版)(2008版) 課件 第8、9章 數(shù)據(jù)庫備份與恢復(fù)、系統(tǒng)安全管理_第2頁
SQL Server教程(第6版)(2008版) 課件 第8、9章 數(shù)據(jù)庫備份與恢復(fù)、系統(tǒng)安全管理_第3頁
SQL Server教程(第6版)(2008版) 課件 第8、9章 數(shù)據(jù)庫備份與恢復(fù)、系統(tǒng)安全管理_第4頁
SQL Server教程(第6版)(2008版) 課件 第8、9章 數(shù)據(jù)庫備份與恢復(fù)、系統(tǒng)安全管理_第5頁
已閱讀5頁,還剩108頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章

數(shù)據(jù)庫備份與恢復(fù)——備份和恢復(fù)概述01備份和恢復(fù)需求分析備份和恢復(fù)需求分析數(shù)據(jù)庫中的數(shù)據(jù)丟失或被破壞可能是由于以下原因。(1)計(jì)算機(jī)硬件故障。由于使用不當(dāng)或產(chǎn)品質(zhì)量等原因,計(jì)算機(jī)硬件可能會(huì)出現(xiàn)故障,不能使用。如硬盤損壞會(huì)使得存儲(chǔ)于其上的數(shù)據(jù)丟失。(2)軟件故障。由于軟件設(shè)計(jì)上的失誤或用戶使用不當(dāng),軟件系統(tǒng)可能會(huì)誤操作引起數(shù)據(jù)破壞。(3)病毒。病毒會(huì)破壞系統(tǒng)軟件、硬件和數(shù)據(jù)。(4)誤操作。例如,用戶誤用了諸如DELETE、UPDATE等命令而引起數(shù)據(jù)丟失或被破壞。(5)自然災(zāi)害。如火災(zāi)、洪水或地震等,它們會(huì)造成極大的破壞,會(huì)毀壞計(jì)算機(jī)系統(tǒng)及其數(shù)據(jù)。(6)盜竊。一些重要數(shù)據(jù)可能會(huì)遭竊。02數(shù)據(jù)庫備份簡介備份內(nèi)容由誰做備份操作備份介質(zhì)何時(shí)備份限制的操作備份方法數(shù)據(jù)庫備份簡介1.備份內(nèi)容數(shù)據(jù)庫中數(shù)據(jù)的重要程度決定了數(shù)據(jù)恢復(fù)的必要性與重要性,也就決定了數(shù)據(jù)是否備份及如何備份。數(shù)據(jù)庫需備份的內(nèi)容可分為數(shù)據(jù)文件(包括主數(shù)據(jù)文件和輔助數(shù)據(jù)文件)和日志文件兩部分。2.由誰做備份操作在SQLServer中,具有下列角色的成員可以做備份操作。(1)固定的服務(wù)器角色sysadmin(系統(tǒng)管理員)。(2)固定的數(shù)據(jù)庫角色db_owner(數(shù)據(jù)庫所有者)。(3)固定的數(shù)據(jù)庫角色db_backupoperator(允許進(jìn)行數(shù)據(jù)庫備份的用戶)。3.備份介質(zhì)備份介質(zhì)是指將數(shù)據(jù)庫備份到的目標(biāo)載體,即備份到何處。SQLServer中,允許使用兩種類型的備份介質(zhì)。(1)硬盤:最常用的備份介質(zhì),可以用于備份本地文件,也可以用于備份網(wǎng)絡(luò)文件。(2)磁帶:大容量的備份介質(zhì),磁帶僅可用于備份本地文件。數(shù)據(jù)庫備份簡介4.何時(shí)備份對于系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫,其備份時(shí)機(jī)是不同的。(1)系統(tǒng)數(shù)據(jù)庫。當(dāng)系統(tǒng)數(shù)據(jù)庫master、msdb和model中的任何一個(gè)被修改以后,都要將其備份。master數(shù)據(jù)庫包含了SQLServer系統(tǒng)有關(guān)數(shù)據(jù)庫的全部信息,即它是“數(shù)據(jù)庫的數(shù)據(jù)庫”。如果master數(shù)據(jù)庫損壞,那么SQLServer可能無法啟動(dòng),并且用戶數(shù)據(jù)庫可能無效。當(dāng)master數(shù)據(jù)庫被破壞而沒有備份時(shí),就只能重建全部的系統(tǒng)數(shù)據(jù)庫。(2)用戶數(shù)據(jù)庫。當(dāng)創(chuàng)建數(shù)據(jù)庫或加載數(shù)據(jù)庫時(shí),應(yīng)備份數(shù)據(jù)庫。當(dāng)為數(shù)據(jù)庫創(chuàng)建索引時(shí),應(yīng)備份數(shù)據(jù)庫,以便恢復(fù)時(shí)能夠大大節(jié)省時(shí)間。當(dāng)清理了日志或執(zhí)行了不記日志的T-SQL命令時(shí),應(yīng)備份數(shù)據(jù)庫,這是因?yàn)槿羧罩居涗洷磺宄蛎钗从涗浽谑聞?wù)日志中,日志中將不包含數(shù)據(jù)庫的活動(dòng)記錄,不能通過日志恢復(fù)數(shù)據(jù)。不記日志的命令有BACKUPLOGWITHNO_LOG、WRITETEXT、UPDATETEXT、SELECTINTO、命令行實(shí)用程序、BCP命令等。數(shù)據(jù)庫備份簡介5.限制的操作SQLServer在執(zhí)行數(shù)據(jù)庫備份的過程中,允許用戶對數(shù)據(jù)庫繼續(xù)操作,但不允許用戶在備份時(shí)執(zhí)行下列操作:創(chuàng)建或刪除數(shù)據(jù)庫文件;創(chuàng)建索引;不記日志的命令。若在系統(tǒng)正執(zhí)行上述操作中的任何一種時(shí)試圖進(jìn)行備份,則備份進(jìn)程不能執(zhí)行。6.備份方法SQLServer中有兩種基本的備份:一種是只備份數(shù)據(jù)庫,另一種是備份數(shù)據(jù)庫和事務(wù)日志,它們又都可以與完全備份或差異備份相結(jié)合。另外,當(dāng)數(shù)據(jù)庫很大時(shí),也可以進(jìn)行個(gè)別文件或文件組的備份,從而將數(shù)據(jù)庫備份分割為多個(gè)較小的備份過程。這樣就形成了以下4種備份方法。(1)完全數(shù)據(jù)庫備份。這種方法按常規(guī)定期備份整個(gè)數(shù)據(jù)庫,包括事務(wù)日志。當(dāng)系統(tǒng)出現(xiàn)故障時(shí),可以恢復(fù)到最近一次數(shù)據(jù)庫備份時(shí)的狀態(tài),但自該備份后所提交的事務(wù)都將丟失。(2)數(shù)據(jù)庫和事務(wù)日志備份。這種方法不需很頻繁地進(jìn)行數(shù)據(jù)庫備份,而是在兩次完全數(shù)據(jù)庫備份期間,進(jìn)行事務(wù)日志備份,所備份的事務(wù)日志記錄了兩次數(shù)據(jù)庫備份之間所有的數(shù)據(jù)庫活動(dòng)記錄。(3)差異備份。此方法只備份自上次數(shù)據(jù)庫備份后發(fā)生更改的部分?jǐn)?shù)據(jù)庫,它用來擴(kuò)充完全數(shù)據(jù)庫備份或數(shù)據(jù)庫和事務(wù)日志備份方法。對于一個(gè)經(jīng)常修改的數(shù)據(jù)庫,采用差異備份策略可以減少備份和恢復(fù)時(shí)間。差異備份比完全備份工作量小而且備份速度快,對正在運(yùn)行的系統(tǒng)影響也較小,因此可以經(jīng)常地備份,減少丟失數(shù)據(jù)的危險(xiǎn)。(4)數(shù)據(jù)庫文件或文件組備份。這種方法只備份特定的數(shù)據(jù)庫文件或文件組,同時(shí)還要定期備份事務(wù)日志,這樣在恢復(fù)時(shí)可以只還原已損壞的文件,而不用還原數(shù)據(jù)庫的其余部分,從而加快了恢復(fù)速度。03數(shù)據(jù)庫恢復(fù)簡介準(zhǔn)備工作執(zhí)行恢復(fù)數(shù)據(jù)庫的操作數(shù)據(jù)庫恢復(fù)簡介1)創(chuàng)建命名備份設(shè)備語法格式如下。sp_addumpdevice[@devtype=]'設(shè)備類型', [@邏輯備份設(shè)備變量名=]'邏輯名', [@物理備份設(shè)備變量名=]'物理名'說明:(1)“設(shè)備類型”指出介質(zhì)類型,可以是DISK(硬盤文件)或者TAPE(磁帶)。(2)包含@選項(xiàng)后,在對應(yīng)備份設(shè)備后,后面可以通過變量名引用。【例8.1】在本地硬盤上創(chuàng)建一個(gè)備份設(shè)備。語句如下:EXECsp_addumpdevice'DISK', 'mybackupfile1', 'E:\SQLServer\Data\mybackupfile1.bak'創(chuàng)建的備份設(shè)備的邏輯名是mybackupfile1;創(chuàng)建的備份設(shè)備的物理名是E:\SQLServer\Data\mybackupfile2.bak。數(shù)據(jù)庫恢復(fù)簡介2)刪除命名備份設(shè)備當(dāng)不再需要所創(chuàng)建的命名備份設(shè)備時(shí),可以用系統(tǒng)存儲(chǔ)過程sp_dropdevice刪除它。例如:EXECsp_dropdevice'mybackupfile1',DELFILE04備份數(shù)據(jù)庫備份整個(gè)數(shù)據(jù)庫備份事務(wù)日志備份數(shù)據(jù)庫文件或文件組使用多個(gè)備份設(shè)備備份差異備份數(shù)據(jù)庫備份數(shù)據(jù)庫1.備份整個(gè)數(shù)據(jù)庫下列語句可備份整個(gè)數(shù)據(jù)庫、差異備份數(shù)據(jù)庫、備份數(shù)據(jù)庫文件或文件組及備份事務(wù)日志。語法格式如下。BACKUPDATABASE數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量 /*被備份的數(shù)據(jù)庫名*/ TO備份設(shè)備,… /*指出備份的目標(biāo)設(shè)備*/ [WITHINIT|NOINIT] [WITHNAME='名稱’] [PASSWORD='備份集密碼’] [EXPIREDATE='日期’] [RETAINDAYS=天...] [BLOCKSIZE=塊大小]說明:(1)數(shù)據(jù)庫:備份的數(shù)據(jù)庫直接通過數(shù)據(jù)庫名指定,也可以有@數(shù)據(jù)庫名變量指定。(2)TO備份設(shè)備:指定備份操作時(shí)要使用的邏輯備份設(shè)備或物理備份設(shè)備,最多可指定64個(gè)備份設(shè)備。備份設(shè)備可以是下列一種或多種格式。MIRRORTO子句指定鏡像媒體集。(3)INIT:表示覆蓋所有備份集,NOINIT表示追加到最新備份集,默認(rèn)選項(xiàng)。(4)EXPIREDATE:表示允許覆蓋該備份集的日期。(5)RETAINDAYS:表示必須經(jīng)過多少天可以覆蓋該備份集。備份數(shù)據(jù)庫【例8.2】使用邏輯名myxscj1在“E:\SQLServer\Data”中創(chuàng)建一個(gè)命名的備份設(shè)備,并將數(shù)據(jù)庫xscj完全備份到該設(shè)備。語句如下:完全備份xscj數(shù)據(jù)庫。EXECsp_addumpdevice'DISK','myxscj1','E:\SQLServer\Data\myxscj1.bak'BACKUPDATABASExscjTOmyxscj1將數(shù)據(jù)庫xscj完全備份到備份設(shè)備myxscj1中,并覆蓋該設(shè)備中原有的內(nèi)容。BACKUPDATABASExscjTOmyxscj1WITHINIT將數(shù)據(jù)庫xscj備份到備份設(shè)備myxscj1中,執(zhí)行追加的完全數(shù)據(jù)庫備份,該設(shè)備上原有的備份內(nèi)容都被保存。BACKUPDATABASExscjTOmyxscj1WITHNOINIT備份數(shù)據(jù)庫2.備份事務(wù)日志當(dāng)進(jìn)行事務(wù)日志備份時(shí),系統(tǒng)進(jìn)行下列操作。(1)將事務(wù)日志中從前一次成功備份結(jié)束位置開始,到當(dāng)前事務(wù)日志結(jié)尾處的內(nèi)容進(jìn)行備份。(2)標(biāo)識(shí)事務(wù)日志中活動(dòng)部分的開始,所謂事務(wù)日志的活動(dòng)部分指從最近的檢查點(diǎn)或最早的打開位置開始至事務(wù)日志的結(jié)尾處。進(jìn)行事務(wù)日志備份使用BACKUPLOG語句。其語法格式如下。BACKUPLOG… /*選項(xiàng)與BACKUPDATABASE相同*/ WITHNORECOVERY|STANDBY=撤銷文件名[,NO_TRUNCATE]說明:(1)

NORECOVERY:備份到日志尾部,不覆蓋原有的內(nèi)容。

(2)

STANDBY:將備份日志尾部,并使數(shù)據(jù)庫處于只讀或備用模式。(3)

NO_TRUNCATE:若數(shù)據(jù)庫被損壞,使用該選項(xiàng)可以備份最近的所有數(shù)據(jù)庫活動(dòng),SQLServer將保存整個(gè)事務(wù)日志。【例8.3】創(chuàng)建一個(gè)備份設(shè)備xscjLOGBK,并備份xscj數(shù)據(jù)庫的事務(wù)日志。語句如下:EXECsp_addumpdevice'DISK','xscjLOGBK','E:\SQLServer\Data\myxscjlog.bak'BACKUPLOGxscjTOxscjLOGBK備份數(shù)據(jù)庫3.備份數(shù)據(jù)庫文件或文件組當(dāng)數(shù)據(jù)庫非常大時(shí),可以進(jìn)行數(shù)據(jù)庫文件或文件組的備份。其語法格式如下。BACKUPDATABASE數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量 FILE=邏輯文件名|@邏輯文件名變量 FILEGROUP=邏輯文件組名|@邏輯文件組名變量 TO備份設(shè)備,…說明:(1)FILE選項(xiàng)指定一個(gè)或多個(gè)包含在數(shù)據(jù)庫備份中的文件命名;FILEGROUP選項(xiàng)指定一個(gè)或多個(gè)包含在數(shù)據(jù)庫備份中的文件組命名。(2)必須執(zhí)行事務(wù)日志備份,以確保恢復(fù)后的文件與數(shù)據(jù)庫其他部分的一致性。(3)應(yīng)輪流備份數(shù)據(jù)庫中的文件或文件組,以使數(shù)據(jù)庫中的所有文件或文件組都定期得到備份。備份數(shù)據(jù)庫【例8.4】用磁盤文件備份test3數(shù)據(jù)庫及其主數(shù)據(jù)文件和增加的文件組。完全備份test3數(shù)據(jù)庫。BACKUPDATABASEtest3 TODISK='E:\SQLServer\Data\testbk.bak'WITHINIT備份test3數(shù)據(jù)庫增加的文件組。BACKUPDATABASEtest3 FILEgroup='test3Group1' TODISK='E:\SQLServer\Data\test3G1.bak'WITHINIT備份test3數(shù)據(jù)庫的主數(shù)據(jù)文件。BACKUPDATABASEtest3 FILE='test3_dat1' TODISK='E:\SQLServer\Data\test3_dat1.bak'WITHINIT備份數(shù)據(jù)庫4.使用多個(gè)備份設(shè)備備份SQLServer可以同時(shí)向多個(gè)備份設(shè)備寫入數(shù)據(jù),即進(jìn)行并行的備份。并行備份將需備份的數(shù)據(jù)分別備份在多個(gè)設(shè)備上,這多個(gè)備份設(shè)備構(gòu)成了備份集。在多個(gè)備份設(shè)備上進(jìn)行備份及由備份的各組成部分形成備份集如圖。備份數(shù)據(jù)庫在用多個(gè)備份設(shè)備進(jìn)行并行備份時(shí),要注意以下幾點(diǎn)(1)設(shè)備備份操作使用的所有設(shè)備必須具有相同的介質(zhì)類型。(2)多設(shè)備備份操作使用的設(shè)備,其存儲(chǔ)容量和運(yùn)行速度可以不同。(3)可以使用命名備份設(shè)備與臨時(shí)備份設(shè)備的組合。(4)從多設(shè)備備份恢復(fù)時(shí),不必使用與備份時(shí)相同數(shù)量的設(shè)備?!纠?.5】將數(shù)據(jù)庫xscj備份到多個(gè)備份設(shè)備中。語句如下:EXECsp_addumpdevice'DISK','myxscj2','E:\SQLServer\Data\myxscj2.bak'EXECsp_addumpdevice'DISK','myxscj3','E:\SQLServer\Data\myxscj3.bak'BACKUPDATABASExscjTOmyxscj2,myxscj3 WITHNAME='xscjbk'備份數(shù)據(jù)庫5.差異備份數(shù)據(jù)庫對于需頻繁修改的數(shù)據(jù)庫,進(jìn)行差異備份可以縮短備份和恢復(fù)的時(shí)間。只有當(dāng)已經(jīng)執(zhí)行了完全數(shù)據(jù)庫備份后才能執(zhí)行差異備份。在進(jìn)行差異備份時(shí),SQLServer將備份從最近的完全數(shù)據(jù)庫備份后數(shù)據(jù)庫發(fā)生了變化的部分。其語法格式如下。BACKUPDATABASE數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量 READ_WRITE_FILEGROUPS[,FILEGROUP=邏輯文件組名|@邏輯文件組名變量…] TO備份設(shè)備,… [WITHDIFFERENTIAL]說明:(1)READ_WRITE_FILEGROUPS:指定在部分備份中備份所有讀/寫文件組。(2)FILEGROUP:包含在部分備份中的讀寫文件組的邏輯名稱或變量的邏輯名稱。(3)DIFFERENTIAL:表示差異備份的關(guān)鍵字。SQLServer執(zhí)行差異備份時(shí)需注意下列兩點(diǎn)。(1)若在上次完全數(shù)據(jù)庫備份后,數(shù)據(jù)庫的某行被修改了,則執(zhí)行差異備份只保存最后一次改動(dòng)的值。(2)為了使差異備份設(shè)備與完全數(shù)據(jù)庫備份設(shè)備區(qū)分開來,應(yīng)使用不同的設(shè)備名?!纠?.6】創(chuàng)建臨時(shí)備份設(shè)備進(jìn)行差異備份。BACKUPDATABASExscj TODISK='E:\SQLServer\Data\xscjbk.bak' WITHDIFFERENTIAL05界面?zhèn)浞輸?shù)據(jù)庫界面?zhèn)浞輸?shù)據(jù)庫界面?zhèn)浞輸?shù)據(jù)庫步驟如下:在“對象資源管理器”中選擇需要備份的數(shù)據(jù)庫(如xscj),右擊,在彈出的快捷菜單中選擇任務(wù)→備份→數(shù)據(jù)庫命令,打開“備份數(shù)據(jù)庫-xscj”窗口。界面包含常規(guī)頁和選項(xiàng)頁,在“常規(guī)”頁包含源、備份集、目標(biāo)3個(gè)方面。(1)源備份類型:有3種類型,即完整、差異、事務(wù)日志,這里選擇“完整”選項(xiàng)。備份組件:選擇備份“數(shù)據(jù)庫”還是“文件和文件組”,如果選中“文件和文件組”單選按鈕,則可以在打開的“選擇文件文件組”窗口中選擇需要備份的文件或文件組,這里選中“數(shù)據(jù)庫”單選按鈕。(2)備份集包括指定數(shù)據(jù)庫備份集的邏輯名稱、填寫備份的說明、指定備份集過期時(shí)間。(3)目標(biāo)選擇備份到“磁盤”還是“磁帶”。界面?zhèn)浞輸?shù)據(jù)庫下面列表是備份設(shè)備或者備份文件,如圖。界面?zhèn)浞輸?shù)據(jù)庫單擊“添加”,加入備份設(shè)備或者備份文件,如圖。第8章

數(shù)據(jù)庫備份與恢復(fù)——數(shù)據(jù)庫恢復(fù)01檢

點(diǎn)檢查點(diǎn)SQLServer系統(tǒng)在日志中存儲(chǔ)有關(guān)信息,以便在需要時(shí)可以恢復(fù)(前滾)或撤銷(回滾)構(gòu)成事務(wù)的數(shù)據(jù)修改。日志中的每條記錄都由唯一的日志序號(hào)(LSN)標(biāo)識(shí),事務(wù)的所有日志記錄都鏈接在一起。SQLServer系統(tǒng)對修改過的數(shù)據(jù)緩沖區(qū)的內(nèi)容并不是立即寫回磁盤,而是控制寫入磁盤的時(shí)間,它將在緩沖區(qū)內(nèi)修改過的數(shù)據(jù)頁存入高速緩存一段時(shí)間后再寫入磁盤,從而優(yōu)化磁盤寫入。將包含被修改過但尚未寫入磁盤的數(shù)據(jù)緩沖區(qū)頁稱為臟頁,將臟頁寫入磁盤稱為刷新頁。對被修改過的數(shù)據(jù)頁進(jìn)行高速緩存時(shí),要確保在將相應(yīng)的內(nèi)存日志映像寫入日志文件之前沒有刷新任何數(shù)據(jù)修改,否則將不能在需要時(shí)進(jìn)行回滾。為了保證能恢復(fù)所有對數(shù)據(jù)頁的修改,SQLServer采用預(yù)寫日志的方法,即將所有內(nèi)存日志映像都在相應(yīng)的數(shù)據(jù)修改前寫入磁盤。只要所有日志記錄都已刷新到磁盤,則即使在被修改的數(shù)據(jù)頁未被刷新到磁盤的情況下,系統(tǒng)也能夠恢復(fù)。這時(shí)系統(tǒng)恢復(fù)可以只使用日志記錄,進(jìn)行事務(wù)前滾或回滾,執(zhí)行對數(shù)據(jù)頁的修改。SQLServer系統(tǒng)定期將所有臟日志和數(shù)據(jù)頁刷新到磁盤,稱之為檢查點(diǎn)。檢查點(diǎn)從當(dāng)前數(shù)據(jù)庫的高速緩沖存儲(chǔ)器中刷新臟數(shù)據(jù)和日志頁,以盡量減少在恢復(fù)時(shí)必須前滾的修改量。02恢復(fù)數(shù)據(jù)庫恢復(fù)數(shù)據(jù)庫前的準(zhǔn)備命令方式恢復(fù)數(shù)據(jù)庫說明恢復(fù)整個(gè)數(shù)據(jù)庫恢復(fù)數(shù)據(jù)庫的部分內(nèi)容恢復(fù)特定的文件或文件組事務(wù)日志恢復(fù)恢復(fù)數(shù)據(jù)庫1.恢復(fù)數(shù)據(jù)庫前的準(zhǔn)備有兩種方法可以得到有關(guān)數(shù)據(jù)庫備份介質(zhì)的信息。1)通過界面方式查看所有備份介質(zhì)的屬性在“對象資源管理器”面板中展開服務(wù)器對象→備份設(shè)備,選擇欲查看的備份介質(zhì),右擊,在彈出的快捷菜單中選擇“屬性”命令。在打開的“備份設(shè)備”窗口中選擇“媒體內(nèi)容”選項(xiàng)卡,將顯示所選備份介質(zhì)的有關(guān)信息,如備份介質(zhì)所在的服務(wù)器名、備份數(shù)據(jù)庫名、備份類型、備份日期、到期日及大小等信息。2)使用命令得到有關(guān)備份介質(zhì)更詳細(xì)的信息RESTOREHEADERONLY語句的執(zhí)行結(jié)果是在特定的備份設(shè)備上檢索所有備份集的所有備份首部信息。其語法格式如下。RESTOREHEADERONLY FROM備份設(shè)備 /*指定還原時(shí)要使用的邏輯或物理備份設(shè)備*/ ……RESTOREFILELISTONLY語句可獲得備份集內(nèi)包含的數(shù)據(jù)庫和日志文件列表組成的結(jié)果集信息。RESTORELABELONLY語句可獲得有關(guān)指定備份設(shè)備所標(biāo)識(shí)的備份媒體信息組成的結(jié)果集信息。恢復(fù)數(shù)據(jù)庫2.命令方式恢復(fù)數(shù)據(jù)庫說明與正常日志備份相似,尾日志備份將捕獲所有尚未備份的事務(wù)日志記錄,但與正常日志備份在下列幾個(gè)方面有所不同。(1)如果數(shù)據(jù)庫損壞或離線,則可以嘗試進(jìn)行尾日志備份。僅當(dāng)日志文件未損壞且數(shù)據(jù)庫不包含任何大容量日志更改時(shí),尾日志備份才會(huì)成功。(2)尾日志備份可使用COPY_ONLY選項(xiàng)獨(dú)立于定期日志備份進(jìn)行創(chuàng)建。僅復(fù)制備份不會(huì)影響備份日志鏈。事務(wù)日志不會(huì)被尾日志備份截?cái)啵⑶也东@的日志將包括在以后的正常日志備份中。(3)如果數(shù)據(jù)庫損壞,尾日志可能會(huì)包含不完整的元數(shù)據(jù),這是因?yàn)槟承┩ǔ?捎糜谌罩緜浞莸脑獢?shù)據(jù)在尾日志備份中可能會(huì)不可用。(4)在創(chuàng)建尾日志備份時(shí),也可以同時(shí)使數(shù)據(jù)庫變?yōu)檫€原狀態(tài)。使數(shù)據(jù)庫離線可保證尾日志備份包含對數(shù)據(jù)庫所做的所有更改,并且隨后不對數(shù)據(jù)庫進(jìn)行更改。恢復(fù)數(shù)據(jù)庫3.恢復(fù)整個(gè)數(shù)據(jù)庫當(dāng)存儲(chǔ)數(shù)據(jù)庫的物理介質(zhì)被破壞,或整個(gè)數(shù)據(jù)庫被誤刪除或破壞時(shí),就要恢復(fù)整個(gè)數(shù)據(jù)庫。在恢復(fù)整個(gè)數(shù)據(jù)庫時(shí),SQLServer系統(tǒng)將重新創(chuàng)建數(shù)據(jù)庫及與之相關(guān)的所有文件,并將文件存放在原來的位置。其語法格式如下。RESTOREDATABASE數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量 /*指定被還原的目標(biāo)數(shù)據(jù)庫*/ FROM備份設(shè)備,… /*指定備份設(shè)備*/ [WITHRECOVERY|NORECOVERY|STANDBY=備用文件名|@備用文件名變量] …恢復(fù)數(shù)據(jù)庫【例8.7】使用RESTORE語句從一個(gè)已存在的命名備份介質(zhì)xscjBK1中恢復(fù)整個(gè)數(shù)據(jù)庫xscj。(1)創(chuàng)建備份設(shè)備xscjBK1EXECsp_addumpdevice'DISK','xscjBK1','E:\SQLServer\Data\xscjBK1.bak'(2)對xscj數(shù)據(jù)庫進(jìn)行完全備份BACKUPDATABASExscj TOxscjBK1(3)用戶可以對xscj數(shù)據(jù)庫做一些修改,如刪除其中一個(gè)表(kcb2),以便確認(rèn)是否恢復(fù)了數(shù)據(jù)庫。USExscjDROPTABLEkcb2(4)恢復(fù)數(shù)據(jù)庫xscjUSEmasterRESTOREDATABASExscj FROMxscjBK1 WITHFILE=1,REPLACE恢復(fù)數(shù)據(jù)庫4.恢復(fù)數(shù)據(jù)庫的部分內(nèi)容應(yīng)用程序或用戶的誤操作,如無效更新或誤刪表等,往往只影響到數(shù)據(jù)庫的某些相對獨(dú)立的部分。在這些情況下,SQLServer提供了將數(shù)據(jù)庫的部分內(nèi)容還原到另一個(gè)位置的機(jī)制,以使損壞或丟失的數(shù)據(jù)可復(fù)制回原始數(shù)據(jù)庫。5.恢復(fù)特定的文件或文件組若某個(gè)或某些文件被破壞或被誤刪除,則可以從文件或文件組備份中恢復(fù),而不必進(jìn)行整個(gè)數(shù)據(jù)庫的恢復(fù)。恢復(fù)數(shù)據(jù)庫6.事務(wù)日志恢復(fù)使用事務(wù)日志,可將數(shù)據(jù)庫恢復(fù)到指定的時(shí)間點(diǎn)。語法格式如下。RESTORELOG數(shù)據(jù)庫名|@數(shù)據(jù)庫名變量

文件或文件組,… FROM備份設(shè)備,… [WITHRECOVERY|NORECOVERY|STANDBY=備用文件名|@備用文件名變量 …|,指定時(shí)間點(diǎn)]執(zhí)行事務(wù)日志恢復(fù)必須在進(jìn)行完全數(shù)據(jù)庫恢復(fù)以后。以下語句是先從備份介質(zhì)xscjBK1完全恢復(fù)數(shù)據(jù)庫xscj,再進(jìn)行事務(wù)日志恢復(fù)(假設(shè)已經(jīng)備份了xscj數(shù)據(jù)庫的事務(wù)日志到備份設(shè)備xscjLOGBK中)。USEmasterRESTORELOGxscj FROMxscjLOGBKGO03界面恢復(fù)數(shù)據(jù)庫界面恢復(fù)數(shù)據(jù)庫在“對象資源管理器”中選擇需要恢復(fù)的數(shù)據(jù)庫(如xscj),右擊,在彈出的快捷菜單中選擇任務(wù)→還原→數(shù)據(jù)庫命令,打開“還原數(shù)據(jù)庫-xscj”窗口,如圖。第8章

數(shù)據(jù)庫備份與恢復(fù)——數(shù)據(jù)庫快照數(shù)據(jù)庫快照1.數(shù)據(jù)庫快照創(chuàng)建語法格式如下。CREATEDATABASE數(shù)據(jù)庫快照名 ON(NAME=邏輯文件名,FILENAME='路徑文件名' )[,...] ASSNAPSHOTOF源數(shù)據(jù)庫名數(shù)據(jù)庫快照創(chuàng)建后,在對象資源管理器的數(shù)據(jù)庫項(xiàng)下展開“數(shù)據(jù)庫快照”,就可以看見創(chuàng)建的數(shù)據(jù)庫快照名項(xiàng)。數(shù)據(jù)庫快照【例8.8】創(chuàng)建test3數(shù)據(jù)庫的快照。CREATEDATABASEtest3_s1 ON ( NAME=test3_dat1, FILENAME="E:\MyDB\test3_dat1_s1.mdf" ), ( NAME=test3_dat2, FILENAME="E:\MyDB\test3_dat2_s1.mdf" ) ASSNAPSHOTOFtest3GO數(shù)據(jù)庫快照2.快照恢復(fù)數(shù)據(jù)庫

在數(shù)據(jù)庫快照后若進(jìn)行了錯(cuò)誤的操作改變數(shù)據(jù)庫的內(nèi)容,可以采用快照恢復(fù)數(shù)據(jù)庫。T-SQL語句語法:RESTOREDATABASE

數(shù)據(jù)庫名

FROMDATABASE_SNAPSHOT

='數(shù)據(jù)庫快照名'說明:數(shù)據(jù)庫快照名需要加引號(hào)。例如:USEtest3CREATETABLEtab(idint)USEmasterRESTOREDATABASEtest3 FROMDATABASE_SNAPSHOT='test3_s1'數(shù)據(jù)庫快照3.數(shù)據(jù)庫快照刪除刪除數(shù)據(jù)庫快照的方法和刪除數(shù)據(jù)庫的方法完全相同,可以使用界面方式刪除,也可以使用命令方式刪除。DROPDATABASE數(shù)據(jù)庫快照名例如:DROPDATABASEtest3_s1第8章

數(shù)據(jù)庫備份與恢復(fù)——附加數(shù)據(jù)庫和數(shù)據(jù)庫復(fù)制01附加數(shù)據(jù)庫附加數(shù)據(jù)庫當(dāng)數(shù)據(jù)庫發(fā)生異常、數(shù)據(jù)庫中的數(shù)據(jù)丟失時(shí),就可以使用已經(jīng)備份的數(shù)據(jù)庫文件來恢復(fù)數(shù)據(jù)庫。這種方法叫做附加數(shù)據(jù)庫。SQLServer附加數(shù)據(jù)庫通過直接復(fù)制數(shù)據(jù)庫的邏輯文件和日志文件來進(jìn)行備份,這些文件在數(shù)據(jù)庫數(shù)據(jù)文件目錄中(默認(rèn)為“C:\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA”)。在“對象資源管理器”面板中右擊“數(shù)據(jù)庫”選項(xiàng),在彈出的快捷菜單中選擇“附加”命令,打開“附加數(shù)據(jù)庫”窗口,單擊“添加”按鈕,選擇要導(dǎo)入的數(shù)據(jù)庫文件,單擊“確定”按鈕,返回“附加數(shù)據(jù)庫”窗口。此時(shí)“附加數(shù)據(jù)庫”窗口中列出了要附加的數(shù)據(jù)庫的原始文件和日志文件的信息,單擊“確定”按鈕開始附加數(shù)據(jù)庫。成功后將會(huì)在“數(shù)據(jù)庫”列表中找到附加成功的數(shù)據(jù)庫。02復(fù)制數(shù)據(jù)庫復(fù)制數(shù)據(jù)庫在SQLServer中,可以使用“復(fù)制數(shù)據(jù)庫向?qū)А睂?shù)據(jù)庫復(fù)制或轉(zhuǎn)移到另一個(gè)服務(wù)器中。使用“復(fù)制數(shù)據(jù)庫向?qū)А鼻靶枰獑?dòng)SQLServer代理服務(wù),可以使用SQLServer配置管理器來完成。進(jìn)入SQLServer配置管理器后,雙擊SQLServer代理服務(wù),彈出“SQLServer代理屬性”對話框,單擊“啟動(dòng)”按鈕,啟動(dòng)該服務(wù)后即可使用“復(fù)制數(shù)據(jù)庫向?qū)А?。也可以直接在“對象資源管理器”面板中啟動(dòng)SQLServer代理服務(wù):在“對象資源管理器”面板中右擊“SQLServer代理”選項(xiàng),在彈出的快捷菜單中選擇“啟動(dòng)”命令,彈出“確認(rèn)”對話框單擊“是”按鈕即可。第9章

系統(tǒng)安全管理——SQLServer的安全機(jī)制01身份驗(yàn)證模式Windows驗(yàn)證模式SQLServer驗(yàn)證模式身份驗(yàn)證模式1.Windows驗(yàn)證模式用戶登錄Windows時(shí)進(jìn)行身份驗(yàn)證,登錄SQLServer時(shí)就不再進(jìn)行身份驗(yàn)證了。除了超級(jí)用戶(Adminstrator),必須將Windows賬戶加入到SQLServer中,才能采用Windows賬戶登錄SQLServer。如果使用Windows賬戶登錄到另一個(gè)網(wǎng)絡(luò)的SQLServer,則必須在Windows中設(shè)置彼此的托管權(quán)限。2.SQLServer驗(yàn)證模式在SQLServer驗(yàn)證模式下,SQLServer服務(wù)器要對登錄的用戶進(jìn)行身份驗(yàn)證。系統(tǒng)管理員必須設(shè)定登錄驗(yàn)證模式的類型為混合驗(yàn)證模式。當(dāng)采用混合模式時(shí),SQLServer系統(tǒng)既允許使用Windows登錄名登錄,也允許使用SQLServer登錄名登錄。02安全性機(jī)制服務(wù)器級(jí)別數(shù)據(jù)庫級(jí)別架構(gòu)級(jí)別安全性機(jī)制1.服務(wù)器級(jí)別服務(wù)器級(jí)別所包含的安全對象主要有登錄名、固定服務(wù)器角色等。其中,登錄名用于登錄數(shù)據(jù)庫服務(wù)器,而固定服務(wù)器角色用于給登錄名賦予相應(yīng)的服務(wù)器權(quán)限。SQLServer中的登錄名主要有兩種:第一種是Windows登錄名,第二種是SQLServer登錄名。Windows登錄名對應(yīng)Windows驗(yàn)證模式,該驗(yàn)證模式所涉及的賬戶類型主要有Windows本地用戶賬戶、Windows域用戶賬戶、Windows組。SQLServer登錄名對應(yīng)SQLServer驗(yàn)證模式,在該驗(yàn)證模式下,能夠使用的賬戶類型主要是SQLServer賬戶。安全性機(jī)制2.?dāng)?shù)據(jù)庫級(jí)別數(shù)據(jù)庫級(jí)別所包含的安全對象主要有用戶、角色、應(yīng)用程序角色、證書、對稱密鑰、非對稱密鑰、程序集、全文目錄、DDL事件和架構(gòu)等。用戶安全對象是用來訪問數(shù)據(jù)庫的。如果某人只擁有登錄名,而沒有在相應(yīng)的數(shù)據(jù)庫中為其創(chuàng)建登錄名所對應(yīng)的用戶,則該用戶只能登錄數(shù)據(jù)庫服務(wù)器,而不能訪問相應(yīng)的數(shù)據(jù)庫。若此時(shí)為其創(chuàng)建登錄名所對應(yīng)的數(shù)據(jù)庫用戶,而沒有賦予相應(yīng)的角色,則系統(tǒng)默認(rèn)該用戶自動(dòng)具有public角色。因此,該用戶登錄數(shù)據(jù)庫后對數(shù)據(jù)庫中的資源只擁有一些公共的權(quán)限,如果要讓該用戶擁有一些特殊的權(quán)限,則應(yīng)該將其添加到相應(yīng)的角色中。安全性機(jī)制3.架構(gòu)級(jí)別架構(gòu)級(jí)別所包含的安全對象有表、視圖、函數(shù)、存儲(chǔ)過程、類型、同義詞、聚合函數(shù)等。在創(chuàng)建這些對象時(shí)可設(shè)定架構(gòu),若不設(shè)定,則系統(tǒng)默認(rèn)架構(gòu)為dbo。數(shù)據(jù)庫用戶只能對屬于自己架構(gòu)中的數(shù)據(jù)庫對象執(zhí)行相應(yīng)的操作。至于操作的權(quán)限則由數(shù)據(jù)庫角色決定。例如,若某數(shù)據(jù)庫中的表A屬于架構(gòu)S1,表B屬于架構(gòu)S2,而某用戶默認(rèn)的架構(gòu)為S2,如果沒有授予該用戶操作表A的權(quán)限,則他不能對表A執(zhí)行操作。但是,該用戶可以對表B執(zhí)行操作。03數(shù)據(jù)庫安全/驗(yàn)證數(shù)據(jù)庫安全/驗(yàn)證一個(gè)用戶要想登錄服務(wù)器上的SQLServer數(shù)據(jù)庫,并對數(shù)據(jù)庫中的表執(zhí)行數(shù)據(jù)更新操作,則該用戶必須經(jīng)過如圖所示的安全驗(yàn)證。第9章

系統(tǒng)安全管理——建立和管理用戶賬戶01界面方式管理用戶賬戶建立Windows驗(yàn)證模式的登錄名建立SQLServer驗(yàn)證模式的登錄名管理數(shù)據(jù)庫用戶界面方式管理用戶賬戶1.建立Windows驗(yàn)證模式的登錄名(1)創(chuàng)建Windows的用戶以管理員身份登錄到Windows,打開控制面板,完成新用戶“l(fā)iu”的創(chuàng)建。(2)將Windows賬戶加入到SQLServer中以管理員身份登錄到SSMS,在“對象資源管理器”面板中的“安全性”下選擇“登錄名”選項(xiàng)。右擊,在彈出的快捷菜單中選擇“新建登錄名”命令,打開“登錄名-新建”窗口,如圖所示,單擊“常規(guī)”選項(xiàng)卡中的“搜索”按鈕,在彈出的“選擇用戶或組”對話框中的“輸入要選擇的對象名稱”欄中輸入“l(fā)iu”,然后單擊“檢查名稱”按鈕,系統(tǒng)生成“DELL\liu”,單擊“確定”按鈕,在登錄名中就會(huì)顯示完整名稱。界面方式管理用戶賬戶2.建立SQLServer驗(yàn)證模式的登錄名(1)將驗(yàn)證模式設(shè)為混合模式如果用戶在安裝SQLServer時(shí)驗(yàn)證模式?jīng)]有設(shè)置為混合模式,則先要將驗(yàn)證模式設(shè)為混合模式。步驟如下。以系統(tǒng)管理員身份登錄到SSMS,在“對象資源管理器”面板中選擇要登錄的SQLServer服務(wù)器圖標(biāo),右擊,在彈出的快捷菜單中選擇“屬性”命令,打開“服務(wù)器屬性DELL”窗口。選擇“安全性”選項(xiàng)卡。選中“SQLServer和Windows身份驗(yàn)證模式”單選按鈕,如圖。界面方式管理用戶賬戶(2)創(chuàng)建SQLServer驗(yàn)證模式的登錄名在“對象資源管理器”面板中選擇“安全性”中的“登錄名”選項(xiàng)右擊,在彈出的快捷菜單中選擇“新建登錄名”命令,打開“登錄名-新建”窗口。選中“SQLServer身份驗(yàn)證”單選按鈕,在“登錄名”文本框中輸入“SQL_liu”,輸入密碼“123”并進(jìn)行確認(rèn),取消勾選“強(qiáng)制密碼過期”復(fù)選框,默認(rèn)數(shù)據(jù)庫為“xscj”,如圖所示。單擊“確定”按鈕即可。界面方式管理用戶賬戶(1)利用登錄名新建數(shù)據(jù)庫用戶以系統(tǒng)管理員身份連接SQLServer,展開數(shù)據(jù)庫(這里可選xscj)→安全性,選擇“用戶”,右擊,在彈出的快捷菜單中選擇“新建用戶”命令,打開“數(shù)據(jù)庫用戶-新建”窗口。在“登錄名”文本框中填寫一個(gè)能夠登錄SQLServer的登錄名,如“SQL_liu”,在“用戶名”文本框中填寫一個(gè)數(shù)據(jù)庫用戶名“User_SQL_liu”。一個(gè)登錄名在本數(shù)據(jù)庫中只能創(chuàng)建一個(gè)數(shù)據(jù)庫用戶。這里可選擇默認(rèn)架構(gòu)為dbo,如圖。界面方式管理用戶賬戶也可采用上述方法在xscj數(shù)據(jù)庫下新建Windows登錄名“l(fā)iu”對應(yīng)的用戶“User_liu”,如圖。界面方式管理用戶賬戶(2)數(shù)據(jù)庫用戶顯示數(shù)據(jù)庫用戶創(chuàng)建成功后,展開數(shù)據(jù)庫xscj→安全性,選擇“用戶”選項(xiàng)查看到所有用戶列表。在用戶列表中,還可以修改現(xiàn)有數(shù)據(jù)庫用戶的屬性,或者刪除用戶。(3)登錄名對應(yīng)數(shù)據(jù)庫用戶連接SQLServer“身份驗(yàn)證”選擇重啟SQLServer,在“連接到服務(wù)器”對話框中,“身份驗(yàn)證”欄選“SQLServer身份驗(yàn)證”,在“登錄名”文本框中填寫“SQL_liu”,輸入密碼“123”,單擊“連接”按鈕,即可連接SQLServer。此時(shí)的“對象資源管理器”面板如圖。02命令方式管理用戶賬戶登錄名的創(chuàng)建與刪除數(shù)據(jù)庫用戶的創(chuàng)建與刪除命令方式管理用戶賬戶1.登錄名的創(chuàng)建與刪除1)創(chuàng)建登錄名語法格式如下。CREATELOGIN登錄名 WITHPASSWORD='密碼'[HASHED][MUST_CHANGE] [,選項(xiàng)列表,…] /*WITH子句用于創(chuàng)建SQLServer登錄名*/ |FROMWINDOWS [WITHWindows選項(xiàng),…] |CERTIFICATE證書名 |ASYMMETRICKEY非對稱密鑰名其中,選項(xiàng)列表的語法格式如下。SID=登錄GUID|DEFAULT_DATABASE=數(shù)據(jù)庫|DEFAULT_LANGUAGE=語言|CHECK_EXPIRATION=ON|OFF|CHECK_POLICY=ON|OFF[CREDENTIAL=憑據(jù)名]Windows選項(xiàng)的語法格式如下。DEFAULT_DATABASE=數(shù)據(jù)庫|DEFAULT_LANGUAGE=語言命令方式管理用戶賬戶有4種類型的登錄名:Windows驗(yàn)證模式登錄名、SQLServer驗(yàn)證模式登錄名、證書映射登錄名和非對稱密鑰映射登錄名,這里只具體介紹前兩種。(1)創(chuàng)建Windows驗(yàn)證模式登錄名創(chuàng)建Windows驗(yàn)證模式登錄名使用FROM子句,在其語法格式中,WINDOWS關(guān)鍵字指定將登錄名映射到Windows登錄名,其中,“Windows選項(xiàng)”為創(chuàng)建Windows登錄名的選項(xiàng),DEFAULT_DATABASE指定默認(rèn)數(shù)據(jù)庫,DEFAULT_LANGUAGE指定默認(rèn)語言?!纠?.1】使用命令方式創(chuàng)建Windows登錄名zhou(假設(shè)Windows用戶zhou已經(jīng)創(chuàng)建,本地計(jì)算機(jī)名為DELL),默認(rèn)數(shù)據(jù)庫設(shè)置為xscj。語句如下:CREATELOGIN[DELL\zhou] FROMWINDOWS WITHDEFAULT_DATABASE=xscj命令執(zhí)行成功后在安全性→登錄名列表上就可以查看到該登錄名。FROM子句中還有另外兩個(gè)選項(xiàng):CERTIFICATE選項(xiàng)用于指定將與登錄名關(guān)聯(lián)的證書名稱;ASYMMETRICKEY選項(xiàng)用于指定將與此登錄名關(guān)聯(lián)的非對稱密鑰的名稱。命令方式管理用戶賬戶(2)創(chuàng)建SQLServer驗(yàn)證模式登錄名創(chuàng)建SQLServer驗(yàn)證模式登錄名使用WITH子句。其中:①PASSWORD:用于指定正在創(chuàng)建的登錄名的密碼,“'密碼'”為密碼字符串。HASHED選項(xiàng)指定在PASSWORD參數(shù)后輸入的密碼已經(jīng)過哈希運(yùn)算,如果未選擇此選項(xiàng),則在將作為密碼輸入的字符串存儲(chǔ)到數(shù)據(jù)庫之前,對其進(jìn)行哈希運(yùn)算。②選項(xiàng)列表:用于指定在創(chuàng)建SQLServer登錄名時(shí)的一些選項(xiàng),如下。SID:指定新SQLServer登錄名的全局唯一標(biāo)識(shí)符,如果未指定此選項(xiàng),則自動(dòng)指派。DEFAULT_DATABASE:指定默認(rèn)數(shù)據(jù)庫,如果未指定此選項(xiàng),則默認(rèn)數(shù)據(jù)庫將設(shè)置為master。DEFAULT_LANGUAGE:指定默認(rèn)語言,如果未指定此選項(xiàng),則默認(rèn)語言將設(shè)置為服務(wù)器的當(dāng)前默認(rèn)語言。CHECK_EXPIRATION:指定是否對此登錄名強(qiáng)制實(shí)施密碼過期策略,默認(rèn)值為OFF。CHECK_POLICY:指定應(yīng)對此登錄名強(qiáng)制實(shí)施運(yùn)行SQLServer的計(jì)算機(jī)的Windows密碼策略,默認(rèn)值為ON?!纠?.2】創(chuàng)建SQLServer登錄名sql_zhou,密碼為123456,默認(rèn)數(shù)據(jù)庫設(shè)置為xscj。語句如下:CREATELOGINsql_zhou WITHPASSWORD='123456',DEFAULT_DATABASE=xscj命令方式管理用戶賬戶2)刪除登錄名刪除登錄名使用DROPLOGIN命令。其語法格式如下。DROPLOGIN登錄名例如,刪除Windows登錄名zhou和SQLServer登錄名sql_zhou。DROPLOGIN[DELL\zhou]DROPLOGINsql_zhou命令方式管理用戶賬戶2.?dāng)?shù)據(jù)庫用戶的創(chuàng)建與刪除1)創(chuàng)建數(shù)據(jù)庫用戶創(chuàng)建數(shù)據(jù)庫用戶使用CREATEUSER命令。其語法格式如下。CREATEUSER用戶名 FORLOGIN登錄名 |CERTIFICATE證書名 |ASYMMETRICKEY非對稱密鑰名 [WITHDEFAULT_SCHEMA=架構(gòu)名]說明:(1)用戶名:用于指定數(shù)據(jù)庫用戶名。FOR子句用于指定相關(guān)聯(lián)的登錄名。(2)LOGIN登錄名:指定要?jiǎng)?chuàng)建數(shù)據(jù)庫用戶的SQLServer登錄名。(3)WITHDEFAULT_SCHEMA:指定服務(wù)器為此數(shù)據(jù)庫用戶解析對象名稱時(shí)將搜索的第一個(gè)架構(gòu),默認(rèn)為dbo。命令方式管理用戶賬戶【例9.3】使用SQLServer登錄名sql_zhou在xscj數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫用戶User_sql_zhou,默認(rèn)架構(gòu)名使用dbo。語句如下:CREATEUSERUser_sql_zhou FORLOGINsql_zhou WITHDEFAULT_SCHEMA=dbo命令執(zhí)行成功后,可以在數(shù)據(jù)庫xscj“安全性”中的“用戶”列表中查看到該數(shù)據(jù)庫用戶。命令方式管理用戶賬戶2)刪除數(shù)據(jù)庫用戶刪除數(shù)據(jù)庫用戶使用DROPUSER語句。其語法格式如下。DROPUSER用戶名“用戶名”為要?jiǎng)h除的數(shù)據(jù)庫用戶名,在刪除之前要使用USE語句指定數(shù)據(jù)庫。例如,刪除xscj數(shù)據(jù)庫的用戶User_sql_zhou的語句如下。DROPUSERUser_sql_zhou第9章

系統(tǒng)安全管理——角色管理01固定服務(wù)器角色通過界面方式添加服務(wù)器角色成員利用系統(tǒng)存儲(chǔ)過程添加固定服務(wù)器角色成員利用系統(tǒng)存儲(chǔ)過程刪除固定服務(wù)器角色成員固定服務(wù)器角色SQLServer提供了以下固定服務(wù)器角色。(1)sysadmin:系統(tǒng)管理員,角色成員可對SQLServer服務(wù)器進(jìn)行所有的管理工作,為最高管理角色。(2)securityadmin:安全管理員,角色成員可以管理登錄名及其屬性,可以授予、拒絕、撤銷服務(wù)器級(jí)和數(shù)據(jù)庫級(jí)的權(quán)限,還可以重置SQLServer登錄名的密碼。(3)serveradmin:服務(wù)器管理員,角色成員具有對服務(wù)器進(jìn)行設(shè)置及關(guān)閉服務(wù)器的權(quán)限。(4)setupadmin:設(shè)置管理員,角色成員可以添加和刪除鏈接服務(wù)器,并執(zhí)行某些系統(tǒng)存儲(chǔ)過程。(5)processadmin:進(jìn)程管理員,角色成員可以終止SQLServer實(shí)例中運(yùn)行的進(jìn)程。(6)diskadmin:用于管理磁盤文件。(7)dbcreator:數(shù)據(jù)庫創(chuàng)建者,角色成員可以創(chuàng)建、更改、刪除或還原任何數(shù)據(jù)庫。(8)bulkadmin:可執(zhí)行BULKINSERT語句,但是這些成員對要插入數(shù)據(jù)的表必須有INSERT權(quán)限。BULKINSERT語句的功能是以用戶指定的格式復(fù)制一個(gè)數(shù)據(jù)文件至數(shù)據(jù)庫表或視圖。(9)public:其角色成員可以查看任何數(shù)據(jù)庫。固定服務(wù)器角色1.通過界面方式添加服務(wù)器角色成員(1)以系統(tǒng)管理員身份登錄到SQLServer服務(wù)器,在“對象資源管理器”面板中展開安全性→登錄名,選擇登錄名,如“DELL\zhou”,雙擊或右擊,在彈出的快捷菜單中選擇“屬性”命令,打開“登錄屬性”窗口。(2)在打開的“登錄屬性”窗口中選擇“服務(wù)器角色”選項(xiàng)卡,在“登錄屬性”窗口右側(cè)面板列出了所有的固定服務(wù)器角色,如圖。固定服務(wù)器角色2.利用系統(tǒng)存儲(chǔ)過程添加固定服務(wù)器角色成員語法格式如下。sp_addsrvrolemember[@登錄名=]'login',

[@角色名=]'role'其中,“l(fā)ogin”指定添加到固定服務(wù)器角色“role”的登錄名,可以是SQLServer登錄名或Windows登錄名。對于Windows登錄名,如果還沒有授予SQLServer訪問權(quán)限,將自動(dòng)對其授予訪問權(quán)限。說明:(1)將登錄名添加為固定服務(wù)器角色的成員后,該登錄名就會(huì)得到與此固定服務(wù)器角色相關(guān)的權(quán)限。(2)不能更改sa角色成員資格。(3)不能在用戶定義的事務(wù)內(nèi)執(zhí)行sp_addsrvrolemember存儲(chǔ)過程。(4)sysadmin固定服務(wù)器的角色成員可以將任何固定服務(wù)器角色添加到某個(gè)登錄名,其他固定服務(wù)器角色的成員可以執(zhí)行sp_addsrvrolemember,為某個(gè)登錄名添加同一個(gè)固定服務(wù)器角色。(5)如果不想讓用戶有任何管理權(quán)限,就不要將其指派給服務(wù)器角色,這樣就可以將用戶限定為普通用戶?!纠?.4】將Windows登錄名“DELL\zhou”添加到sysadmin固定服務(wù)器角色中。語句如下:EXECsp_addsrvrolemember'DELL\zhou','sysadmin'固定服務(wù)器角色3.利用系統(tǒng)存儲(chǔ)過程刪除固定服務(wù)器角色成員語法格式如下。

sp_dropsrvrolemember[@登錄名=]'login',[@角色名=]'role'其中,“l(fā)ogin”為將要從固定服務(wù)器角色刪除的登錄名;“role”為服務(wù)器角色名,默認(rèn)值為NULL,必須是有效的固定服務(wù)器角色名?!纠?.5】從sysadmin固定服務(wù)器角色中刪除SQLServer登錄名sql_zhou。語句如下:

EXECsp_dropsrvrolemember'sql_zhou','sysadmin'02固定數(shù)據(jù)庫角色通過界面方式添加固定數(shù)據(jù)庫角色成員利用系統(tǒng)存儲(chǔ)過程添加固定數(shù)據(jù)庫角色成員利用“系統(tǒng)存儲(chǔ)過程”刪除固定數(shù)據(jù)庫角色成員固定數(shù)據(jù)庫角色SQLServer提供了以下固定數(shù)據(jù)庫角色。(1)db_owner:數(shù)據(jù)庫所有者,這個(gè)數(shù)據(jù)庫角色的成員可執(zhí)行數(shù)據(jù)庫中的所有管理操作。(2)db_accessadmin:數(shù)據(jù)庫訪問權(quán)限管理者,角色成員具有添加、刪除數(shù)據(jù)庫使用者、數(shù)據(jù)庫角色和組的權(quán)限。(3)db_securityadmin:數(shù)據(jù)庫安全管理員,角色成員可管理數(shù)據(jù)庫中的權(quán)限,如設(shè)置數(shù)據(jù)庫表的增加、刪除、修改和查詢等存取權(quán)限。(4)db_ddladmin:數(shù)據(jù)庫DDL管理員,角色成員可增加、修改或刪除數(shù)據(jù)庫中的對象。(5)db_backupoperator:數(shù)據(jù)庫備份操作員,角色成員具有執(zhí)行數(shù)據(jù)庫備份的權(quán)限。(6)db_datareader:數(shù)據(jù)庫數(shù)據(jù)讀取者,角色成員可以從所有用戶表中讀取數(shù)據(jù)。(7)db_datawriter:數(shù)據(jù)庫數(shù)據(jù)寫入者,角色成員具有對所有用戶表進(jìn)行增加、刪除、修改的權(quán)限。(8)db_denydatareader:數(shù)據(jù)庫拒絕數(shù)據(jù)讀取者,角色成員不能讀取數(shù)據(jù)庫中任何表的內(nèi)容。(9)db_denydatawriter:數(shù)據(jù)庫拒絕數(shù)據(jù)寫入者,角色成員不能對任何表進(jìn)行增加、刪除、修改操作。(10)public:一個(gè)特殊的數(shù)據(jù)庫角色,每個(gè)數(shù)據(jù)庫用戶都是public角色的成員,因此不能將用戶、組或角色指派為public角色的成員,也不能刪除public角色的成員。固定數(shù)據(jù)庫角色1.通過界面方式添加固定數(shù)據(jù)庫角色成員(1)以系統(tǒng)管理員身份登錄到SQLServer服務(wù)器,在“對象資源管理器”面板中展開數(shù)據(jù)庫→xscj→安全性→用戶下,選擇用戶“User_liu”,雙擊或右擊,在彈出的快捷菜單中選擇“屬性”命令,打開“數(shù)據(jù)庫用戶”窗口。(2)在“成員身份”選項(xiàng)卡中的“數(shù)據(jù)庫角色成員身份”選項(xiàng)組中,用戶可以根據(jù)需要,勾選數(shù)據(jù)庫角色的復(fù)選框,為數(shù)據(jù)庫用戶添加相應(yīng)的數(shù)據(jù)庫角色,如圖。固定數(shù)據(jù)庫角色(3)查看固定數(shù)據(jù)庫角色的成員。在“對象資源管理器”面板中,在xscj數(shù)據(jù)庫下的安全性→角色→數(shù)據(jù)庫角色目錄下,選擇“數(shù)據(jù)庫角色”選項(xiàng)“db_owner”,右擊,在彈出的快捷菜單中選擇“屬性”命令,在打開的“屬性”窗口中的“此角色的成員”列表中可以看到剛剛添加進(jìn)來的用戶“User_liu”,如圖。固定數(shù)據(jù)庫角色2.利用系統(tǒng)存儲(chǔ)過程添加固定數(shù)據(jù)庫角色成員語法格式如下。sp_addrolemember[@角色名=]'role',[@成員名=]'security_account'其中,“role”為當(dāng)前數(shù)據(jù)庫中的數(shù)據(jù)庫角色的名稱;“security_account”為添加到該角色的安全賬戶,可以是數(shù)據(jù)庫用戶或當(dāng)前數(shù)據(jù)庫角色。說明:(1)當(dāng)使用sp_addrolemember將用戶添加到角色時(shí),新成員將繼承所有應(yīng)用到角色的權(quán)限。(2)不能將固定數(shù)據(jù)庫或固定服務(wù)器角色或dbo添加到其他角色。(3)在用戶定義的事務(wù)中不能使用sp_addrolemember。(4)只有sysadmin固定服務(wù)器角色和db_owner固定數(shù)據(jù)庫角色中的成員可以執(zhí)行sp_addrolemember,將成員添加到數(shù)據(jù)庫角色。(5)db_securityadmin固定數(shù)據(jù)庫角色的成員可以將用戶添加到任何用戶定義的角色?!纠?.6】將xscj數(shù)據(jù)庫上的數(shù)據(jù)庫用戶User_SQL_liu添加為固定數(shù)據(jù)庫角色db_owner的成員。語句如下:EXECsp_addrolemember'db_owner','User_SQL_liu'固定數(shù)據(jù)庫角色3.利用“系統(tǒng)存儲(chǔ)過程”刪除固定數(shù)據(jù)庫角色成員語法格式如下。sp_droprolemember[@角色名=]'role',

[@成員名=]'security_account'說明:刪除某一角色的成員后,該成員將失去作為該角色的成員身份所擁有的任何權(quán)限;不能刪除public角色的用戶,也不能從任何角色中刪除dbo?!纠?.7】將數(shù)據(jù)庫用戶User_SQL_liu從db_owner中去除。語句如下:EXECsp_droprolemember'db_owner','User_SQL_liu'03自定義數(shù)據(jù)庫角色通過界面方式創(chuàng)建數(shù)據(jù)庫角色通過命令創(chuàng)建數(shù)據(jù)庫角色通過命令方式刪除數(shù)據(jù)庫角色自定義數(shù)據(jù)庫角色1.通過界面方式創(chuàng)建數(shù)據(jù)庫角色(1)創(chuàng)建數(shù)據(jù)庫角色以Windows系統(tǒng)管理員身份連接SQLServer,在“對象資源管理器”面板中展開“數(shù)據(jù)庫”,選擇要?jiǎng)?chuàng)建角色的數(shù)據(jù)庫(如xscj),展開其中的安全性→角色,右擊,在彈出的快捷菜單中選擇新建→新建數(shù)據(jù)庫角色命令,打開“數(shù)據(jù)庫角色-新建”窗口。在“數(shù)據(jù)庫角色-新建”窗口中,選擇“常規(guī)”選項(xiàng)卡,輸入要定義的角色名稱(如ROLE1),所有者默認(rèn)為dbo。直接單擊“確定”按鈕,完成數(shù)據(jù)庫角色的創(chuàng)建,如圖。(2)將數(shù)據(jù)庫用戶加入數(shù)據(jù)庫角色將用戶加入自定義數(shù)據(jù)庫角色的方法與將用戶加入固定數(shù)據(jù)庫角色的方法類似。例如,將xscj數(shù)據(jù)庫的用戶User_liu加入ROLE1角色。此時(shí)數(shù)據(jù)庫角色ROLE1的成員還沒有任何權(quán)限。當(dāng)授予數(shù)據(jù)庫角色權(quán)限時(shí),這個(gè)角色的成員也將獲得相同的權(quán)限。自定義數(shù)據(jù)庫角色2.通過命令創(chuàng)建數(shù)據(jù)庫角色(1)定義數(shù)據(jù)庫角色語法格式如下。CREATEROLE角色名[AUTHORIZATION所有者名]說明:“角色名”為要?jiǎng)?chuàng)建的數(shù)據(jù)庫角色的名稱?!癆UTHORIZATION所有者名”用于指定新的數(shù)據(jù)庫角色的所有者,如果未指定,則執(zhí)行CREATEROLE的用戶將擁有該角色?!纠?.8】在當(dāng)前數(shù)據(jù)庫中創(chuàng)建名為ROLE2的新角色,并指定dbo為該角色的所有者。語句如下:CREATEROLEROLE2 AUTHORIZATIONdbo自定義數(shù)據(jù)庫角色(2)給數(shù)據(jù)庫角色添加成員向用戶定義數(shù)據(jù)庫角色添加成員也使用存儲(chǔ)過程sp_addrolemember,用法與之前介紹的基本相同?!纠?.9】使用Windows身份驗(yàn)證模式的登錄名(如DELL\zhou)創(chuàng)建xscj數(shù)據(jù)庫的用戶(如User_zhou),并將該數(shù)據(jù)庫用戶添加到ROLE1數(shù)據(jù)庫角色中。語句如下:CREATEUSER[User_zhou] FROMLOGIN[DELL\zhou]GOEXECsp_addrolemember'ROLE1','User_zhou'【例9.10】將SQLServer登錄名創(chuàng)建的xscj的數(shù)據(jù)庫用戶User_SQL_liu添加到數(shù)據(jù)庫角色ROLE1中。語句如下:EXECsp_addrolemember'ROLE1','User_SQL_liu'【例9.11】將數(shù)據(jù)庫角色ROLE2添加到ROLE1中。語句如下:EXECsp_addrolemember'ROLE1','ROLE2'自定義數(shù)據(jù)庫角色3.通過命令方式刪除數(shù)據(jù)庫角色語法格式如下。DROPROLE角色名其中,“角色名”為要?jiǎng)h除的數(shù)據(jù)庫角色的名稱。【例9.12】刪除數(shù)據(jù)庫角色ROLE2。在刪除ROLE2之前首先需要將ROLE2中的成員刪除,可以使用界面方式,也可以使用命令方式。若使用界面方式,只需在ROLE2的屬性頁中操作即可。采用命令方式在刪除固定數(shù)據(jù)庫角色成員時(shí)已經(jīng)介紹,請參見前面內(nèi)容。確認(rèn)ROLE2可以刪除后,使用以下命令刪除ROLE2。DROPROLEROLE204應(yīng)用程序角色應(yīng)用程序角色創(chuàng)建應(yīng)用程序角色的步驟如下。(1)以系統(tǒng)管理員身份連接SQLServer,在“對象資源管理器”面板中展開數(shù)據(jù)庫→xscj→安全性→角色,右擊“角色”選項(xiàng),在彈出的快捷菜單中選擇新建→新建應(yīng)用程序角色菜單項(xiàng)。(2)在打開的“應(yīng)用程序角色-新建”窗口中輸入應(yīng)用程序角色名稱“APPROLE”,默認(rèn)架構(gòu)設(shè)置為“dbo”,設(shè)置密碼為“123”,如圖。應(yīng)用程序角色在“安全對象”選項(xiàng)卡中單擊“搜索”按鈕添加特定對象,選擇安全對象為表xsb。單擊“確定”按鈕返回“安全對象”選項(xiàng)卡中,授予表xsb的“選擇”權(quán)限(如圖所示),完成后單擊“確定”按鈕。應(yīng)用程序角色(3)添加User_SQL_liu用戶為db_denydatareader數(shù)據(jù)庫角色的成員,使用SQL_liu登錄名連接SQLServer。此后,在查詢窗口中輸入如下語句。SELECT*FROMxsb運(yùn)行結(jié)果顯示出錯(cuò)信息。(4)使用系統(tǒng)存儲(chǔ)過程sp_setapprole激活應(yīng)用程序角色,其語法格式如下。EXECsp_setapprole'APPROLE','123'(5)在查詢窗口中重新輸入第(3)步中的查詢語句,成功地執(zhí)行查詢。第9章

系統(tǒng)安全管理——數(shù)據(jù)庫權(quán)限的管理01授予權(quán)限通過命令方式授予權(quán)限通過界面方式授予權(quán)限授予權(quán)限1.通過命令方式授予權(quán)限語法格式如下。GRANTALL[PRIVILEGES]|權(quán)限(列名,…) [ON安全對象]TO主體,… [WITHGRANTOPTION][AS主體]說明:(1)ALL:表示授予所有可用的權(quán)限。ALLPRIVILEGES是SQL-92標(biāo)準(zhǔn)的用法。(2)權(quán)限:權(quán)限的名稱。根據(jù)安全對象的不同,權(quán)限的取值也不同。(3)列名:指定表、視圖或表值函數(shù)中要授予對其操作權(quán)限的列的名稱。(4)ON安全對象:指定將授予其權(quán)限的安全對象。(5)主體:主體的名稱,指被授予權(quán)限的對象,可為當(dāng)前數(shù)據(jù)庫的用戶、數(shù)據(jù)庫角色,指定的數(shù)據(jù)庫用戶、角色必須在當(dāng)前數(shù)據(jù)庫中存在,不可將權(quán)限授予其他數(shù)據(jù)庫中的用戶和角色。(6)WITHGRANTOPTION:表示允許被授權(quán)者在獲得指定權(quán)限的同時(shí),將指定權(quán)限授予其他用戶、角色或Windows組,WITHGRANTOPTION子句僅對對象權(quán)限有效。(7)AS主體:指定當(dāng)前數(shù)據(jù)庫中執(zhí)行GRANT語句的用戶所屬的角色名或組名。授予權(quán)限【例9.13】給xscj數(shù)據(jù)庫上的用戶User_wang和User_sql_wang授予創(chuàng)建表的權(quán)限。創(chuàng)建SQLServer登錄名sql_wang和xscj數(shù)據(jù)庫用戶User_sql_wang。以系統(tǒng)管理員身份登錄SQLServer,新建一個(gè)查詢,輸入以下語句。GRANTCREATETABLE TOUser_wang,User_sql_wangGO說明:授予數(shù)據(jù)庫級(jí)權(quán)限時(shí),CREATEDATABASE權(quán)限只能在master數(shù)據(jù)庫中被授予?!纠?.14】首先在數(shù)據(jù)庫xscj中給public角色授予表xsb的SELECT權(quán)限。然后,將其他一些權(quán)限授予用戶User_wang和User_sql_wang,使用戶有對xsb表的所有操作權(quán)限。以系統(tǒng)管理員身份登錄SQLServer,新建一個(gè)查詢,輸入以下語句。GRANTSELECT ONxsbTOpublicGOGRANTINSERT,UPDATE,DELETE,REFERENCES ONxsbTOUser_wang,User_sql_wangGO授予權(quán)限【例9.15】將CREATETABLE權(quán)限授予數(shù)據(jù)庫角色ROLE1的所有成員。以系統(tǒng)管理員身份登錄SQLServer,新建一個(gè)查詢,輸入以下語句。GRANTCREATETABLE TOROLE1【例9.16】以系統(tǒng)管理員身份登錄SQLServer,將表xsb的SELECT權(quán)限授予ROLE2角色(指定WITHGRANTOPTION子句)。用戶User_li是ROLE2的成員(創(chuàng)建過程略),在User_li用戶上將表xsb上的SELECT權(quán)限授予用戶User_huang(創(chuàng)建過程略),User_huang不是ROLE2的成員。(1)以Windows系統(tǒng)管理員身份連接SQLServer,授予角色ROLE2在xsb表上的SELECT權(quán)限。GRANTSELECT ONxsbTOROLE2 WITHGRANTOPTION(2)在查詢分析器窗格中使用如下語句將用戶User_li在xsb表上的SELECT權(quán)限授予User_huang。GRANTSELECT ONxsbTOUser_huang ASROLE2授予權(quán)限【例9.17】在當(dāng)前數(shù)據(jù)庫xscj中給public角色賦予對表xsb中學(xué)號(hào)、姓名字段的SELECT權(quán)限。以系統(tǒng)管理員身份登錄SQLServer,新建一個(gè)查詢,輸入以下語句:GRANTSELECT(學(xué)號(hào),姓名) ONxsbTOpublicGO授予權(quán)限2.通過界面方式授予權(quán)限1)授予數(shù)據(jù)庫的權(quán)限例如,數(shù)據(jù)庫用戶User_wang授予xscj數(shù)據(jù)庫中CREATETABLE語句的權(quán)限(即創(chuàng)建表的權(quán)限)的操作步驟如下。(1)選擇“xscj”數(shù)據(jù)庫,右擊,在彈出的快捷菜單中選擇“屬性”命令,打開xscj數(shù)據(jù)庫的屬性窗口,選擇“權(quán)限”選項(xiàng)卡。在用戶或角色欄中選擇需要授予權(quán)限的用戶或角色(User_wang),在列出的權(quán)限列表中找到相應(yīng)的權(quán)限(如“創(chuàng)建表”),勾選相應(yīng)復(fù)選框,單擊“確定”按鈕即可完成。(2)如果需要授予權(quán)限的用戶在列出的用戶列表中不存在,則可以單擊“搜索”按鈕,將該用戶添加到列表中再進(jìn)行選擇。選擇“有效”選項(xiàng)卡,可以查看該用戶在當(dāng)前數(shù)據(jù)庫中有哪些權(quán)限。授予權(quán)限2)授予數(shù)據(jù)庫對象上的權(quán)限例如,給數(shù)據(jù)庫用戶User_wang授予kcb表上的SELECT、INSERT的權(quán)限。(1)展開xscj→數(shù)據(jù)庫→表→kcb,右擊,在彈出的快捷菜單中選擇“屬性”命令,打開kcb表的屬性窗口,選擇“權(quán)限”選項(xiàng)卡。(2)單擊“搜索”按鈕,在打開的“選擇用戶或角色”窗口中單擊“瀏覽”按鈕,選擇需要授權(quán)的用戶或角色(User_wang),單擊“確定”按鈕返回kcb表的屬性窗口。(3)選擇用戶(User_wang),在權(quán)限列表中選擇需要授予的權(quán)限,如“插入”、“選擇”,單擊“確定”按鈕完成授權(quán)。(4)如果要授予用戶在表列上的SELECT權(quán)限,可以選擇“選擇”權(quán)限后單擊“列權(quán)限”按鈕,在彈出的“列權(quán)限”對話框中選擇要授予權(quán)限的列即可。02拒絕權(quán)限拒絕權(quán)限使用DENY命令可以拒絕給當(dāng)前數(shù)據(jù)庫內(nèi)的用戶授予權(quán)限,并防止數(shù)據(jù)庫用戶通過其組或角色成員資格繼承權(quán)限。語法格式如下。DENYALL[PRIVILEGES]|權(quán)限(列名,…) [ON安全對象]TO主體,… [CASCADE][AS主體]說明:CASCADE表示拒絕為指定用戶或角色授予該權(quán)限,同時(shí)對該用戶或角色授予該權(quán)限的所有其他用戶和角色也拒絕授予該權(quán)限?!纠?.18】對多個(gè)用戶不允許使用CREATEVIEW和CREATETABLE語句。語句如下:DENYCREATEVIEW,CREATETABLE TOli,huangGO拒絕權(quán)限【例9.19】拒絕用戶li、huang、[DELL\liu]對表xsb的一些權(quán)限。語句如下:DENYSELECT,INSERT,UPDATE,DELETE ONxsbTOli,huang,[DELL\liu]GO【例9.20】對所有ROLE2角色成員拒絕CREATETABLE權(quán)限。語句如下:DENYCREATETABLE TOROLE2GO03撤銷權(quán)限撤銷權(quán)限利用REVOKE命

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論