數(shù)據(jù)庫技術(shù)及應(yīng)用第9章sqlserver的數(shù)據(jù)庫保護(hù)技術(shù)
《數(shù)據(jù)庫技術(shù)及應(yīng)用第9章sqlserver的數(shù)據(jù)庫保護(hù)技術(shù)》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫技術(shù)及應(yīng)用第9章sqlserver的數(shù)據(jù)庫保護(hù)技術(shù)(86頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 第9章 SQ L Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.1 SQ L Server的安全體系結(jié)構(gòu)和安全認(rèn)證模式 9.2 SQ L Server的用戶和角色管理 9.3 SQ L Server的權(quán)限管理 9.4 SQ L Server的數(shù)據(jù)庫完整性及實(shí)現(xiàn)方法 9.5 SQ L Server的并發(fā)控制機(jī)制 9.6 SQ L Server的數(shù)據(jù)恢復(fù)機(jī)制 習(xí)題9 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.1 SQ L Server的安全體系結(jié)構(gòu)和安全認(rèn)證模式 9.1.1 SQL Server的安全體系結(jié)構(gòu) SQL Server提供以下四層安全防線,用戶
2、要想獲得SQL Server數(shù)據(jù)庫及其對(duì)象,必須通過這四層安全防線。 1. Windows NT操作系統(tǒng)的安全防線 2. SQL Server的運(yùn)行安全防線 3. SQL Server數(shù)據(jù)庫的安全防線 4. SQL Server數(shù)據(jù)庫對(duì)象的安全防線 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.1.2 SQL Server的安全認(rèn)證模式 安全認(rèn)證是指數(shù)據(jù)庫系統(tǒng)對(duì)用戶訪問數(shù)據(jù)庫系統(tǒng)時(shí)所輸入的賬號(hào)和口令進(jìn)行確認(rèn)的過程。 1. Windows(S)安全認(rèn)證模式 Windows(S)安全認(rèn)證模式是指SQL服務(wù)器通過使用Windows網(wǎng)絡(luò)用戶的安全性來控制用戶對(duì)SQL服務(wù)器的登錄訪問。 第9章 SQ
3、L Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. 混合安全認(rèn)證模式 混合安全認(rèn)證模式允許使用Windows(S)安全認(rèn)證模式或SQL Server安全認(rèn)證模式。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.1.3 設(shè)置SQL Server的安全認(rèn)證模式 使用SQL Server的企業(yè)管理器能選擇需要的安全認(rèn)證模式,其步驟為: 在企業(yè)管理器中擴(kuò)展開SQL服務(wù)器組,用鼠標(biāo)右鍵單擊需要設(shè)置的SQL服務(wù)器,在彈出的菜單中選擇“屬性”項(xiàng),如圖9-1所示。 在彈出的SQL服務(wù)器屬性對(duì)話框中,選擇“安全性”選項(xiàng)卡,如圖9-2所示。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-1 SQL服務(wù)器的彈出菜單
4、第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-2 SQL Server屬性的“安全性”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 在“安全性”選項(xiàng)卡中有一個(gè)安全性欄,它包括兩個(gè)單選項(xiàng): 單擊“SQL Server 和 Windows(S)”為選擇混合安全認(rèn)證模式。 單擊“僅Windows(W)”則為選擇集成安全認(rèn)證模式。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.2 SQ L Server的用戶和角色管理 SQL Server 2000的安全防線中突出兩種管理:一是對(duì)用戶或角色的管理,即控制合法用戶使用數(shù)據(jù)庫;二是對(duì)權(quán)限管理,即控制具有數(shù)據(jù)操作權(quán)的用戶進(jìn)行合法的數(shù)據(jù)存取
5、操作。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 用戶是具有合法身份的數(shù)據(jù)庫使用者,角色是具有一定權(quán)限的用戶組合。SQL Server的用戶或角色分為二級(jí): (1) 服務(wù)器級(jí)用戶或角色。 (2) 數(shù)據(jù)庫級(jí)用戶或角色。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.2.1 登錄的管理 登錄(亦稱Login用戶,即SQL服務(wù)器用戶)通過賬號(hào)和口令訪問SQL Server的數(shù)據(jù)庫。 1. 查看安全性文件夾的內(nèi)容 使用企業(yè)管理器可以創(chuàng)建、查看和管理登錄。登錄存放在SQL服務(wù)器的安全性文件夾中。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-3 SQL Server 的安全性文件夾 第9章
6、 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 通過該窗口可以看出“安全性”文件夾包括四個(gè)文件夾:登錄文件夾、服務(wù)器角色文件夾、鏈接服務(wù)器文件夾和遠(yuǎn)程服務(wù)器文件夾,其中: (1) 登錄文件夾:用于存儲(chǔ)和管理登錄用戶。 (2) 服務(wù)器角色文件夾:用于存儲(chǔ)和管理角色。 (3) 鏈接服務(wù)器文件夾:用于存儲(chǔ)和管理連接的服務(wù)器。 (4) 遠(yuǎn)程服務(wù)器文件夾:用于存儲(chǔ)管理遠(yuǎn)程服務(wù)器信息。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. 創(chuàng)建一個(gè)登錄用戶 要?jiǎng)?chuàng)建一個(gè)登錄用戶,其操作步驟為: 用鼠標(biāo)右鍵單擊登錄文件夾,出現(xiàn)如圖9-4所示的彈出菜單,在彈出的菜單中選擇“新建登錄”選項(xiàng)后,彈出“登錄屬性”對(duì)話框。 選擇
7、“常規(guī)”選項(xiàng)卡,輸入用戶的一般特征。 選擇“服務(wù)器角色”選項(xiàng)卡,確定用戶所屬服務(wù)器的角色。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-4 登錄對(duì)話框中的“常規(guī)”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-5 Windows系統(tǒng)具有的默認(rèn)登錄用戶 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-6 “服務(wù)器角色”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-7 “數(shù)據(jù)庫訪問”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 選擇“數(shù)據(jù)庫訪問”選項(xiàng)卡,確定用戶能訪問的數(shù)據(jù)庫,并確定用戶所屬的數(shù)據(jù)庫角色。 操作完成后,單擊“確定”按鈕,即完成了創(chuàng)建登錄
8、用戶的工作。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.2.2 數(shù)據(jù)庫用戶的管理 1. dbo用戶 dbo用戶即數(shù)據(jù)庫擁有者或數(shù)據(jù)庫創(chuàng)建者,dbo在其所擁有的數(shù)據(jù)庫中擁有所有的操作權(quán)限。 2. guest用戶 如果guest用戶在數(shù)據(jù)庫存在,則允許任意一個(gè)登錄用戶作為guest用戶訪問數(shù)據(jù)庫,其中包括那些不是數(shù)據(jù)庫用戶的SQL服務(wù)器用戶。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 3. 創(chuàng)建新的數(shù)據(jù)庫用戶 要在圖書_讀者數(shù)據(jù)庫中創(chuàng)建一個(gè)“User1”數(shù)據(jù)庫用戶,其步驟為: 在企業(yè)管理器中擴(kuò)展SQL服務(wù)器及數(shù)據(jù)庫文件夾。用鼠標(biāo)右鍵單擊用戶文件夾,在彈出的菜單中選擇“新建數(shù)據(jù)庫用戶”項(xiàng)
9、,出現(xiàn)新建數(shù)據(jù)庫用戶對(duì)話框,如圖9-8所示。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-8 創(chuàng)建數(shù)據(jù)庫用戶 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 在“登錄名”中選擇一個(gè)SQL服務(wù)器登錄用戶名(本例為“l(fā)ogin1”),并在它下面的用戶名欄中輸入數(shù)據(jù)庫用戶名,本例為“user2”。最后,在下面的數(shù)據(jù)庫角色欄中選擇該數(shù)據(jù)庫用戶參加的角色。 單擊“確定”按鈕。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.2.3 服務(wù)器級(jí)角色的管理 服務(wù)器級(jí)角色建立在SQL服務(wù)器上。服務(wù)器級(jí)角色是系統(tǒng)預(yù)定義的,也稱Fixed Server Roles,即固定的服務(wù)器角色。 登錄用戶可以通過兩種
10、方法加入到服務(wù)器角色中: (1) 在創(chuàng)建登錄時(shí),通過服務(wù)器角色選項(xiàng)卡中的服務(wù)器角色選項(xiàng),確定登錄用戶應(yīng)屬于的角色,該方法在前面已介紹過。 (2) 對(duì)已有登錄通過參加或移出服務(wù)器角色的方法進(jìn)行角色增加或移去操作。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-9 服務(wù)器角色的彈出菜單 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-10 “服務(wù)器角色屬性”對(duì)話框的“常規(guī)”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-11 “服務(wù)器角色屬性”對(duì)話框的“權(quán)限”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.2.4 數(shù)據(jù)庫角色的管理 1. 在數(shù)據(jù)庫角色中增加或移去用戶
11、 在企業(yè)管理器中,向數(shù)據(jù)庫角色添加或移去用戶的方法是: 展開一個(gè)SQL服務(wù)器、數(shù)據(jù)庫文件夾和指定的數(shù)據(jù)庫文件夾,選中“角色”文件夾后,在右側(cè)窗口中就會(huì)出現(xiàn)該數(shù)據(jù)庫已有的角色。 選中要加入的角色,如db_owner角色,單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“屬性”項(xiàng),如圖9-12所示。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-12 “數(shù)據(jù)庫角色屬性”對(duì)話框 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 在彈出的“數(shù)據(jù)庫角色屬性”對(duì)話框中,單擊“添加”按鈕后,則出現(xiàn)選擇該數(shù)據(jù)庫用戶的對(duì)話框,選擇出要加入角色的用戶,單擊“確定”按鈕,關(guān)閉選擇數(shù)據(jù)庫用戶對(duì)話框后,會(huì)發(fā)現(xiàn)新選的用戶名出現(xiàn)在“數(shù)據(jù)
12、庫角色屬性”對(duì)話框中。 如果在數(shù)據(jù)庫角色中要移去一個(gè)用戶,可先在用戶欄中選中它,然后單擊“刪除”按鈕即可。 單擊“確定”按鈕退出設(shè)置界面。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. 創(chuàng)建新的數(shù)據(jù)庫角色 創(chuàng)建數(shù)據(jù)庫角色的步驟為: 在企業(yè)管理器中打開SQL服務(wù)器組、服務(wù)器、數(shù)據(jù)庫文件夾和特定的數(shù)據(jù)庫文件夾。 用鼠標(biāo)選中角色子文件夾后,右邊的細(xì)節(jié)窗口中將顯示該數(shù)據(jù)庫中的角色,用鼠標(biāo)右鍵單擊任意角色,并在彈出的菜單中選擇“新建數(shù)據(jù)庫角色”項(xiàng),如圖9-13所示。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 在彈出的“數(shù)據(jù)庫角色屬性新建角色”對(duì)話框中,可以在“名稱”欄中輸入新角色名,可以在用戶
13、欄增加或移去角色中的用戶,還可以確定數(shù)據(jù)庫角色的類型。 單擊“確定”按鈕完成。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-13 “數(shù)據(jù)庫角色屬性新建角色”對(duì)話框 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.3 SQ L Server的權(quán)限管理 9.3.1 SQL Server權(quán)限種類 SQL Server有兩類權(quán)限:對(duì)象權(quán)限和語句權(quán)限。 1. 對(duì)象權(quán)限 對(duì)象權(quán)限針對(duì)數(shù)據(jù)庫對(duì)象設(shè)置,它由數(shù)據(jù)庫對(duì)象擁有者授予、廢除或撤消。對(duì)象權(quán)限適用的數(shù)據(jù)庫對(duì)象和Transact-SQL語句在表9-1中列出。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 表9-1 對(duì)象權(quán)限適用的對(duì)象和語句 第9章
14、 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. 語句權(quán)限 語句權(quán)限針對(duì)數(shù)據(jù)庫設(shè)置,它只能由Sa或dbo授予、廢除或撤消。語句權(quán)限適用的Transact-SQL語句和功能如表9-2所示。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 表9-2 語句權(quán)限適用的語句和權(quán)限說明 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.3.2 對(duì)象權(quán)限的管理 對(duì)象權(quán)限的管理可以通過以下兩種方法實(shí)現(xiàn): (1) 通過對(duì)象管理它的用戶及操作權(quán)。 (2) 通過用戶管理對(duì)應(yīng)的數(shù)據(jù)庫對(duì)象及操作權(quán)。 具體使用哪種方法要視管理的方便性來決定。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 1. 通過對(duì)象授予、撤消和廢除用戶權(quán)限
15、 如果要一次為多個(gè)用戶(角色)授予、撤消和廢除對(duì)某一個(gè)數(shù)據(jù)庫對(duì)象的權(quán)限時(shí),應(yīng)采用通過對(duì)象的方法實(shí)現(xiàn)。 2. 通過用戶或角色授予、撤消和廢除對(duì)象權(quán)限 如果要為一個(gè)用戶或角色同時(shí)授予、撤消或者廢除多個(gè)數(shù)據(jù)庫對(duì)象的使用權(quán)限,則可以通過用戶或角色的方法進(jìn)行。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-14 對(duì)象權(quán)限對(duì)話框 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-15 “數(shù)據(jù)庫角色屬性圖書_讀者”對(duì)話框 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.3.3 語句權(quán)限的管理 在SQL Server 2000的企業(yè)管理器中,還提供了管理語句權(quán)限的方法,其操作步驟為: 展開一個(gè)SQL
16、服務(wù)器、數(shù)據(jù)庫文件夾,用鼠標(biāo)右鍵單擊指定的數(shù)據(jù)庫文件夾,例如圖書_讀者數(shù)據(jù)庫。在彈出的菜單中選擇“屬性”項(xiàng),彈出數(shù)據(jù)庫屬性對(duì)話框,如圖9-16所示。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-16 管理數(shù)據(jù)庫語句權(quán)限 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 選擇“權(quán)限”選項(xiàng)卡,單擊表中的各復(fù)選小方塊可分別對(duì)各用戶或角色授予、撤消和廢除數(shù)據(jù)庫的語句操作 權(quán)限。 單擊“確定”按鈕。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.4 SQ L Server的數(shù)據(jù)庫完整性及實(shí)現(xiàn)方法 9.4.1 SQL Server的數(shù)據(jù)完整性的種類 SQL Server 2000中的數(shù)據(jù)完整性包括
17、域完整性、實(shí)體完整性和參照完整性三種。 1. 域完整性 域完整性為列級(jí)和元組級(jí)完整性,它為列或列組指定一個(gè)有效的數(shù)據(jù)集,并確定該列是否允許為空。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. 實(shí)體完整性 實(shí)體完整性為表級(jí)完整性,它要求表中所有的元組都應(yīng)該有一個(gè)惟一的標(biāo)識(shí)符,這個(gè)標(biāo)識(shí)符就是平常所說的主碼。 3. 參照完整性 參照完整性是表級(jí)完整性,它維護(hù)參照表中的外碼與被參照表中主碼的相容關(guān)系。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.4.2 SQL Server數(shù)據(jù)完整性的兩種方式 SQL Server使用聲明數(shù)據(jù)完整性和過程數(shù)據(jù)完整性兩種方式實(shí)現(xiàn)對(duì)數(shù)據(jù)庫完整性的控制。 1.
18、聲明數(shù)據(jù)完整性 聲明數(shù)據(jù)完整性通過在對(duì)象定義中定義、系統(tǒng)本身自動(dòng)強(qiáng)制來實(shí)現(xiàn)。 2. 過程數(shù)據(jù)完整性 過程數(shù)據(jù)完整性通過使用腳本語言(主語言或Transact-SQL)定義,系統(tǒng)在執(zhí)行這些語言時(shí)強(qiáng)制完整性實(shí)現(xiàn)。過程數(shù)據(jù)完整性包括觸發(fā)器和存儲(chǔ)過程等。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.4.3 SQL Server實(shí)現(xiàn)數(shù)據(jù)完整性的具體方法 SQL Server實(shí)現(xiàn)數(shù)據(jù)完整性的主要方法有四種:約束、缺省、規(guī)則和觸發(fā)器。 1. SQL Server 2000約束的類型 約束通過限制列中的數(shù)據(jù)、行中的數(shù)據(jù)和表之間數(shù)據(jù)來保證數(shù)據(jù)完整性。表9-3列出了SQL Server 2000約束的五種類
19、型和其完整性功能。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 表9-3 約束類型和完整性功能 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. 聲明數(shù)據(jù)完整性約束的定義 聲明數(shù)據(jù)完整性約束可以在創(chuàng)建表(CREATE TABLE)和修改表(ALTER TABLE)語句中定義。 約束分列級(jí)約束和表級(jí)約束兩種:列級(jí)約束定義時(shí),直接跟在列后,與列定義子句之間無“,”分隔;元組級(jí)約束和表級(jí)約束要作為語句中的單獨(dú)子句,與列定義子句或其他子句之間用“,”分隔。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 使用CREATE語句創(chuàng)建約束的語法形式如下: CREATE TABLE 表名(,列名 類型列級(jí)約
20、束,n ,表級(jí)約束,n) 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 其中: 列級(jí)約束:= CONSTRAINT約束名 PRIMARY KEY CLUSTERED| NONCLUSTERED | UNIQUE CLUSTERED| NONCLUSTERED | FOREIGN KEY REFERENCES被參照表(主碼) | DEFAULT 常量表達(dá)式| CHECK邏輯表達(dá)式 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 表級(jí)約束:= CONSTRAINT約束名 PRIMARY KEY CLUSTERED| NONCLUSTERED(列名組) | UNIQUE CLUSTERED| NONC
21、LUSTERED(列名組) | FOREIGN KEY (外碼) REFERENCES 被參照表(主碼) | CHECK (約束條件) 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 3. 缺省和規(guī)則 缺省(DEFAULT)和規(guī)則(RULE)都是數(shù)據(jù)庫對(duì)象。當(dāng)它們被創(chuàng)建后,可以綁定到一列或幾列上,并可以反復(fù)使用。 4. 觸發(fā)器 觸發(fā)器是一種高功能、高開支的數(shù)據(jù)完整性方法。觸發(fā)器具有INSERT、UPDATE和DELETE三種類型。一個(gè)表可以具有多個(gè)觸發(fā)器。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.5 SQ L Server的并發(fā)控制機(jī)制 9.5.1 SQL Server的事務(wù)類型 SQ
22、L Server的事務(wù)分為兩種類型:系統(tǒng)提供的事務(wù)和用戶定義的事務(wù)。 (1) 系統(tǒng)提供的事務(wù)是指在執(zhí)行某些語句時(shí),一條語句就是一個(gè)事務(wù),它的數(shù)據(jù)對(duì)象可能是一個(gè)或多個(gè)表(視圖),也可能是表(視圖)中的一行數(shù)據(jù)或多行數(shù)據(jù)。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) (2) 用戶定義的事務(wù)以BEGIN TRANSACTION語句開始,以COMMIT(事務(wù)提交)或ROLLBAK(回滾)結(jié)束。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.5.2 SQL Server的空間管理及鎖的級(jí)別 1. 行和行級(jí)鎖 表中的行可以是鎖定的最小空間資源。行級(jí)鎖是指事務(wù)操作過程中,鎖定一行或若干行數(shù)據(jù)。由于行級(jí)
23、鎖占用的數(shù)據(jù)資源最少,它避免了數(shù)據(jù)被占用但不使用的現(xiàn)象,因而行級(jí)鎖是最優(yōu)鎖。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. 頁和頁級(jí)鎖 在SQL Server中,除行外的最小數(shù)據(jù)單位是頁。一個(gè)頁有8 KB,所有的數(shù)據(jù)、日志和索引都放在頁上。為了管理方便,表中的行不能跨頁存放,一行的數(shù)據(jù)必須在同一個(gè)頁上。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 3. 簇和簇級(jí)鎖頁之上的空間管理單位是簇,一個(gè)簇有八個(gè)連續(xù)的頁。簇級(jí)鎖指事務(wù)占用一個(gè)簇,這個(gè)簇不能被其他事務(wù)占用。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 4. 表級(jí)鎖 表級(jí)鎖是一種主要的鎖。表級(jí)鎖是指事務(wù)在操縱某一個(gè)表的數(shù)據(jù)時(shí)鎖定了這
24、些數(shù)據(jù)所在的整個(gè)表,其他事務(wù)不能訪問該表中的數(shù)據(jù)。當(dāng)事務(wù)處理的數(shù)量比較大時(shí),一般使用表級(jí)鎖。 5. 數(shù)據(jù)庫級(jí)鎖 數(shù)據(jù)庫級(jí)鎖是指鎖定整個(gè)數(shù)據(jù)庫,防止其他任何用戶或者事務(wù)對(duì)鎖定的數(shù)據(jù)庫進(jìn)行訪問。這種鎖的等級(jí)最高,因?yàn)樗刂普麄€(gè)數(shù)據(jù)庫的操作。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.5.3 SQL Server鎖的類型 SQL Server的基本鎖是共享鎖(S鎖)和排它鎖(X鎖)。除基本鎖之外,還有三種特殊鎖: (1) 意向鎖包括意向共享鎖(IS鎖)、意向排它鎖(IX鎖)和共享意向排它鎖(SIX鎖)。 (2) 修改鎖是為修改操作提供的頁級(jí)排它鎖。 (3) 模式鎖是為保證系統(tǒng)模式(表和索引結(jié)
25、構(gòu))不被刪除和修改而設(shè)置的鎖。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 一般情況下,SQL Server能自動(dòng)提供加鎖功能,而不需要用戶專門設(shè)置,這些功能表現(xiàn)在以下幾個(gè)方面: (1) 當(dāng)用SELECT語句訪問數(shù)據(jù)庫時(shí),系統(tǒng)能自動(dòng)用共享鎖訪問數(shù)據(jù);在使用INSERT、UPDATE和DELETE語句增加、修改和刪除數(shù)據(jù)時(shí),系統(tǒng)會(huì)自動(dòng)給使用數(shù)據(jù)加排它鎖。 (2) 系統(tǒng)可用意向鎖使鎖之間的沖突最小化。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) (3) 當(dāng)系統(tǒng)修改一個(gè)頁時(shí),會(huì)自動(dòng)加修改鎖。 (4) 當(dāng)操作涉及到參考表或者索引時(shí),SQL Server會(huì)自動(dòng)提供模式鎖。 第9章 SQL Serve
26、r的數(shù)據(jù)庫保護(hù)技術(shù) 9.6 SQ L Server的數(shù)據(jù)恢復(fù)機(jī)制 9.6.1 SQL Server的數(shù)據(jù)備份形式和操作方式 1. SQL Server的三種數(shù)據(jù)備份形式 (1) 完全備份,即海量備份,將數(shù)據(jù)庫完全復(fù)制到備份文件中。 (2) 事務(wù)日志備份:是備份發(fā)生在數(shù)據(jù)庫上的事務(wù)。 (3) 增量備份:指?jìng)浞葑罱淮瓮耆珎浞菀院髷?shù)據(jù)庫發(fā)生變化的數(shù)據(jù)。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. 數(shù)據(jù)庫進(jìn)行備份和恢復(fù)操作的方式 根據(jù)對(duì)SQL服務(wù)器的占用方式,數(shù)據(jù)庫的備份和恢復(fù)操作可分為以下兩種方式: (1) 靜態(tài)的備份和恢復(fù)方式:在進(jìn)行數(shù)據(jù)備份或恢復(fù)操作時(shí),SQL服務(wù)器不接受任何應(yīng)用程序的
27、訪問請(qǐng)求,只執(zhí)行備份或恢復(fù)操作。 (2) 動(dòng)態(tài)的備份和恢復(fù)方式:在進(jìn)行數(shù)據(jù)備份或恢復(fù)操作時(shí),SQL服務(wù)器同時(shí)接受應(yīng)用程序的訪問請(qǐng)求。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.6.2 SQL Server的數(shù)據(jù)備份或恢復(fù)策略 1. 使用完全備份的策略 使用完全備份的最大優(yōu)點(diǎn)是能夠簡(jiǎn)便數(shù)據(jù)庫的恢復(fù)操作,它只需要將最近一次的備份恢復(fù)即可。 2. 在完全備份基礎(chǔ)上使用事務(wù)日志備份的策略 事務(wù)日志備份必須與數(shù)據(jù)庫的完全備份聯(lián)合使用,才能實(shí)現(xiàn)數(shù)據(jù)備份和恢復(fù)功能。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 3. 同時(shí)使用三種備份的策略 在同時(shí)使用數(shù)據(jù)庫完全備份和事務(wù)日志備份的基礎(chǔ)上,再以增量備
28、份作為補(bǔ)充,可以在發(fā)生數(shù)據(jù)丟失時(shí)將損失減少到最小。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.6.3 SQL Server的數(shù)據(jù)備份方法 SQL Server的數(shù)據(jù)備份可以通過執(zhí)行Transact-SQL語句、系統(tǒng)存儲(chǔ)過程或者使用SQL Server的企業(yè)管理器實(shí)現(xiàn)。本書僅介紹使用企業(yè)管理器進(jìn)行數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)的方法。 1. 備份設(shè)備的管理 執(zhí)行備份的第一步是創(chuàng)建備份設(shè)備。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-17 “備份設(shè)備屬性新設(shè)備”對(duì)話框 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. 備份數(shù)據(jù)庫設(shè)置備份數(shù)據(jù)庫任務(wù)的操作步驟為: 進(jìn)入數(shù)據(jù)庫備份對(duì)話框。 第9
29、章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 在“常規(guī)”選項(xiàng)卡中可以完成以下操作:在數(shù)據(jù)庫框中選擇要備份的數(shù)據(jù)庫;在名稱框中為備份取一個(gè)便于識(shí)別的名稱;選擇備份方法,可選擇完全備份、差異備份(增量備份)、事務(wù)日志、文件或文件組之一;為磁盤備份設(shè)備或備份文件選擇目的地,即通過列表右邊的“添加”按鈕或“刪除”按鈕確定備份文件的存放位置,列表框中顯示要使用的備份設(shè)備或備份文件;在重寫欄中選擇將備份保存到備份設(shè)備時(shí)的覆蓋模式;在調(diào)度欄中設(shè)置數(shù)據(jù)庫備份計(jì)劃。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-18 數(shù)據(jù)庫備份的“常規(guī)”選項(xiàng)卡和“選項(xiàng)”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 設(shè)
30、定備份計(jì)劃需要執(zhí)行的操作。 選中“常規(guī)”選項(xiàng)卡中的調(diào)度復(fù)選框,單擊文本框右邊的“”按鈕,彈出“編輯調(diào)度”對(duì)話框,如圖9-19所示。 設(shè)置“選項(xiàng)”選項(xiàng)卡的內(nèi)容。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-19 “編輯調(diào)度”對(duì)話框 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.6.4 SQL Server的數(shù)據(jù)恢復(fù)方法 1. 調(diào)出數(shù)據(jù)庫恢復(fù)對(duì)話框 在SQL Server 2000的企業(yè)管理器中,用鼠標(biāo)右鍵單擊要進(jìn)行數(shù)據(jù)恢復(fù)的數(shù)據(jù)庫。在彈出的菜單中選擇“所有任務(wù)”中的“還原數(shù)據(jù)庫”項(xiàng)(如圖9-20所示),彈出“還原數(shù)據(jù)庫”對(duì)話框,其中包括“常規(guī)”和“選項(xiàng)”兩個(gè)選項(xiàng)卡。 第9章 SQL
31、Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-20 選擇“還原數(shù)據(jù)庫”項(xiàng) 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 2. “常規(guī)”選項(xiàng)卡 在“常規(guī)”選項(xiàng)卡中,有三個(gè)單選按鈕分別對(duì)應(yīng)三種數(shù)據(jù)庫恢復(fù)方式。 (1) 恢復(fù)數(shù)據(jù)庫。 選擇還原欄中的“數(shù)據(jù)庫”單選項(xiàng),如圖9-21所示,說明進(jìn)行恢復(fù)數(shù)據(jù)庫工作。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-21 恢復(fù)數(shù)據(jù)庫的“常規(guī)”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) (2) 恢復(fù)文件或文件組。 選擇“文件組或文件”單選項(xiàng),如圖9-22所示,在參數(shù)欄中選擇要恢復(fù)的數(shù)據(jù)庫名。 (3) 從備份設(shè)備中恢復(fù)。 選擇“從設(shè)備”單選項(xiàng),如圖9-23所示
32、。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-22 恢復(fù)文件的“常規(guī)”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-23 使用設(shè)備恢復(fù)的“常規(guī)”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 3. “選項(xiàng)”選項(xiàng)卡 “還原數(shù)據(jù)庫”對(duì)話框中的“選項(xiàng)”選項(xiàng)卡如圖9-24所示,其中使用三個(gè)復(fù)選框設(shè)置附加特征: (1) 在還原每個(gè)備份后均彈出磁帶(如果有):確定是否在恢復(fù)完每個(gè)備份之后都彈出磁帶,它僅對(duì)磁帶備份設(shè)備有效。 (2) 在還原每個(gè)備份前提示:確定是否在恢復(fù)每個(gè)備份之前提示用戶。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) (3) 在現(xiàn)有的數(shù)據(jù)庫上強(qiáng)制還原:確定恢
33、復(fù)過程中是否強(qiáng)行覆蓋數(shù)據(jù)庫中現(xiàn)有的數(shù)據(jù)。 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 圖9-24 數(shù)據(jù)庫恢復(fù)的“選項(xiàng)”選項(xiàng)卡 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 習(xí) 題 9 9.1 SQL Server提供了哪四層安全防線? 9.2 SQL Server的兩種安全認(rèn)證模式是什么?如何在SQL Server中設(shè)置安全認(rèn)證模式? 9.3 在SQL Server中如何創(chuàng)建一個(gè)登錄用戶? 9.4 在SQL Server中如何創(chuàng)建新的數(shù)據(jù)庫用戶? 9.5 在數(shù)據(jù)庫角色中增加和移去用戶的方法是什么? 第9章 SQL Server的數(shù)據(jù)庫保護(hù)技術(shù) 9.6 在SQL Server 2000的企業(yè)管理器中,實(shí)現(xiàn)對(duì)象權(quán)限管理的操作步驟是什么? 9.7 SQL Server 2000中的數(shù)據(jù)完整性包括哪幾種? 9.8 SQL Server的數(shù)據(jù)備份和恢復(fù)方法是什么?
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案