數(shù)據(jù)庫安全性控制_第1頁
數(shù)據(jù)庫安全性控制_第2頁
數(shù)據(jù)庫安全性控制_第3頁
數(shù)據(jù)庫安全性控制_第4頁
數(shù)據(jù)庫安全性控制_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8第8章SQLServer2005數(shù)據(jù)庫控制與維護(hù)——數(shù)據(jù)庫應(yīng)用教程第一頁,共四十四頁。8.2.1SQLServer的安全機(jī)制8.2.2服務(wù)器登錄帳號的管理8.2.3數(shù)據(jù)庫用戶管理

8.2數(shù)據(jù)庫的安全性控制8.2.4管理權(quán)限

第二頁,共四十四頁。8.2數(shù)據(jù)庫的安全性管理

一個機(jī)構(gòu)建立數(shù)據(jù)庫的目的是為了數(shù)據(jù)庫中的數(shù)據(jù)能夠被機(jī)構(gòu)中的用戶共享訪問,但數(shù)據(jù)庫中的數(shù)據(jù)不能被破壞,重要數(shù)據(jù)(如銀行賬號的密碼)也只能由具有特殊權(quán)力的人員訪問,因此數(shù)據(jù)庫系統(tǒng)必須能夠預(yù)防來自機(jī)構(gòu)內(nèi)部或外部的人對數(shù)據(jù)的故意破壞或竊取。可見,安全性是數(shù)據(jù)庫設(shè)計的重要組成部分。

所謂數(shù)據(jù)庫的安全性:是指保護(hù)數(shù)據(jù)以防止因不合法的使用而造成數(shù)據(jù)的泄密和破壞。為保證數(shù)據(jù)庫的安全性,需要采取一定的安全保護(hù)措施。第三頁,共四十四頁。SQLServer的安全模型增刪改查增刪改查增刪改查增刪改查增刪改查增刪改查數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶登錄帳號SQLserver三層安全管理數(shù)據(jù)表1數(shù)據(jù)表2DB1數(shù)據(jù)表1數(shù)據(jù)表2DB2數(shù)據(jù)表1數(shù)據(jù)表2DB3第四頁,共四十四頁。8.2.1SQLServer的安全機(jī)制

SQLServer2000的安全機(jī)制包括身份驗證和權(quán)限驗證兩個方面。

1.SQLServer的身份驗證模式

用戶要想訪問SQLServer數(shù)據(jù)庫中的數(shù)據(jù),必須以合法身份登錄到SQLServer服務(wù)器上,SQLServer或者操作系統(tǒng)對用戶的身份進(jìn)行驗證,這一階段稱為身份驗證階段(Authentication)。SQLServer身份驗證有兩種模式:Windows身份驗證模式和混合身份驗證模式。在企業(yè)管理器,展開“服務(wù)器組”節(jié)點,在其中的某個SQLServer服務(wù)器上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“編輯SQLServer注冊屬性”菜單項,將會打開“已注冊的SQLServer屬性”對話框。在該對話框中可以設(shè)置身份驗證模式。第五頁,共四十四頁。登錄方式登錄驗證有兩種方式:SQL身份驗證:適合于非windows平臺的用戶或Internet用戶,需要提供帳戶和密碼Windows身份驗證:適合于windows平臺用戶,不需要提供密碼,和windows集成驗證登錄帳戶相應(yīng)有兩種::SQL帳戶和Windows帳戶第六頁,共四十四頁。創(chuàng)建登錄賬戶使用SQL語句創(chuàng)建兩種模式下的登錄帳戶添加WINDOWS登錄帳戶添加SQL登錄帳戶EXECsp_grantlogin‘windows域名\域帳戶’EXECEXECsp_addlogin‘帳戶名’,‘密碼’第七頁,共四十四頁。創(chuàng)建登錄賬戶添加Windows登錄帳戶//windows用戶為S01,SDXY表示域如是本機(jī),SDXY為計算機(jī)名

EXECsp_grantlogin‘SDXY\S01’添加SQL登錄帳戶//登錄名為zhangsan,密碼為1234EXECsp_addlogin‘zhangsan’,’1234’GO演示:創(chuàng)建登錄帳戶第八頁,共四十四頁。創(chuàng)建數(shù)據(jù)庫用戶創(chuàng)建了登錄帳戶,只能登錄到SQLServer系統(tǒng),但還不能訪問某個數(shù)據(jù)庫。如果希望訪問某個數(shù)據(jù)庫,必須要成為該數(shù)據(jù)庫的一個用戶。創(chuàng)建數(shù)據(jù)庫用戶需要調(diào)用系統(tǒng)存儲過程sp_grantdbaccess在empDB中添加兩個用戶

EXECsp_grantdbaccess‘登錄帳戶’,‘?dāng)?shù)據(jù)庫用戶’

USEempDB--S01DBUser為數(shù)據(jù)庫用戶名EXECsp_grantdbaccess‘SDXY\S01’,‘S01DBUser’EXECsp_grantdbaccess‘zhangsan’,‘zhangsanDBUser’演示:創(chuàng)建數(shù)據(jù)庫用戶第九頁,共四十四頁。8.2.1SQLServer的安全機(jī)制

2.權(quán)限驗證

當(dāng)用戶通過身份驗證登錄到SQLServer服務(wù)器上后,還必須經(jīng)過權(quán)限驗證以決定他能訪問的數(shù)據(jù)庫及對訪問的數(shù)據(jù)庫所允許執(zhí)行的操作。

為了對數(shù)據(jù)庫中的對象設(shè)置安全權(quán)限,每個數(shù)據(jù)庫都要求設(shè)置單獨的用戶賬號。因此在SQLServer中,賬號有兩種:登錄賬號和數(shù)據(jù)庫用戶賬號。

登錄賬號屬于服務(wù)器層面的,本身并不能讓用戶訪問服務(wù)器中的數(shù)據(jù)庫。登錄用戶要想訪問數(shù)據(jù)庫,應(yīng)先把他加入到數(shù)據(jù)庫中使他成為數(shù)據(jù)庫用戶,即在數(shù)據(jù)庫中有一個關(guān)聯(lián)的數(shù)據(jù)庫用戶賬號,數(shù)據(jù)庫用戶賬號可以與用戶賬號同名也可以不同名。如果登錄賬號在數(shù)據(jù)庫中不存在對應(yīng)的數(shù)據(jù)庫用戶賬號,若數(shù)據(jù)庫中存在Guest賬號,則登錄用戶可以使用Guest賬號訪問數(shù)據(jù)庫。登錄賬號對應(yīng)的數(shù)據(jù)庫用戶賬號的數(shù)據(jù)庫訪問權(quán)限決定了用戶在數(shù)據(jù)庫中可以進(jìn)行哪些操作。

用戶獲得對數(shù)據(jù)庫的訪問權(quán)限以后,就可以存取數(shù)據(jù)庫了。

第十頁,共四十四頁。8.2.2服務(wù)器登錄賬號的管理1.查看登錄賬號可使用企業(yè)管理器查看登錄賬號,方法是在企業(yè)管理器中,展開相應(yīng)的SQLServer服務(wù)器節(jié)點,再展開其下的“安全性”節(jié)點,單擊其下的“登錄”圖標(biāo),在右側(cè)的“內(nèi)容顯示”窗口中將顯示出系統(tǒng)創(chuàng)建的默認(rèn)登錄賬戶以及已建立的其他登錄賬戶

。

如果采用的是WindowsNTServer操作系統(tǒng),將會有三個默認(rèn)賬號,含義如下:BUILTIN\Administrators:凡是WindowsNTServer/2000中的Administrators組的賬號都允許作為SQLServer登錄賬號使用。域名\Administrator:允許WindowsNTServer的Administrator賬號作為SQLServer登錄賬號使用。sa:SQLServer系統(tǒng)管理員登錄賬號,該賬號擁有最高的管理權(quán)限,可以執(zhí)行服務(wù)器范圍內(nèi)的所有操作。通常SQLServer管理員也是WindowsNT或WindowsServer2000的管理員。第十一頁,共四十四頁。8.2.2服務(wù)器登錄賬號的管理2.創(chuàng)建登錄賬號【例8-19】為SQLServer服務(wù)器創(chuàng)建一個登錄賬號,賬號名為CollegeMISAdm,密碼為tah980808,只能訪問CollegeMIS數(shù)據(jù)庫。該登錄賬號的服務(wù)器角色為DatabaseCreator。(1)在企業(yè)管理器中,依次展開至本地服務(wù)器(TAHSJ)下的“安全性”節(jié)點,在其下的“登錄”圖標(biāo)上單擊右鍵,在出現(xiàn)的快捷菜單中選擇“新建登錄”菜單項,將會出現(xiàn)“SQLServer登錄屬性——新建登錄”對話框。

(2)在該對話框“常規(guī)”頁,輸入登錄名稱為“CollegeMISAdm”,選中“SQLServer身份驗證”單選鈕并輸入密碼,在“數(shù)據(jù)庫”后面的下拉式列表框中選擇“CollegeMIS”數(shù)據(jù)庫

(3)單擊“服務(wù)器角色”頁標(biāo)簽,選中服務(wù)器角色為“DatabaseCreator”

(4)“數(shù)據(jù)庫訪問”頁設(shè)置。

(5)再次輸入確認(rèn)密碼。

第十二頁,共四十四頁。8.2.2服務(wù)器登錄賬號的管理2.創(chuàng)建登錄賬號角色(Role)是一組具有相同權(quán)限的用戶所構(gòu)成的組,在SQLServer中可分為服務(wù)器角色與數(shù)據(jù)庫角色。服務(wù)器角色是負(fù)責(zé)管理與維護(hù)SQLServer的登錄賬號組,一般應(yīng)指定管理服務(wù)器的登錄賬號屬于哪個服務(wù)器角色。SQLServer在安裝過程中定義幾個固定的服務(wù)器角色第十三頁,共四十四頁。第十四頁,共四十四頁。8.2.2服務(wù)器登錄賬號的管理3.登錄賬號屬性修改在企業(yè)管理器中,展開至SQLServer服務(wù)器的“安全性”節(jié)點,單擊其下的“登錄”圖標(biāo),在右側(cè)的“內(nèi)容顯示”窗口中將顯示出所有的登錄賬號。在相應(yīng)登錄賬號上單擊右鍵,在出現(xiàn)的快捷菜單中選擇“屬性”菜單項,將會出現(xiàn)“SQLServer登錄屬性”對話框,在該對話框中可以對登錄賬號的屬性進(jìn)行修改,修改完成后按“確定”按鈕即可。例如,若要暫時禁止一個使用Windows身份驗證的登錄賬戶連接到SQLServer,只需在“SQLServer登錄屬性”對話框中,選擇“常規(guī)”頁,然后選取“拒絕訪問”復(fù)選框即可。若要暫時禁止一個使用SQLServer身份驗證的登錄賬號連接到SQLServer,只需要修改該賬戶的登錄密碼,當(dāng)允許該賬戶登錄時,再把密碼改回即可。

在企業(yè)管理器中,展開至SQLServer服務(wù)器的“安全性”節(jié)點,單擊其下的“登錄”圖標(biāo),在右側(cè)的“內(nèi)容顯示”窗口中將顯示出所有的登錄賬號。在相應(yīng)登錄賬號上單擊右鍵,在出現(xiàn)的快捷菜單中選擇“刪除”菜單項(或選中相應(yīng)登錄賬號,直接按Delete鍵),在出現(xiàn)的“確認(rèn)”對話框中單擊“是”按鈕即可。

4.刪除登錄賬號第十五頁,共四十四頁。8.2.3數(shù)據(jù)庫用戶管理SQLServer系統(tǒng)安裝后,master、tempdb、msdb等默認(rèn)數(shù)據(jù)庫包含兩個數(shù)據(jù)庫用戶賬號:dbo和guest。任何一個登錄賬號都可以通過它的guest用戶賬號來存取相應(yīng)的數(shù)據(jù)庫。但在在SQLServer中新建一個數(shù)據(jù)庫時,默認(rèn)只有dbo用戶賬號而沒有g(shù)uest用戶賬號。因此要讓其他的登錄賬號具有訪問新建的數(shù)據(jù)庫的權(quán)限,必須使登錄賬號關(guān)聯(lián)一個新建的數(shù)據(jù)庫的用戶賬戶。

每個登錄賬號在一個數(shù)據(jù)庫中只能有一個用戶賬號,但每個登錄賬號可以在不同的數(shù)據(jù)庫中各有一個用戶賬號。登錄賬號具有對某個數(shù)據(jù)庫的訪問權(quán)限,并不表示該登錄賬號對該數(shù)據(jù)庫具有存取的權(quán)限,如果要對數(shù)據(jù)庫對象進(jìn)行插入、更新、刪除等操作,還需要設(shè)置用戶賬號的權(quán)限。需注意的是除master和tempdb數(shù)據(jù)庫中的guest用戶賬號不能刪除外,其他數(shù)據(jù)庫中的guest用戶賬號都可以刪除。第十六頁,共四十四頁。8.2.3數(shù)據(jù)庫用戶管理1.創(chuàng)建數(shù)據(jù)庫用戶賬號

【例8-20】為Pubs數(shù)據(jù)庫創(chuàng)建一個數(shù)據(jù)庫用戶賬號,賬號名為“CollegeMISAdmPubs”,角色為public、db_datareader和db_datawriter。

(1)在企業(yè)管理器中,展開SQLServer服務(wù)器下的“數(shù)據(jù)庫”節(jié)點,展開Pubs數(shù)據(jù)庫,在其下的“用戶”圖標(biāo)上單擊右鍵,在出現(xiàn)的快捷菜單中選擇“新建數(shù)據(jù)庫用戶”菜單項,將會出現(xiàn)“數(shù)據(jù)庫用戶屬性”對話框。

(2)在“數(shù)據(jù)庫用戶屬性”對話框中的“登錄名”后面的下拉式列表框中選取“CollegeMISAdm”登錄名,用戶名自動變?yōu)椤癈ollegeMISAdm”,把該名稱改為“CollegeMISAdmPubs”(若不修改,則數(shù)據(jù)庫用戶賬號和登錄賬號名稱一致)。選取數(shù)據(jù)庫角色為public、db_datareader和db_datawriter。(3)單擊“確定”按鈕,即可為pubs數(shù)據(jù)庫創(chuàng)建了一個數(shù)據(jù)庫用戶,用戶名為“CollegeMISAdmPubs”。

第十七頁,共四十四頁。8.2.3數(shù)據(jù)庫用戶管理數(shù)據(jù)庫角色:

和登錄賬號類似,用戶賬號也可以分成組,稱為數(shù)據(jù)庫角色(DatabaseRoles)。在實際應(yīng)用中,可以建立一個角色來代表機(jī)構(gòu)中一類擁有相同權(quán)限的工作人員,然后給這個角色授予適當(dāng)?shù)臋?quán)限。在SQLServer中,數(shù)據(jù)庫角色可分為兩種:標(biāo)準(zhǔn)角色和應(yīng)用程序角色。標(biāo)準(zhǔn)角色是由數(shù)據(jù)庫用戶或其他的數(shù)據(jù)庫角色所組成的組,組中的每個數(shù)據(jù)庫用戶或角色稱為成員,應(yīng)用程序角色不包括任何成員,主要用來控制應(yīng)用程序存取數(shù)據(jù)庫。在創(chuàng)建一個數(shù)據(jù)庫時,系統(tǒng)默認(rèn)創(chuàng)建10個固定的標(biāo)準(zhǔn)角色。第十八頁,共四十四頁。第十九頁,共四十四頁。8.2.3數(shù)據(jù)庫用戶管理2.設(shè)置數(shù)據(jù)庫用戶賬號的權(quán)限在創(chuàng)建數(shù)據(jù)庫用戶賬號時,“數(shù)據(jù)庫用戶屬性”對話框中“登錄名”右側(cè)的“權(quán)限”按鈕是灰色的,表示不能在創(chuàng)建數(shù)據(jù)庫用戶賬號的同時設(shè)置其權(quán)限。但可以在創(chuàng)建數(shù)據(jù)庫用戶賬號后再通過其屬性對話框來設(shè)置權(quán)限。

例:為CollegeMIS數(shù)據(jù)庫的數(shù)據(jù)庫用戶賬號CollegeMISAdm設(shè)置用戶權(quán)限。

起始步驟:在企業(yè)管理器中,展開至CollegeMIS數(shù)據(jù)庫,單擊“用戶”圖標(biāo),在右側(cè)的內(nèi)容顯示窗口中將顯示出該數(shù)據(jù)庫的所有用戶賬號。在“CollegeMISAdm”用戶賬號上單擊右鍵,在出現(xiàn)的快捷菜單中選擇“屬性”菜單項,將會出現(xiàn)“數(shù)據(jù)庫用戶屬性”對話框。第二十頁,共四十四頁。8.2.3數(shù)據(jù)庫用戶管理2.設(shè)置數(shù)據(jù)庫用戶賬號的權(quán)限授予權(quán)限、禁止權(quán)限和撤消權(quán)限的含義如下。①授予權(quán)限。即允許某個用戶或角色對一個對象執(zhí)行某種操作或某種語句。②拒絕訪問。即拒絕某個用戶或角色訪問某個對象。即使該用戶或角色被授予這種權(quán)限,或者由于繼承而獲得這種權(quán)限,仍然不允許執(zhí)行相應(yīng)的操作。③撤消權(quán)限。即不允許某個用戶或角色對一個對象執(zhí)行某種操作或某種語句。不允許與拒絕是不同的,不允許執(zhí)行某操作時,可以通過加入角色來獲得允許權(quán);而拒絕執(zhí)行某操作時,就無法再通過角色來獲得允許權(quán)了。三種權(quán)限沖突時,拒絕訪問權(quán)限起作用。撤消用戶的某一權(quán)限,并不代表能夠禁止用戶使用這一權(quán)限,因為用戶可能通過其他角色繼承了這一權(quán)限。

3.刪除數(shù)據(jù)庫用戶賬號通過企業(yè)管理器來實現(xiàn)。第二十一頁,共四十四頁。8.2.4管理權(quán)限權(quán)限是指用戶對數(shù)據(jù)庫中的對象具有使用和操作的權(quán)力,用戶對數(shù)據(jù)庫所能執(zhí)行的操作是由其具有的權(quán)限決定的。1.權(quán)限的種類

在SQLServer2000中,權(quán)限分為三類:對象權(quán)限、語句權(quán)限和隱含權(quán)限。

第二十二頁,共四十四頁。(1)對象權(quán)限。對象權(quán)限是指用戶對數(shù)據(jù)庫中的表、視圖、存儲過程等對象的操作權(quán)限,如是否允許查詢、添加、刪除、修改數(shù)據(jù)、執(zhí)行存儲過程等。

第二十三頁,共四十四頁。(2)語句權(quán)限。語句權(quán)限是指用戶是否具有執(zhí)行某種語句的權(quán)力,這些語句主要包括一些數(shù)據(jù)定義語句,如創(chuàng)建數(shù)據(jù)庫、表、存儲過程等的語句。

第二十四頁,共四十四頁。(3)隱含權(quán)限。隱含權(quán)限是指由SQLServer預(yù)定義的服務(wù)器角色、數(shù)據(jù)庫所有者(dbo)和數(shù)據(jù)庫對象所有者所擁有的權(quán)限,隱含權(quán)限相當(dāng)于內(nèi)置權(quán)限,并不需要明確地授予這些權(quán)限。例如,服務(wù)器角色sysadmin的成員可以在整個服務(wù)器范圍內(nèi)從事任何操作,數(shù)據(jù)庫所有者(dbo)可以對本數(shù)據(jù)庫進(jìn)行任何操作。

第二十五頁,共四十四頁。8.2.4管理權(quán)限1.權(quán)限管理

權(quán)限管理的主要任務(wù)是管理對象權(quán)限和語句權(quán)限,包括權(quán)限的賦予、拒絕和撤消。角色和用戶的權(quán)限可能是通過企業(yè)管理器和授權(quán)語句授予得到的,也可能是通過角色繼承得來的。

數(shù)據(jù)庫用戶繼承它所屬角色的權(quán)限,并且可以通過企業(yè)管理器和授權(quán)語句對權(quán)限進(jìn)行擴(kuò)展或拒絕。但只要用戶繼承的角色或用戶本身授予的權(quán)限對某一權(quán)限是拒絕的,則該權(quán)限就是拒絕的。

如果用戶分屬于不同的角色,他擁有的權(quán)限是各個角色的并集,但對某一權(quán)限有一個是拒絕的,則用戶的該權(quán)限就是拒絕的。在權(quán)限管理中遵循拒絕優(yōu)先的原則。

第二十六頁,共四十四頁。8.2.4管理權(quán)限1.權(quán)限管理

(1)使用企業(yè)管理器管理語句權(quán)限

①在企業(yè)管理器中,展開“數(shù)據(jù)庫”節(jié)點,在要設(shè)置權(quán)限的數(shù)據(jù)庫(如CollegeMIS)上單擊右鍵,在出現(xiàn)的快捷菜單中選擇“屬性”菜單項,將會出現(xiàn)相應(yīng)數(shù)據(jù)庫的“屬性”對話框。②單擊“權(quán)限”頁標(biāo)簽,在該頁可以對各數(shù)據(jù)庫用戶或角色的語句權(quán)限進(jìn)行設(shè)置。第二十七頁,共四十四頁。8.2.4管理權(quán)限1.權(quán)限管理

(2)使用企業(yè)管理器管理對象權(quán)限①在企業(yè)管理器中,展開“數(shù)據(jù)庫”節(jié)點,選中要授予權(quán)限的對象(表、視圖、存儲過程等)并在其上單擊右鍵,在出現(xiàn)的快捷菜單中選擇“屬性”菜單項,將會出現(xiàn)相應(yīng)對象的“屬性”對話框。

②在該對象的“屬性”對話框中,一般均有一個“權(quán)限”按鈕,單擊它在出現(xiàn)的對話框中可以對各數(shù)據(jù)庫用戶或角色的對象權(quán)限進(jìn)行設(shè)置。第二十八頁,共四十四頁。8.3.1數(shù)據(jù)庫備份概述8.3.2數(shù)據(jù)庫還原模式8.3.3備份設(shè)備管理

8.3數(shù)據(jù)庫的備份與還原8.3.4數(shù)據(jù)庫備份與還原操作

第二十九頁,共四十四頁。8.3數(shù)據(jù)庫的備份與還原數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)該是可靠的、正確的,但計算機(jī)系統(tǒng)的故障(如:硬件故障、軟件故障、網(wǎng)絡(luò)故障、進(jìn)程故障和系統(tǒng)故障等)是不可避免的,這些故障的出現(xiàn)將影響數(shù)據(jù)庫系統(tǒng)的正常運(yùn)行,影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中的數(shù)據(jù)全部或部分丟失。因此需對數(shù)據(jù)庫進(jìn)行備份,以便在發(fā)生故障時能夠利用數(shù)據(jù)庫備份對數(shù)據(jù)庫進(jìn)行還原。第三十頁,共四十四頁。8.3.1數(shù)據(jù)庫備份概述1.備份內(nèi)容在SQLServer中數(shù)據(jù)庫需備份的內(nèi)容可分為系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和事務(wù)日志3部分。

系統(tǒng)數(shù)據(jù)庫主要包括master、msdb、distribution和model數(shù)據(jù)庫,它們記錄了重要的系統(tǒng)信息,一旦損壞就可能使SQLServer2000系統(tǒng)無法正常運(yùn)行,必須完全備份。在便在系統(tǒng)發(fā)生故障時能夠利用它們的備份還原整個系統(tǒng)。但不可能也沒有必要對系統(tǒng)數(shù)據(jù)庫tempdb進(jìn)行備份

。

用戶數(shù)據(jù)庫是機(jī)構(gòu)重要的信息資源,根據(jù)其重要性可分為關(guān)鍵數(shù)據(jù)和非關(guān)鍵數(shù)據(jù)。對于關(guān)鍵數(shù)據(jù),一旦損壞,不易甚至不能重新建立,必須進(jìn)行完全備份。事務(wù)日志記錄了用戶對數(shù)據(jù)的各種事務(wù)操作,平時系統(tǒng)會自動管理和維護(hù)所有的數(shù)據(jù)庫事務(wù)日志文件。相對于數(shù)據(jù)庫備份,事務(wù)日志備份所需要的時間較少,但還原需要的時間比較長。

注意:在SQLServer2000中,固定服務(wù)器角色sysadmin和固定數(shù)據(jù)庫角色db_owner、db_backupoperator可以做備份操作,但可以通過授權(quán)允許其他角色執(zhí)行數(shù)據(jù)庫備份操作。第三十一頁,共四十四頁。8.3.1數(shù)據(jù)庫備份概述2.備份設(shè)備數(shù)據(jù)庫備份前,必須選擇備份設(shè)備。備份設(shè)備是用來存儲備份數(shù)據(jù)的存儲介質(zhì),可以是硬盤、磁帶或命名管道(邏輯通道)。SQLServer允許將本地主機(jī)硬盤和遠(yuǎn)程主機(jī)的硬盤作為備份設(shè)備,備份設(shè)備在硬盤中是以文件的方式存儲的。SQLServer只允許使用本地主機(jī)的磁帶機(jī)作為備份設(shè)備而不允許使用遠(yuǎn)程主機(jī)上的磁帶機(jī)作為備份設(shè)備。

SQLServer使用物理設(shè)備名稱或邏輯設(shè)備名稱來標(biāo)識備份設(shè)備。物理設(shè)備名稱是操作系統(tǒng)用來標(biāo)識備份設(shè)備的名稱,邏輯設(shè)備名稱是用來標(biāo)識物理備份設(shè)備的別名或公用名稱,邏輯設(shè)備名稱有助于記憶和書寫

。使用邏輯設(shè)備名稱標(biāo)識的備份設(shè)備稱為永久備份設(shè)備,其名稱永久地存儲在SQLServer的系統(tǒng)設(shè)備表中,可以多次使用。使用物理設(shè)備名稱標(biāo)識的備份設(shè)備稱為臨時備份設(shè)備,其名稱沒有記錄在系統(tǒng)設(shè)備表中,只能使用一次。

第三十二頁,共四十四頁。8.3.1數(shù)據(jù)庫備份概述3.備份時機(jī)對于系統(tǒng)數(shù)據(jù)庫,只要執(zhí)行某些語句或存儲過程導(dǎo)致SQLServer對系統(tǒng)數(shù)據(jù)庫進(jìn)行了修改,就需要備份。對于用戶數(shù)據(jù)庫,如果用戶或程序?qū)χ畧?zhí)行了添加數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)、創(chuàng)建索引等操作,則應(yīng)該對用戶數(shù)據(jù)庫進(jìn)行備份。如果清除了事務(wù)日志,也應(yīng)該備份數(shù)據(jù)庫。

第三十三頁,共四十四頁。8.3.1數(shù)據(jù)庫備份概述4.備份類型SQLServer2000支持4種基本類型的備份:完全備份(FullBackup)、事務(wù)日志備份(TransactionLogBackup)、差異備份(DifferentialDatabaseBackup)以及文件和文件組備份(Backup)。

(1)完全備份。完全備份將備份整個數(shù)據(jù)庫,包括用戶表、系統(tǒng)表、索引、視圖和存儲過程等所有數(shù)據(jù)庫對象。適用于數(shù)據(jù)更新緩慢的數(shù)據(jù)庫。由于這種類型的備份不僅速度較慢,而且將占用大量磁盤空間,所以通常將其安排在晚間整個數(shù)據(jù)庫系統(tǒng)的事務(wù)運(yùn)行數(shù)目相對較少時進(jìn)行,以避免對用戶的影響和提高數(shù)據(jù)庫備份的速度。

第三十四頁,共四十四頁。(2)事務(wù)日志備份。事務(wù)日志備份是指對數(shù)據(jù)庫發(fā)生的事務(wù)進(jìn)行備份,包括從上次進(jìn)行事務(wù)日志備份、差異備份和完全備份之后,所有已經(jīng)完成的事務(wù)。事務(wù)日志備份通常用在數(shù)據(jù)庫變化較為頻繁或不允許在最近一次數(shù)據(jù)庫備份之后發(fā)生數(shù)據(jù)丟失或損壞的情況。

事務(wù)日志備份需要的磁盤空間和備份時間都比數(shù)據(jù)庫備份少得多,正是由于這個優(yōu)點,所以在備份時常采用這樣的策略,即每天進(jìn)行一次數(shù)據(jù)庫備份,而以一個或幾個小時的頻率備份事務(wù)日志。這樣就可以將數(shù)據(jù)庫還原到任意一個創(chuàng)建事務(wù)日志備份的時刻。

使用事務(wù)日志對數(shù)據(jù)庫進(jìn)行還原操作比較麻煩,它不但需要有一個數(shù)據(jù)庫的完全備份,而且對事務(wù)日志備份還需要按一定的順序進(jìn)行還原。

第三十五頁,共四十四頁。(3)差異備份。差異備份只記錄自上次完全備份后發(fā)生更改的數(shù)據(jù),差異備份一般會比完全備份占用更少的空間。與完全備份相比,差異備份的數(shù)據(jù)量較小,備份和還原所用的時間較短。通過增加差異備份的備份次數(shù),可以降低丟失數(shù)據(jù)的風(fēng)險,但是它無法像事務(wù)日志備份那樣提供到失敗點的無數(shù)據(jù)損失備份。

在實際應(yīng)用中一般經(jīng)常綜合使用完全備份、差異備份和事務(wù)日志備份,以最大限度地減少數(shù)據(jù)庫還原時間以及降低數(shù)據(jù)損失數(shù)量。例如對于一個數(shù)據(jù)經(jīng)常變化的數(shù)據(jù)庫,可采用以下的備份方案:

①有規(guī)律地進(jìn)行數(shù)據(jù)庫的完全備份,例如每天夜里零點進(jìn)行備份。

②較小的時間間隔進(jìn)行差異備份,例如每個小時進(jìn)行一次。

③在相臨的兩次差異備份之間進(jìn)行事務(wù)日志備份,可以每5分鐘或10分鐘進(jìn)行一次。第三十六頁,共四十四頁。當(dāng)數(shù)據(jù)庫發(fā)生故障時,若想數(shù)據(jù)庫能還原到數(shù)據(jù)庫失敗的那一時刻,這時應(yīng)該采用下面的方法:

①如果能夠訪問數(shù)據(jù)庫事務(wù)日志文件,則應(yīng)備份當(dāng)前正處于活動狀態(tài)的事務(wù)日志。②還原最近一次完全備份。③還原最近一次差異備份。④按順序還原自差異備份以來進(jìn)行的事務(wù)日志備份。注意:若數(shù)據(jù)庫失敗時,無法備份當(dāng)前數(shù)據(jù)庫正在進(jìn)行的事務(wù),則只能把數(shù)據(jù)庫還原到最近一次事務(wù)日志備份的狀態(tài),而不是數(shù)據(jù)庫的失敗點。此時可通過其它的手段來使數(shù)據(jù)庫還原到失敗點,如每筆業(yè)務(wù)打印的單據(jù)或填寫的表格等。

第三十七頁,共四十四頁。(4)文件和文件組備份。當(dāng)數(shù)據(jù)庫非常龐大時,可執(zhí)行數(shù)據(jù)庫文件或文件組備份。這種備份策略使用戶只還原已損壞的文件或文件組,而不用還原數(shù)據(jù)庫的其余部分。文件和文件組備份通常和事務(wù)日志備份聯(lián)合起來使用,文件和文件組備份后還要進(jìn)行事務(wù)日志備份,以反映文件或文件組備份后的數(shù)據(jù)變化。第三十八頁,共四十四頁。8.3.2數(shù)據(jù)庫還原模式數(shù)據(jù)庫還原是和數(shù)據(jù)庫備份相對應(yīng)的操作,它是將數(shù)據(jù)庫備份重新加載到系統(tǒng)中的過程。數(shù)據(jù)庫還原可以創(chuàng)建備份完成時數(shù)據(jù)庫中存在的相關(guān)文件,但是備份以后的所有數(shù)據(jù)庫修改都將丟失。SQLServer提供了3種數(shù)據(jù)庫還原模式:簡單還原(SimpleRecovery)、完全還原(FullRecovery)、大容量日志記錄還原(Bulk-LoggedRecovery)。

第三十九頁,共四十四頁。8.3.2數(shù)據(jù)庫還原模式

1.簡單還原模式簡單還原模式可以將數(shù)據(jù)庫還原到上次備份處,但是無法將數(shù)據(jù)庫還原到故障點或待定的即時點。它常用于還原最新的數(shù)據(jù)庫的完全備份和差異備份,若想還原到數(shù)據(jù)庫失敗時,必須重建最新的數(shù)據(jù)庫備份或者差異備份后的更改。

2.完全還原模式完全還原模式使用數(shù)據(jù)庫的完全備份和事務(wù)日志備份將數(shù)據(jù)庫還原到故障點或特定即時點。為保證這種還原程度,包括大容量操作(如SELECTINTO、CREATEINDEX和大容量裝載數(shù)據(jù))在內(nèi)的所有操作都將完整地記入日志。在這種還原模

溫馨提示

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

評論

0/150

提交評論