版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、12.3 SQL Server數(shù)據(jù)庫系統(tǒng)安全控制,12.3.1 SQL Server數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu) 1.SQL Server數(shù)據(jù)庫系統(tǒng)簡介 SQL Server是由Sybase、Microsoft和Ashton-Tate聯(lián)合開發(fā)的OS/2系統(tǒng)上的數(shù)據(jù)庫系統(tǒng),1988年正式投入使用。之后,Ashton-Tate、Sybase相繼退出,Microsoft公司則不斷推出SQL Server的升級版本。 SQL Server是基
2、于SQL客戶/服務(wù)器(C/S)模式的數(shù)據(jù)庫系統(tǒng),建立在Microsoft Windows NT以上版本的操作系統(tǒng)平臺上,提供強大的企業(yè)數(shù)據(jù)庫管理功能。,Microsoft SQL Server 2000數(shù)據(jù)庫系統(tǒng)是在Windows NT環(huán)境下開發(fā)的一種關(guān)系型數(shù)據(jù)庫系統(tǒng),它具有大型數(shù)據(jù)庫的一些基本功能,支持事務(wù)處理功能、支持數(shù)據(jù)加密、設(shè)置用戶組或用戶的密碼和權(quán)限等等。它為用戶提供了大規(guī)模聯(lián)機事務(wù)處理(OLTP)、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序
3、所需的最新的優(yōu)秀數(shù)據(jù)庫平臺。,2.SQL Server數(shù)據(jù)庫系統(tǒng)安全體系結(jié)構(gòu) 所有SQL Server數(shù)據(jù)均存儲在數(shù)據(jù)庫文件中。 從物理上看,SQL Server數(shù)據(jù)庫由多個文件組成?! 〉珡倪壿嬌峡?,SQL Server數(shù)據(jù)庫由不同的數(shù)據(jù)庫對象組成,這些對象包括表、視圖、索引、規(guī)則、約束、默認、存儲過程和觸發(fā)器等。普通用戶操作時,他們通過數(shù)據(jù)庫對象訪問數(shù)據(jù)庫,而不是直接操數(shù)據(jù)庫文件。,SQL Server數(shù)據(jù)庫安全系統(tǒng)的構(gòu)架
4、建立在用戶和用戶組的基礎(chǔ)上。 SQL Server允許直接使用Windows的本地組和全局組來組織SQL Server的用戶賬戶?! 〈送?,若Windows用戶不屬于Windows組,仍可以作為Windows用戶或作為SQL Server用戶直接添加到SQL Server實例中?! QL Server 2000可以通過角色進行安全設(shè)置。角色是為了進行管理用戶而組織的用戶組,與Windows的組相同,但是當?shù)葍r的Windows組
5、不存在時,將在SQL Server中創(chuàng)建這些角色。,12.3.2 SQL Server數(shù)據(jù)庫系統(tǒng)的安全機制 SQL Server運行在Windows系統(tǒng)上,除了操作系統(tǒng)提供的比較完善的安全管理措施以外,SQL Server本身也有自己的安全管理,通過檢查登錄名、賬號、角色、視圖、權(quán)限、數(shù)據(jù)庫加密以及審計等手段實現(xiàn)數(shù)據(jù)庫系統(tǒng)的安全性,支持觸發(fā)器和完整性約束實現(xiàn)數(shù)據(jù)的完整性控制、提供封鎖機制實現(xiàn)數(shù)據(jù)的并發(fā)控制,同時可以對數(shù)據(jù)庫進行不同類
6、型的備份,數(shù)據(jù)庫數(shù)據(jù)遭到破壞時還原數(shù)據(jù)庫到以前某一時刻。,下面介紹SQL Server安全控制的相關(guān)操作?! ?.身份認證 SQL Server系統(tǒng)的第一層安全就是登錄時的身份認證。任何需要登錄SQL Server的用戶都需要一組服務(wù)器認可的賬戶和密碼(該賬戶和密碼必須是事先在SQL Server中注冊的)。 SQL Server支持兩種身份驗證模式: ?。?)Windows身份認證模式 在該模式下,系統(tǒng)允許用戶通過W
7、indows用戶賬戶進行連接。當用戶通過Windows認證并成功登錄后,用戶在連接數(shù)據(jù)庫時,SQL Server直接接收用戶的連接請求。,(2)Windows身份認證和SQL Server身份認證混合模式 在該模式下,對于可信任連接用戶的連接請求,系統(tǒng)將采用Windows認證模式,而對于非可信連接用戶則采用SQL Server認證模式。SQL Server模式認證要求用戶提供登錄賬戶名稱和口令,當?shù)卿涃~戶和口令通過認證后,用戶應(yīng)用程
8、序才可連接到服務(wù)器,否則服務(wù)器將會拒絕用戶的連接請求。 在安裝SQL Server的過程中,會出現(xiàn)一個對話框,要求選擇用戶進入系統(tǒng)的身份驗證方式。在SQL Server數(shù)據(jù)庫下的應(yīng)用系統(tǒng),建議盡量選用混合認證模式,它克服了Windows認證機制中不能控制用戶訪問數(shù)據(jù)庫權(quán)限的弊端,也解決了SQL Server認證模式中,安全性能較低的不足。,(3)SQL Server也可以使用“企業(yè)管理器”創(chuàng)建登錄賬號并進行身份驗證方式的切換,具體操
9、作如下?! 、?創(chuàng)建服務(wù)器登錄賬號 1)打開“企業(yè)管理器”,展開“安全性”節(jié)點,右擊“登錄”,會彈出快捷菜單,選擇“新建登錄”命令?! ?)在彈出“登錄屬性”對話框中,有“常規(guī)”、“服務(wù)器角色”、“數(shù)據(jù)庫訪問”三個選項卡?! ≡凇俺R?guī)”選項卡中,可以設(shè)置登錄賬號的名稱、登錄賬號的身份認證方式以及賬號默認登錄的數(shù)據(jù)庫。,3)在“服務(wù)器角色”選項卡中,可以對該登錄賬號作為默認登錄數(shù)據(jù)庫用戶的服務(wù)器角色的設(shè)置,即設(shè)置該賬號可執(zhí)行
10、的操作?! ?)在“數(shù)據(jù)庫訪問”選項卡中,可以指定該賬號可以訪問的其他數(shù)據(jù)庫以及各訪問數(shù)據(jù)庫中的服務(wù)器角色的設(shè)置?! ?)設(shè)置完各選項后,單擊“確定”按鈕,即完成了對登錄賬號的創(chuàng)建工作。,②查看修改、刪除登錄賬號 打開“企業(yè)管理器”,展開“安全性”節(jié)點,單擊節(jié)點的子對象“登錄”,在右側(cè)窗口會出現(xiàn)已經(jīng)存在的登錄賬號、類型、服務(wù)器訪問、默認數(shù)據(jù)庫、默認語言等信息;右擊要查看或修改或刪除的登錄賬號,從彈出的快捷菜單中選擇“屬性”命
11、令,在彈出的對話框中可以查看或直接進行修改; 選擇“刪除”命令可刪除登錄賬號。,2.訪問控制 要對數(shù)據(jù)進行訪問,首先要擁有一個合法的用戶,當用戶連接到SQL Server后,若要進行任何涉及更改數(shù)據(jù)庫定義或訪問數(shù)據(jù)的活動,都必須有相應(yīng)的權(quán)限,這個就是SQL Server系統(tǒng)安全控制的第二個層次:訪問許可機制。 在SQL Server中,訪問控制包括用戶管理、角色管理與權(quán)限管理。,(1)用戶管理 系統(tǒng)中有4個不同權(quán)限級
12、別的用戶,通過用戶權(quán)限,可有效的控制用戶對于數(shù)據(jù)庫的越權(quán)訪問。 其中系統(tǒng)管理員在SQL Server中具有最高權(quán)限,擁有數(shù)據(jù)庫的全部權(quán)限; 數(shù)據(jù)庫所有者用戶在其自己的數(shù)據(jù)庫上擁有全部權(quán)限,并可將權(quán)限授予其他用戶或收回; 數(shù)據(jù)庫對象擁有者則在其創(chuàng)建的數(shù)據(jù)庫對象中擁有全部權(quán)限,并可將權(quán)限授予其他用戶或收回; 作為普通用戶,除了極少的語句執(zhí)行權(quán)限之外,其他的權(quán)限只有靠其他用戶授權(quán)。,在SQL Server中,系統(tǒng)管理員由系統(tǒng)自
13、動創(chuàng)建,只有一個,默認登錄名為sa?! ?shù)據(jù)庫用戶使用“企業(yè)管理器”進行創(chuàng)建和修改,對于每個數(shù)據(jù)庫用戶權(quán)限的授予決定了該用戶的權(quán)限級別和可操作的對象?! ?shù)據(jù)庫用戶管理的具體操作如下: ?、俅蜷_“企業(yè)管理器”,選擇需要創(chuàng)建用戶的數(shù)據(jù)庫,單擊右鍵,在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫”用戶,將彈出“數(shù)據(jù)庫用戶屬性-新建用戶”對話框。,②在“新建用戶”對話框中,選擇新用戶的登錄名和用戶名,即可設(shè)置其數(shù)據(jù)庫角色。如果要新建一個登錄名,可
14、以打開“登錄名”下拉列表框,選擇“新建”,在彈出“新建登錄”對話框中,按照新建登錄的步驟創(chuàng)建登錄用戶?! τ谝呀?jīng)創(chuàng)建好的用戶,選中并單擊右鍵,選擇快捷菜單中的“屬性”,將彈出“數(shù)據(jù)庫用戶屬性”對話框?! 、蹎螕簟皺?quán)限”按鈕,在彈出的“權(quán)限”設(shè)置對話框中,就可以對用戶的權(quán)限進行設(shè)置或修改。,(2)角色管理 SQL Server中,角色分為服務(wù)器角色、數(shù)據(jù)庫角色和應(yīng)用程序角色。 其中,服務(wù)器角色負責整個SQL Server
15、服務(wù)器的訪問權(quán)限,由系統(tǒng)自動創(chuàng)建,不能增加或刪除,只能對其進行修改; 數(shù)據(jù)庫角色只負責某個具體數(shù)據(jù)庫的訪問權(quán)限,具體分為固定數(shù)據(jù)庫角色、公共數(shù)據(jù)庫角色和自定義數(shù)據(jù)庫角色,用于將數(shù)據(jù)庫中擁有相同安全權(quán)限的用戶組合成組; 應(yīng)用程序角色分配給某一運行在SQL Server上的應(yīng)用程序,授予角色的權(quán)限決定應(yīng)用程序的數(shù)據(jù)訪問能力。它不包含任何用戶或組,必須有一個使用內(nèi)置存儲過程的應(yīng)用程序激活后,角色才有效。,SQL Server中使用“企
16、業(yè)管理器”對角色進行管理,支持標準數(shù)據(jù)庫角色和應(yīng)用程序角色的創(chuàng)建,并可對系統(tǒng)中所有的數(shù)據(jù)庫角色進行用戶的添加和刪除?! 榱私巧陌踩芾?,系統(tǒng)不允許修改服務(wù)器角色和部分固定數(shù)據(jù)庫角色的權(quán)限,只可對公共數(shù)據(jù)庫角色、用戶自定義的數(shù)據(jù)庫角色、應(yīng)用程序角色進行權(quán)限的設(shè)置和修改。,具體操作如下: ?、俅蜷_“企業(yè)管理器”,選擇需要創(chuàng)建角色的數(shù)據(jù)庫,右擊彈出快捷菜單,依次選擇“新建/數(shù)據(jù)庫角色”菜單命令,彈出“數(shù)據(jù)庫角色屬性-新建角色”對話框
17、。 ?、谛枰砑訕藴式巧珪r,先在“名稱”欄輸入需要添加的角色名稱,然后在“數(shù)據(jù)庫角色類型”欄選擇“標準角色”,單擊“添加”按鈕,彈出“添加角色成員”對話框?! 、圻x擇要添加為的這個角色的一個或多個用戶,單擊“確定”按鈕,返回到“數(shù)據(jù)庫角色屬性-新建角色”對話框,單擊“確定”即完成了標準角色以及該角色成員的創(chuàng)建工作。,需要添加應(yīng)用程序角色時,先在“名稱”欄輸入需要添加的角色名稱,然后在“數(shù)據(jù)庫角色類型”欄選擇“應(yīng)用程序角色”,輸入該應(yīng)
18、用程序角色的密碼,單擊“確定”按鈕,即完成了應(yīng)用程序角色的創(chuàng)建工作?! 、芊祷亍捌髽I(yè)管理器”,選中剛剛建好的角色,右擊,在快捷菜單中選擇“屬性”,此時,“權(quán)限”按鈕處于激活狀態(tài),單擊該按鈕,可對數(shù)據(jù)庫角色的對象設(shè)置它的權(quán)限?! 、輰巧木S護和管理可直接選中角色,單擊右鍵,選擇“屬性”,對角色的權(quán)限、所屬用戶進行修改。,(3)權(quán)限管理 在SQL Server中,一共有三種權(quán)限,分別是對象權(quán)限、語句權(quán)限和隱含權(quán)限。 對象權(quán)限
19、決定用戶對數(shù)據(jù)庫中的表、存儲過程、視圖等數(shù)據(jù)庫對象所執(zhí)行的操作,包括SELECT、INSERT、UPDATE、DELETE、EXECLUTE等語句; 語句權(quán)限決定用戶是否可以在數(shù)據(jù)庫中創(chuàng)建或修改對象、執(zhí)行數(shù)據(jù)庫或事務(wù)日志備份; 隱含權(quán)限指系統(tǒng)預(yù)定義的服務(wù)器角色或數(shù)據(jù)庫擁有者和數(shù)據(jù)庫對象擁有者所擁有的權(quán)限,它不能明確地賦予和撤銷。,授予權(quán)限時,系統(tǒng)使用T-SQL語句中的GRANT(授權(quán))、DENY(拒絕)、REMOVE(收回)三個
20、語句控制數(shù)據(jù)庫或數(shù)據(jù)庫對象權(quán)限,也可使用“企業(yè)管理器”分配其權(quán)限。 SQL Server在授權(quán)管理中,常常先創(chuàng)建角色,使用角色賦予數(shù)據(jù)庫用戶權(quán)限,便于對數(shù)據(jù)庫權(quán)限的管理。,3.視圖機制 SQL Server同樣支持視圖機制,可以采用三種方法創(chuàng)建視圖:使用Transact-SQL的CREATE VIEW語句,或者使用視圖創(chuàng)建向?qū)?,或者使用“企業(yè)管理器”來創(chuàng)建視圖?! ∠旅娼榻B使用視圖創(chuàng)建向?qū)?chuàng)建視圖 打開“企業(yè)管理器”,選
21、中需要創(chuàng)建視圖的數(shù)據(jù)庫,依次選擇工具欄中的“工具/向?qū)А泵?,彈出“選擇向?qū)А睂υ捒?,雙擊展開“數(shù)據(jù)庫”,選擇“創(chuàng)建視圖向?qū)А?,單擊確定。根據(jù)彈出的對話框中的提示,一步一步設(shè)置視圖引用的數(shù)據(jù)庫、表以及是圖的名稱、被視圖顯示的列、對視圖顯示信息要進行的限制等信息,即可完成視圖的創(chuàng)建。,打開“企業(yè)管理器”,選擇要需要修改視圖的數(shù)據(jù)庫,在數(shù)據(jù)庫的下屬數(shù)據(jù)庫對象中選擇視圖,右擊鼠標,從彈出菜單中選中“設(shè)計視圖”,這樣就可以修改視圖定義了?!?/p>
22、 打開“企業(yè)管理器”,單擊數(shù)據(jù)庫中的視圖,在右側(cè)窗口中,選中要刪除的視圖名,右擊鼠標,從彈出菜單中選中“刪除”菜單項,即可以刪除視圖。,4.數(shù)據(jù)加密 在SQL Server中,可以對存儲的密碼和應(yīng)用程序角色密碼、作為網(wǎng)絡(luò)數(shù)據(jù)包而在客戶端和服務(wù)端發(fā)送的數(shù)據(jù)、存儲過程定義、用戶定義函數(shù)定義、視圖定義、觸發(fā)器定義、默認值定義以及規(guī)則定義等內(nèi)容進行加密?! 。?)對登錄密碼的加密 SQL Server所有的登錄信息都存儲在master
23、數(shù)據(jù)庫的sysxlogins表中,其中password列存放的就是經(jīng)過加密之后的密碼,在內(nèi)部實現(xiàn)時,使用一個名為pwdencrypt函數(shù)對登錄密碼加密,但是SQL Server中的這個加密沒有解密過程,只是提供了內(nèi)部函數(shù)pwdcompare進行檢驗輸入的內(nèi)容和加密前的內(nèi)容是否一致。,(2)對存儲過程、用戶定義函數(shù)、視圖、觸發(fā)器的加密 在SQL Server中創(chuàng)建以上對象時,系統(tǒng)支持使用with encryption子句加密創(chuàng)建對象時
24、使用的文本,對用戶隱藏這些文本,并防止將過程作為SQL Server復(fù)制的一部分發(fā)布?! 。?)對客戶端和服務(wù)端發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包的加密 在SQL Server中啟用SSL加密可以加密該數(shù)據(jù),提高在SQL Server實例和應(yīng)用程序之間通過網(wǎng)絡(luò)交換數(shù)據(jù)的安全性。若沒用啟用SSL加密,則所有客戶端和服務(wù)段之間將以明文的方式傳輸。,5.數(shù)據(jù)庫審核 SQL Server審核的形式有多種,最簡單的方法是審核“企業(yè)管理器”中的某一個檢查框
25、,而最復(fù)雜的情況是在數(shù)據(jù)庫表中添加一個數(shù)據(jù)庫觸發(fā)器,該觸發(fā)器會跟蹤數(shù)據(jù)的所有更改?! QL Server中的標準或“注冊的”審核是通過SQL Server“企業(yè)管理器”中的一個簡單的接口實現(xiàn)的,或者是通過Audit Level DMO屬性實現(xiàn)的。對那些更加高級的用戶,也可以通過注冊表,修改鍵值來啟用審核功能。,啟動審核后,SQL Server會管理一個內(nèi)部審核日志,該日志既被寫入SQL Server錯誤日志,又被寫入Windows應(yīng)
26、用程序事件日志。這些日志能準確地確定哪個用戶正在訪問或試圖訪問SQL Server?! ≡赟QL Server中,標準審核需要通過“企業(yè)管理器”來啟用,具體操作步驟如下: ?、龠x擇想啟用審核的服務(wù)器,右擊該服務(wù)器,選擇“屬性”,在“屬性”對話框中,選擇“安全性”選項卡?! 、谠凇皩徍思墑e”欄選定想要選擇的審核級別并單擊“確定”按鈕。SQL Server中有四個不同的審核級別,,其中“無”表示通知SQL Server不在審核日志中
27、記錄有關(guān)登錄的任何信息(這是默認設(shè)置); “成功”表示通知SQL Server只在審核日志中記錄那些成功登錄的信息。 “失敗”表示通知SQL Server只在審核日志中記錄那些沒有成功登錄的信息。 “全部”表示通知SQL Server在審核日志中記錄那些成功登錄和那些沒有成功登錄的信息。,啟用審核后,可以檢查“企業(yè)管理器”中的審核日志,具體操作步驟如下: 打開“企業(yè)管理器”并展開包含目標服務(wù)器的節(jié)點樹,展開“管理”
28、節(jié)點的“SQL Server日志”,單擊“當前日志”。審核時,需要注意檢查“源”列中值為“l(fā)ogon”的條目。,6.數(shù)據(jù)備份和恢復(fù) 在SQL Server系統(tǒng)中,可以使用SQL Server“企業(yè)管理器”或Transact-SQL語句兩種方式進行數(shù)據(jù)庫的備份和恢復(fù)?! ∈褂谩捌髽I(yè)管理器”,可以自行選擇要備份或恢復(fù)的具體數(shù)據(jù)庫、方式、備份的頻率和日期等; 而Transact-SQL語句主要是通過BACKUP DATABASE和
29、BACKUP LOG語句備份數(shù)據(jù)庫和日志,通過RESTORE DATABASE和RESTORE LOG語句恢復(fù)數(shù)據(jù)庫和日志。,(1)數(shù)據(jù)備份 SQL Server系統(tǒng)中需要對master數(shù)據(jù)庫、用戶自建的數(shù)據(jù)庫和msdb數(shù)據(jù)庫三個數(shù)據(jù)庫的數(shù)據(jù)進行備份,它們分別記錄了系統(tǒng)中所有數(shù)據(jù)庫的信息,用戶記錄的業(yè)務(wù)信息以及報警、作業(yè)和操作員的信息。,為了適應(yīng)數(shù)據(jù)庫數(shù)據(jù)時刻需要更新的需要,SQL Server系統(tǒng)同時支持靜態(tài)備份和動態(tài)備份,使用戶
30、在處理數(shù)據(jù)時也可以進行備份,并針對不同的數(shù)據(jù)庫用戶,提供了四種備份方案: ?、偻耆珎浞荩◤?fù)制數(shù)據(jù)庫的所有表); ②差異數(shù)據(jù)庫備份(只備份發(fā)生更改的數(shù)據(jù)); ③事務(wù)日志備份(備份事務(wù)日志); ?、軘?shù)據(jù)庫文件備份(只備份特定的數(shù)據(jù)庫文件和文件組),(2)數(shù)據(jù)恢復(fù) SQL Server的恢復(fù)機制有如下兩種: 一種是系統(tǒng)自動執(zhí)行的恢復(fù),SQL Server系統(tǒng)在用戶對每個數(shù)據(jù)更改操作時都設(shè)置一個開始點和一個結(jié)束點,執(zhí)行該操作
31、前先把點標記寫入事務(wù)日志中,如果該操作沒有執(zhí)行到結(jié)束點就意外強行終止,當下次重新啟動SQL Server數(shù)據(jù)庫服務(wù)器時,系統(tǒng)將根據(jù)事務(wù)日志文件中的記錄自動恢復(fù)該操作已修改的數(shù)據(jù),返回到該操作前的狀態(tài)?! ?yīng)該注意,自動恢復(fù)不能被關(guān)閉。,另一種是用戶執(zhí)行的恢復(fù),就是在系統(tǒng)出現(xiàn)故障時,由管理員利用數(shù)據(jù)庫備份文件和日志備份文件,重新建立數(shù)據(jù)庫的恢復(fù)方式。這種恢復(fù)以數(shù)據(jù)備份為基礎(chǔ),可以選擇以下三種模型進行恢復(fù): ?、俸唵位謴?fù):允許將數(shù)據(jù)庫恢
32、復(fù)到最新的備份?! 、谕耆謴?fù):允許將數(shù)據(jù)庫恢復(fù)到故障點狀態(tài)?! 、叟咳罩居涗浕謴?fù):允許批量日志記錄恢復(fù)?! ∠旅娼榻B在SQL Server中使用“企業(yè)管理器”進行數(shù)據(jù)備份和恢復(fù)。,(3)備份操作 在進行數(shù)據(jù)庫備份之前,需要先創(chuàng)建備份設(shè)備,備份設(shè)備就是用來存儲數(shù)據(jù)庫、事務(wù)日志或文件和文件組備份的存儲介質(zhì)。SQL Server支持將數(shù)據(jù)庫備份到本地磁帶或機或本地硬盤?! 〔僮鞑襟E如下: ?、賳印捌髽I(yè)管理器”,登錄到想要
33、增加備份設(shè)備的服務(wù)器。打開“管理”節(jié)點,右擊“備份”,在彈出的快捷菜單中選擇“新建備份設(shè)備”菜單命令,將彈出“備份設(shè)備屬性-新設(shè)備”對話框。,②在“名稱”文本框輸入設(shè)備名稱,在下面選擇備份設(shè)備的類型。選擇“文件名”表示使用硬盤備份;選擇“磁帶驅(qū)動器名”表示使用磁帶設(shè)備,只有創(chuàng)建的備份設(shè)備是與本地服務(wù)器相連的磁帶設(shè)備時,該選項才可用。設(shè)置好之后,單擊“確定”即完成了備份設(shè)備的創(chuàng)建。,設(shè)置好備份設(shè)備就可以進行數(shù)據(jù)庫的備份了?! 、蹎印捌?/p>
34、業(yè)管理器”,登錄到需要備份的數(shù)據(jù)庫服務(wù)器,打開數(shù)據(jù)庫節(jié)點,單擊需要備份的數(shù)據(jù)庫圖標,在彈出的快捷菜單中選擇“所有任務(wù)/備份數(shù)據(jù)庫”?! 、茉趶棾龅摹癝QL Server備份”對話框中, 在“備份”選項組中可以選擇要進行備份的類型,分為數(shù)據(jù)庫完全備份、數(shù)據(jù)庫差異備份、事務(wù)日志備份以及文件和文件組備份; 在“目的”選項組中可選擇“添加”添加備份設(shè)備;,在“重寫”選項組中,如果選擇“追加到媒體”,則將備份內(nèi)容添加到當前設(shè)備之后,如果
35、選擇“重寫現(xiàn)有媒體”,則將原備份覆蓋; 在“調(diào)度”選項組中可對備份的時間表進行設(shè)置,單擊右面的按鈕改變備份的時間安排。 ⑤打開“選項”選項卡可以進行驗證備份、檢查備份介質(zhì)是否可讀、備份后彈出磁帶等附加選項進行設(shè)置。,除了“企業(yè)管理器”,SQL Server還支持使用備份向?qū)нM行數(shù)據(jù)的備份?! 【唧w步驟是:依次選擇主菜單上的“工具/向?qū)А辈藛雾棧趶棾龅摹斑x擇項向?qū)А睂υ捒蛑袉螕簟肮芾怼?,雙擊“備份向?qū)А?,之后按?/p>
36、向?qū)У奶崾具M行備份的設(shè)置即可完成數(shù)據(jù)庫的備份。,(4)恢復(fù)操作 做了大量的數(shù)據(jù)庫備份工作之后,系統(tǒng)就可以在數(shù)據(jù)庫數(shù)據(jù)遭到破壞的時候,將數(shù)據(jù)庫恢復(fù)到從前某一個時刻的正常狀態(tài)?! 【唧w的操作步驟如下: ?、賳印捌髽I(yè)管理器”,依次選擇主菜單中“工具/還原數(shù)據(jù)庫”菜單項,彈出“還原數(shù)據(jù)庫”對話框?! ≡凇俺R?guī)”選項卡中,“還原為數(shù)據(jù)庫”下拉列表中可以選擇要恢復(fù)的數(shù)據(jù)庫?! ≡凇皡?shù)”選項組中可以選擇還原的設(shè)備、還原備份集、數(shù)據(jù)庫備
37、份類型等?! 、谠凇斑x項”選項卡中可以進行其他選項的設(shè)置。,7.完整性控制 SQL Server中數(shù)據(jù)完整性的控制是采用數(shù)據(jù)庫完整性約束機制,通過各種約束、默認、規(guī)則和觸發(fā)器來實現(xiàn)的?! ?shù)據(jù)庫完整性約束機制,主要是對于數(shù)據(jù)庫中數(shù)據(jù)檢查其是否滿足語義的規(guī)定,從而實現(xiàn)數(shù)據(jù)的正確性和相容性,防止不合理數(shù)據(jù)造成無效操作和錯誤結(jié)果。而且,這種約束是加在數(shù)據(jù)庫的表的定義上的,不需要額外書寫代碼,代價小、性能高?! ±?,SQL Serv
38、er在用戶程序每次對主鍵進行插入、刪除、修改等更新操作時,進行完整性檢查,若此操作使主屬性列為“空值(NULL)”,或使主鍵值在表中不惟一,則拒絕此操作,保證數(shù)據(jù)的實體完整性;,限制數(shù)據(jù)類型、值的范圍和數(shù)據(jù)的格式實施,保證數(shù)據(jù)的域完整性; 同時提供列值非空(NOT NULL),列值惟一(UNIQUE),檢查列值是否滿足一個布爾表達式(CHECK),觸發(fā)器創(chuàng)建(CREATE TRIGGER)等語句,檢查自定義完整性?! ≡赟QL S
39、erver中,觸發(fā)器是一種特殊的存儲過程,建立在表一級,每個表最多可以建立3個觸發(fā)器(分別對應(yīng)INSERT、UPDATE和DELETE操作)?! ≡诮Y(jié)構(gòu)上,觸發(fā)器獨立于表,但又隸屬于表,所以可被單獨刪除,但在刪除表時也將一同刪除關(guān)聯(lián)的觸發(fā)器。,觸發(fā)器不允許帶參數(shù),也不能被直接調(diào)用,只能由系統(tǒng)自動激活。創(chuàng)建的觸發(fā)器信息保存在sysobjects系統(tǒng)表和syscomments系統(tǒng)中,SQL Server還可以將觸發(fā)器建立在視圖上,但不能為
40、系統(tǒng)表創(chuàng)建觸發(fā)器?! ∈褂谩捌髽I(yè)管理器”管理觸發(fā)器的操作步驟如下: 打開“企業(yè)管理器”,展開包含即將管理觸發(fā)器的表所屬的數(shù)據(jù)庫,展開表,右擊表名彈出快捷菜單,在快捷菜單的級聯(lián)菜單中選擇“管理觸發(fā)器”,打開“觸發(fā)器屬性”對話框。,在“名稱”欄中選擇“新建”或修改觸發(fā)器的名稱,在“文本”框中輸入觸發(fā)器的定義語句,具體定義格式為:CREATE TRIGGER trigger_nameON [owner.] {table | vie
41、w} [WITH ENCRYPTION]{FOR | AFTER | INSTEAD OF}{[DELETE] [,] [INSERT] [,] [UPDATE]}[WITH APPEND] [NOT FOR REPLICATION]AS Sql_statement […n] 輸入文本后,單擊“檢查語法”按鈕,可以檢查所輸入文本的語法是否正確。確定語法正確無誤后,單擊“確定”按鈕,即完成了觸發(fā)器的創(chuàng)建或修改。,8.并發(fā)控制
42、 SQL Server 2000中事務(wù)一般分為兩種,即系統(tǒng)自動事務(wù)與用戶自定義事務(wù)。 系統(tǒng)自動事務(wù)是指一條語句即為一個事務(wù);用戶定義事務(wù)即用戶明確定義的事務(wù)。 在并發(fā)控制方面,SQL Server系統(tǒng)提供了多方位的鎖定機制,使事務(wù)相互隔離,提供6類鎖實現(xiàn)對系統(tǒng)自動事務(wù)和用戶自定義事務(wù)不同程度的操作控制,也限制只有具備兼容的鎖類型才可以對已鎖定的資源進行加鎖。同時,系統(tǒng)也支持隔離級別,控制事務(wù)之間的隔離程度,確定事務(wù)使用的鎖定
43、行為。,(1)加鎖模式 SQL Server中支持6種加鎖模式,且限制只有相容的鎖類型才可以放置在已鎖定的資源。 ?、俟蚕礞i(Shared Lock):允許并發(fā)事務(wù)讀取一個資源,一旦已經(jīng)讀取數(shù)據(jù),便立即釋放資源上的共享鎖。資源上存在共享鎖時,任何其他事務(wù)都不能修改數(shù)據(jù)?! 、诟骆i(Update Lock):用于更新操作,一次只有一個事務(wù)可以獲得資源的更新鎖。如果事務(wù)修改資源,則更新鎖轉(zhuǎn)換為排他鎖,否則轉(zhuǎn)換為共享鎖。,③排他鎖(
44、Exclusive Lock):為修改數(shù)據(jù)而保留,與其他鎖不兼容,可以防止并發(fā)事務(wù)對資源進行訪問。 ?、芤庀蜴i(Intent Lock):表示SQL Server打算在某資源的底層資源上獲取共享鎖或排他鎖,用于建立鎖的層次結(jié)構(gòu)?! 、菁軜?gòu)鎖(Schema Lock):又分為架構(gòu)更新(Sch-M)鎖和架構(gòu)穩(wěn)定(Sch-S)鎖。執(zhí)行表的數(shù)據(jù)定義語言(DDL)操作時使用架構(gòu)更新鎖,編譯查詢時使用架構(gòu)穩(wěn)定性鎖。,⑥大容量更新鎖(Bulk U
45、pdate Lock):當將數(shù)據(jù)大容量復(fù)制到表,并指定TabLock提示或使用sp_tableoption設(shè)置了tablelockonbulk表選項時使用,允許進程將數(shù)據(jù)并發(fā)地大容量復(fù)制到同一表,同時防止其他不進行大容量復(fù)制數(shù)據(jù)的進程訪問該表。,(2)隔離級別 SQL Server系統(tǒng)使用Set Transaction Isolation Level Read Committed語句設(shè)置事務(wù)隔離級別,支持SQL-92標準語法中的四種
46、隔離級別。但對于四種隔離級別給予了系統(tǒng)自己的定義和實現(xiàn)方式。,為了預(yù)防死鎖的發(fā)生,SQL Server還使用一個稱為鎖監(jiān)視器線程的單獨的線程執(zhí)行進行死鎖檢測,采用終止循環(huán)中的一個參與者的方式解決死鎖。在選取死鎖犧牲品時,SQL Server會查看所有的參與線程以及每個線程做了多少工作?! ⊥ǔ#琒QL Server會選擇工作量最小的參與線程作為死鎖犧牲品。在SQL Server中回滾作為死鎖犧牲品的事務(wù),通知線程的應(yīng)用程序(返回120
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多數(shù)據(jù)庫系統(tǒng)安全性研究.pdf
- Web環(huán)境下數(shù)據(jù)庫系統(tǒng)安全訪問控制機制研究.pdf
- SSL協(xié)議在數(shù)據(jù)庫系統(tǒng)安全中的應(yīng)用研究.pdf
- 數(shù)據(jù)庫系統(tǒng)講義
- 數(shù)據(jù)庫系統(tǒng)講義
- 數(shù)據(jù)庫系統(tǒng)概論
- 外文翻譯----數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)
- sqlserver數(shù)據(jù)庫學(xué)習(xí)筆記
- access(數(shù)據(jù)庫系統(tǒng)概述)
- 實用大型數(shù)據(jù)庫系統(tǒng)
- 數(shù)據(jù)庫系統(tǒng)原理題庫
- 41 數(shù)據(jù)庫系統(tǒng)基礎(chǔ)
- 數(shù)據(jù)庫課程設(shè)計--數(shù)據(jù)庫系統(tǒng)原理
- 定制專用數(shù)據(jù)庫系統(tǒng)
- 數(shù)據(jù)庫系統(tǒng)原理報告
- 倉庫管理數(shù)據(jù)庫系統(tǒng)
- 分布式數(shù)據(jù)庫系統(tǒng)安全管理的設(shè)計與實現(xiàn).pdf
- 數(shù)據(jù)庫系統(tǒng)概論習(xí)題
- 定制專用數(shù)據(jù)庫系統(tǒng)
- 數(shù)據(jù)庫系統(tǒng)概論練習(xí)
評論
0/150
提交評論