




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章
數據庫的安全與保護
本章主要內容數據庫安全控制機制數據庫備份機制數據庫恢復機制7.1數據庫安全控制機制
數據庫的安全性是指數據庫中的數據不被非法使用的特性。數據庫管理員的職責,須指定一套安全控制策略。保證那些合法用戶可以登錄到數據庫服務器中,并且能夠實施數據庫中各種權限范圍內的操作。要防止所有的非授權用戶進行越權的或非法的操作。
數據庫的安全控制有多種措施,通常使用用戶身份驗證和權限控制的方法。
7.1.1安全控制模型
安全控制包括從用戶使用數據庫應用程序開始,一直到訪問后臺數據庫為止所經過的一系列的安全認證。用戶Client數據庫應用程序DBAP提交身份提交身份數據庫管理系統DBMS數據允許訪問驗證反饋驗證反饋身份驗證操作權驗證圖7-1數據庫系統的安全模型結果返回7.1.2數據庫用戶及權限
數據庫的兩類權限對數據庫管理系統進行維護的權限;對數據庫中的對象和數據進行操作的權限。
對數據庫對象的操作權限:創建、刪除和修改諸如表、視圖等數據庫對象。對數據庫數據的操作權限:對表、視圖數據的增加、刪除、修改、查看的權力。數據庫的三類用戶(按操作權限劃分)數據庫系統管理員(DBA):有一切權限。數據庫對象擁有者:對所擁有的對象具有一切權限。普通用戶:只具有對數據庫數據的增加、刪除、修改、查看的權力。例如:SQLServer的用戶分為Windows授權用戶和SQL授權用戶兩種類型。Windows授權用戶來自于Windows的用戶或組;SQL授權用戶來自于非Windows的用戶,我們也將這種用戶稱為SQL用戶。
7.1.3SQLServer2000用戶與權限管理
一個用戶如果要訪問SQLServer數據庫中的數據,必須經過三個認證過程:安全身份驗證:確認登錄用戶的登錄帳號和密碼的正確性,由此來驗證用戶是否具有連接到SQLServer數據庫服務器的資格。用戶帳號驗證:登錄到數據庫服務器后,要訪問具體的某個數據庫,須有對數據庫訪問的用戶帳號。
操作許可驗證:要操作數據庫中的數據或對象,還須擁有相應操作的操作許可權。1.安全身份驗證
兩種確認用戶的驗證模式。Windows驗證模式:利用了Windows本身具備的管理登錄、驗證用戶合法性的能力,允許SQLServer用戶登錄時使用Windows的用戶名和口令?;旌向炞C模式:混合驗證模式接受Windows授權用戶和SQL授權用戶。如果不是Windows操作系統的用戶也希望使用SQLServer,那么應該選擇混合驗證模式。SQLServer推薦使用Windows驗證模式。利用企業管理器設置驗證模式在要設置驗證模式的服務器名上單擊鼠標右鍵,然后在彈出的菜單上選擇“屬性”。圖7-2設置SQLServer安全身份驗證
在SQLServer屬性對話框選擇“安全性”對話框,進行相關設置。圖7-3SQLServer安全身份驗證屬性
2.登錄帳號管理
兩個默認的登錄帳號:系統管理員(SystemAdministrator)是一個特殊的登錄帳號,它在數據庫中對應用戶帳號dbo,在SQLServer系統和所有數據庫中擁有所有的權限。BUILTIN\administrators是SQLServer為每一個WindowsNT系統管理員提供的默認的登錄帳號,此帳號在SQLServer系統和所有的數據庫中擁有所有權限。用企業管理器創建登錄帳號。選擇“新建登錄”項。圖7-4創建SQLServer登錄帳號
設置“常規”選項卡。圖7-5“常規”選項卡
設置“服務器角色”選項卡。圖7-6“服務器角色”選項卡設置“數據庫訪問”選項卡。圖7-7“數據庫訪問”選項卡刪除和修改帳號圖7-8修改和刪除登錄帳號3.用戶帳號管理
用戶帳號惟一標識用戶,用戶對數據庫的訪問權限以及與數據庫對象的所有關系都通過用戶帳號來控制。管理數據庫用戶的過程實際上就是建立登錄帳號與數據庫用戶帳號之間的映射關系的過程。默認情況下,新建立的數據庫只有一個用戶帳號dbo,它是數據庫的擁有者,系統默認的登錄帳號sa自動與每一個數據庫用戶帳號dbo關聯。通常,數據庫用戶帳號總是與某一登錄帳號相關聯。guest用戶帳號例外。在SQLServer安裝時被添加到master,pubs,tempdb和northwind數據庫中,讓那些沒有屬于自己用戶帳號的登錄帳號能訪問具有guest用戶帳號的數據庫。guest用戶帳號在master和tempdb中必須始終存在,其他的數據庫中可以添加或刪除guest用戶。默認情況下,新建的數據庫中沒有guest用戶帳戶。用企業管理器創建用戶帳號
選擇“新建數據庫用戶”項。
圖7-9創建數據庫用戶帳號用企業管理器創建用戶帳號
設置“數據庫用戶屬性”。
圖7-10“新建用戶”選項卡先前在創建SQLServer登錄帳號的時,也可同時創建用戶帳號。
刪除和修改帳號圖7-11數據庫用戶的修改與刪除4.權限管理權限用來限定用戶可以使用的數據庫對象和可以對數據庫對象執行的操作。對象權限:用戶對數據庫中的表、視圖等對象的操作權。相當于數據庫操作語言(DML)的語句權限。表和視圖權限:控制用戶是否有權在表和視圖上執行SELECT、INSERT、UPDATE和DELETE。
字段權限:控制用戶是否有權在單個字段上執行SELECT、UPDATE和REFERENCES。存儲過程權限:控制用戶是否有權執行EXECUTE。語句權限:相當于數據定義語言(DDL)的語句權限,表示對數據庫的操作許可。這種權限專指是否允許執行下列語句:CREATETABLE、CREATEVIEW等與創建數據庫對象有關的操作。可針對某個SQL語句,而不是數據庫中已經創建的特定的數據庫對象。只有sysyadmin、db_owner和db_securityadmin角色的成員才能授予語句權限。表7-1語句權限的Transact-SQL語句序號Transact-SQL功能1CREATEDATABASE創建數據庫2CAREATETABLE創建表3CREATEVIEW創建視圖4CREATERULE創建規則5CREATEDEFAULT創建默認6CREATEPROCEDURE創建存儲過程7CREATEINDEX創建索引8BACKUPDATABASE備份數據庫9BACKUPLOG備份事務日志隱含權限:是指由SQLServer預定義的服務器角色、數據庫角色、數據庫擁有者和數據庫對象擁有者所具有的權限。隱含權限相當于內置權限,在系統安裝以后有些用戶和角色不必經過授權就擁有的權限。
因為隱含權限是SQLServer內置的,所以權限的設置實際上是指對象權限和語句權限的設置。
①授予權限:允許用戶或角色具有某種操作權。②收回權限:不允許用戶或角色具有某種操作權,或者收回曾經授予的權限。③拒絕權限:拒絕某用戶或角色具有某種操作權,即使用戶或角色通過繼承的方式得到了這種操作權,也不允許其執行相應的操作。使用企業管理器-面向用戶。選擇用戶的“屬性”項。圖7-12面向用戶的權限設置使用企業管理器-面向用戶。選擇屬性窗口的“權限”。圖7-13對用戶test的權限設置使用企業管理器-面向用戶。設置與數據庫對應的“數據庫用戶屬性”窗口。圖7-14與數據庫對應的數據庫用戶屬性
使用企業管理器-面向用戶。設置列權限(可選)。圖7-15列權限
使用企業管理器-面向數據庫對象。選擇數據庫對象的“屬性”項。圖7-16面向對象的權限設置
使用企業管理器-面向數據庫對象。選擇對象的“權限”。圖7-17對表對象courses的權限設置
使用企業管理器-面向數據庫對象。對象屬性的設置。圖7-18表對象courses的權限設置
權限管理:使用Transact-SQL語句。用于管理權限的語句有三個:①GRANT語句用于授權;②REVOKE語句用于收回權限;③DENY語句用于拒絕權限。表7-2SQLServer中管理權限的Transact-SQL語句類別語句語法管理對象權限GRANTGRANT對象權限名[,…]ON{表名|視圖名|存儲過程名}TO{數據庫用戶名|用戶角色名}[,…]REVOKEREVOKE對象權限名[,…]ON{表名|視圖名|存儲過程名}FROM{數據庫用戶名|用戶角色名}[,…]DENYDENY對象權限名[,…]ON{表名|視圖名|存儲過程名}TO{數據庫用戶名|用戶角色名}[,…]管理語句權限GRANTGRANT語句權限名[,…]TO{數據庫用戶名|用戶角色名}[,…]REVOKEREVOKE語句權限名[,…]FROM{數據庫用戶名|用戶角色名}[,…]DENYDENY語句權限名[,…]TO{數據庫用戶名|用戶角色名}[,…]【例7.1】用7.1.2介紹的方法,首先創建一個新的登錄帳號GuestOne,采用SQLServer身份驗證,密碼為空。并替StuentsInfo數據庫創建一個與GuestOne對應的用戶帳號:rightstest。在查詢分析器中,用sa登陸(查詢分析器的用法參見第四章),我們用GRANT語句為rightstest分配Students表的SELECT權限:GRANTSELECTONStudentsTOrightstest?!纠?.2】用sa再次登錄查詢分析器,收回剛剛分配給rightstest的SELECT權限:REVOKESELECTONStudentsFROMrightstest。然后重新以GuestOne登錄查詢分析器,執行語句:SELECT*FROMStudents,執行失敗。查詢分析器同時給出執行失敗的原因:是因為執行了REVOKE操作后,當前的rightstest用戶已經不擁有可以執行SELECT語句的權限了。7.2數據庫備份機制
7.2.1為什么要進行數據庫備份
SQLServer提供了內置的安全性和數據保護主要是為了防止非法登錄者或沒有經過的授權用戶對數據庫或數據造成破壞。在安全機制無效的情況下,為了能盡快恢復系統的正常工作并把損失降低到最低,必須對系統數據進行備份,以便在需要時能夠及時恢復數據。
數據庫備份是指系統管理員定期地將數據庫部分或全部地復制到磁帶或另一個磁盤上保存起來的過程。這些復制的數據拷貝稱為后備副本。對SQLServer而言,備份針對數據庫或者日志進行,數據庫備份記錄了在進行備份這一操作時數據庫中所有數據的狀態。SQLServer備份數據庫是動態的:在進行數據庫備份的同時允許其他用戶對數據庫進行操作。SQLServer2000支持四種備份形式。數據庫備份(完全數據庫備份)(DatabaseBackups):對數據庫的完整備份,包括所有的數據庫對象、數據和事務日志中的事務。注意:與差異數據庫備份和事務日志備份相比,完全數據庫備份由于是對數據庫的完整備份,所以這種備份類型不僅速度較慢,而且將占用大量磁盤空間。
7.2.2SQLServer2000數據庫備份的種類
差異數據庫備份(增量備份)(DifferentialDatabaseBackups):將最近一次數據庫備份(完全數據庫備份)以來發生的數據變化備份起來,因此差異備份實際上是一種增量數據庫備份。
可考慮使用差異數據庫備份的情況:①最近一次完全數據庫備份后數據庫中只有較少的數據發生了改變;②希望進行頻繁的備份,但不希望進行頻繁的完全數據庫備份;③希望在還原數據庫時花費最少的時間前滾事務日志備份。
事務日志備份(TransactionLogBackup):對數據庫發生的事務進行備份包括從上次事務日志備份、差異備份和完全數據庫備份后,數據庫已經執行完成的所有事務。可考慮使用事務日志備份的情況:①不允許在最近一次完全數據庫備份之后發生數據丟失或損壞現象;②存儲備份文件的磁盤空間很小或者留給進行備份操作的時間有限;③準備把數據庫恢復到發生故障的前一點;④數據庫變化較為頻繁。
數據庫文件和文件組備份(FileandFileGroupBackup):文件或文件組備份是指對數據庫文件或文件夾進行備份,但其不像完全數據庫備份那樣同時也進行事務日志備份。
在使用文件或文件組進行恢復時,仍要求有一個自上次備份以來的事務日志備份來保證數據庫的一致性。所以在進行完文件或文件組備份后應再進行事務日志備份。1.指定或創建備份設備
備份設備是指SQLServer中存儲數據庫、事務日志或文件及文件組備份的存儲介質。可以是本地的磁盤和遠程服務器上硬盤、磁帶或者命名管道。當建立一個備份設備時,需要給其分配一個邏輯名和一個物理名。物理名是操作系統用來標識備份設備的名稱。邏輯名是用來標識物理備份設備的別名。邏輯名最多30個字符并且必須遵守SQLServer的命名約定。備份數據庫時,可以使用物理名或邏輯名,然后執行備份操作對數據庫進行備份。7.2.3SQLServer2000數據庫備份的方法
①使用企業管理器創建備份設備圖7-26新建備份設備①使用企業管理器創建備份設備圖7-27備份設備屬性設置②使用系統的存儲過程sp_addumpdevice創建備份設備語法形式如下:
sp_addumpdevice[@devtype=]‘備份設備類型’,[@logicalname=]'備份設備的邏輯名稱',[@physicalname=]'備份設備的物理名稱'
備份設備類型:值為disk(以硬盤文件作為備份設備)、
pipe(命名管道備份設備)或tape(磁帶備份設備)之一;
備份設備的邏輯名稱:是用戶命名的備份設備的邏輯名稱。
備份設備的物理名稱:是對應的物理備份設備文件全名?!纠?.3】為學生選課數據庫StudentsInfo創建一個本地的備份設備。
USEStudentsInfoEXECsp_addumpdevice'disk','StudentsInfoBK','C:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\StudentsInfoBK.BAK‘GO2.執行備份①使用企業管理器進行備份圖7-28備份數據庫
①使用企業管理器進行備份圖7-29“選項”選項卡
①使用企業管理器進行備份
圖7-30選擇備份目的對話框①使用企業管理器進行備份不立即備份可以使用備份調度圖7-31“編輯調度”對話框①使用企業管理器進行備份不立即備份可以使用備份調度圖7-32編輯反復出現的作業調度①使用企業管理器進行備份圖7-33SQLServer備份設置—“選項”選項卡①使用企業管理器進行備份圖7-34SQLServer備份操作完成②使用備份向導進行備份
選擇“工具”“向導”“管理”。圖7-35選擇向導對話框②使用備份向導進行備份圖7-36備份向導的歡迎界面②使用備份向導進行備份圖7-37備份向導-選擇備份數據庫②使用備份向導進行備份圖7-38備份向導-備份數據庫名稱及描述②使用備份向導進行備份圖7-39備份向導-選擇備份類型②使用備份向導進行備份圖7-40備份向導-備份設備和屬性設置②使用備份向導進行備份圖7-41備份向導-備份驗證和調度②使用備份向導進行備份圖7-42備份向導-備份完成③使用BACKUP語句進行備份
使用BACKUPDATABASE語句和BACKUPLOG語句備份整個數據庫、事務日志,或者備份一個或多個文件或文件組。最簡單的語法形式如下:
BACKUPDATABASE要備份的數據庫名稱TO備份設備③使用BACKUP語句進行備份【例7.4】為學生選課數據庫StudentsInfo創建備份到設備StudentsInfoBK上。USEStudentsInfoBACKUPDATABASEStudentsInfoTOStudentsInfoBKGO7.3數據庫恢復機制
7.3.1為什么要進行數據庫恢復恢復數據庫是指將數據庫從錯誤狀態恢復到正確狀態(最近的正確時刻)的過程。數據庫備份是在正常的工作環境和數據庫的正常狀態下進行的,而數據庫恢復是在非正常狀態下進行的,比如硬件故障、軟件癱瘓以及誤操作。數據庫系統在恢復過程中,自動執行安全檢查、重建數據庫結構和填寫數據庫內容的任務。7.3.2SQLServer2000數據庫恢復的種類
SQLServer2000支持三種數據庫恢復模式。簡單恢復(SimpleRecovery):指在進行數據庫恢復時僅使用了完全數據庫備份或差異備份,而不涉及事務日志備份。
簡單恢復模式可使數據庫恢復到上一次備份的狀態,但由于不使用事務日志備份來進行恢復,所以無法將數據庫恢復到故障發生時的狀態。選擇簡單恢復模式時常使用的備份策略是:首先進行數據庫備份;然后進行差異備份。SQLServer2000支持三種數據庫恢復模式。完全恢復(FullRecovery):指通過使用完全數據庫備份和事務日志備份將數據庫恢復到發生故障的時刻,因此幾乎不造成任何數據丟失,這成為對付因存儲介質損壞而數據丟失的最佳方法。
選擇完全恢復模式時常使用的備份策略是:首先進行完全數據庫備份;然后進行差異數據庫備份;最后進行事務日志的備份。SQLServer2000支持三種數據庫恢復模式。批日志恢復(Bulk-loggedRecovery):批日志恢復在性能上要優于簡單恢復和完全恢復模式,它能盡最大努力減少批操作所需要的存儲空間。選擇批日志恢復模式所采用的備份策略與完全恢復所采用的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 殘聯康復資金管理辦法
- 團隊基金管理辦法課件
- 獸藥原料銷售管理辦法
- 杭州租車公司管理辦法
- 華為海外稅務管理辦法
- 杭州動物診療管理辦法
- 隔聲結構優化-洞察及研究
- 高溫燃燒環境下木質纖維元素分析條件優化研究
- 村級干部績效管理辦法
- 醫院重點崗位管理辦法
- 港口裝卸作業培訓
- 2025年湖北省武漢市中考數學真題(無答案)
- 鉗工考試試題及答案
- 拖欠維修費車輛以車抵債協議范本
- 2025至2030中國復印機行業發展趨勢分析與未來投資戰略咨詢研究報告
- 暑假安全家長會4
- 2024年安徽省泗縣衛生局公開招聘試題帶答案
- 2025年北京市高考化學試卷真題(含答案)
- 呼倫貝爾農墾集團有限公司招聘筆試題庫2025
- 醫院檢驗科實驗室生物安全程序文件SOP
- 詢價單(表格模板)
評論
0/150
提交評論