




已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用 機(jī)械工業(yè)出版社 1 第8章數(shù)據(jù)庫保護(hù)技術(shù) 8 1數(shù)據(jù)庫的安全性及SQLServer的安全管理8 2數(shù)據(jù)庫完整性及SQLServer的完整性控制8 3數(shù)據(jù)庫并發(fā)控制及SQLServer并發(fā)控制機(jī)制8 4數(shù)據(jù)庫恢復(fù)技術(shù)與SQLServer數(shù)據(jù)恢復(fù)機(jī)制 2 8 1數(shù)據(jù)庫安全性及SQLServer的安全管理 數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫 以防止不合法的使用造成的數(shù)據(jù)泄密 更改或破壞 8 1 1數(shù)據(jù)庫安全性控制的一般方法 用戶標(biāo)識(shí)和鑒別存取控制操作系統(tǒng)安全保護(hù)密碼存儲(chǔ) 3 1 用戶標(biāo)識(shí)與鑒別 1 用輸入用戶名 用戶標(biāo)識(shí)號(hào) 來標(biāo)明用戶身份 系統(tǒng)內(nèi)部記錄著所有合法用戶的標(biāo)識(shí) 系統(tǒng)對(duì)輸入的用戶名與合法用戶名對(duì)照 鑒別此用戶是否為合法用戶 2 通過回答口令標(biāo)識(shí)用戶身份 系統(tǒng)常常要求用戶輸入口令 只有口令正確才能進(jìn)入系統(tǒng) 為保密起見 口令由用戶自己定義并可以隨時(shí)變更 為防止口令被人竊取 用戶在終端上輸入口令時(shí) 不把口令的內(nèi)容顯示在屏幕上 而用字符 替代其內(nèi)容 3 通過回答對(duì)隨機(jī)數(shù)的運(yùn)算結(jié)果表明用戶身份 系統(tǒng)提供一個(gè)隨機(jī)數(shù) 用戶根據(jù)預(yù)先約定的計(jì)算過程或計(jì)算函數(shù)進(jìn)行計(jì)算 并將計(jì)算結(jié)果輸給到計(jì)算機(jī) 系統(tǒng)根據(jù)用戶計(jì)算結(jié)果判定用戶是否合法 4 2 存取控制 1 存取機(jī)制的構(gòu)成 1 定義用戶權(quán)限 并將用戶權(quán)限登記到數(shù)據(jù)字典中 2 當(dāng)用戶提出操作請(qǐng)求時(shí) 系統(tǒng)進(jìn)行權(quán)限檢查 拒絕用戶的非法操作 2 存取機(jī)制的類別 1 自主存取控制 DAC 用戶對(duì)于不同的對(duì)象有不同的存取權(quán)限 不同的用戶對(duì)同一對(duì)象的存取權(quán)限也各不相同 用戶可將自己擁有的存取權(quán)限轉(zhuǎn)授給其他用戶 2 強(qiáng)制存取控制 MAC 每一個(gè)數(shù)據(jù)對(duì)象被標(biāo)以一定的密級(jí) 每一個(gè)用戶也被授予某一個(gè)級(jí)別的許可證 對(duì)于任意一個(gè)對(duì)象 只有具有合法許可證的用戶才可以存取 5 3 自主存取控制方法 1 關(guān)系中的用戶權(quán)限 用戶權(quán)限主要包括數(shù)據(jù)對(duì)象和操作類型兩個(gè)要素 定義用戶的存取權(quán)限稱為授權(quán) 通過授權(quán)規(guī)定用戶可以對(duì)哪些數(shù)據(jù)進(jìn)行什么樣的操作 2 SQL的數(shù)據(jù)控制功能 GRANT語句 授權(quán) 和REVOKE語句 收權(quán) 1 數(shù)據(jù)對(duì)象的創(chuàng)建者自動(dòng)獲得對(duì)于該數(shù)據(jù)對(duì)象的所有操作權(quán)限 2 獲得數(shù)據(jù)操作權(quán)的用戶可以通過GRANT語句把權(quán)限轉(zhuǎn)授給其他用戶 3 授權(quán)機(jī)制的性能 1 權(quán)限定義中數(shù)據(jù)對(duì)象范圍越小授權(quán)系統(tǒng)就越靈活 授權(quán)粒度越細(xì) 授權(quán)子系統(tǒng)就越靈活 但系統(tǒng)定義與檢查權(quán)限的開銷也會(huì)增大 2 權(quán)限定義中能夠謂詞的授權(quán)系統(tǒng)比較靈活 3 權(quán)限定義中能夠謂詞 且存取謂詞中能夠引用系統(tǒng)變量的授權(quán)系統(tǒng)更加靈活 4 自主存取控制的不足之處 系統(tǒng)對(duì)權(quán)限的授予狀況無法進(jìn)行有效的控制可能造成數(shù)據(jù)的無意泄露 6 4 強(qiáng)制存取控制方法 1 主體 客體及敏感度標(biāo)記 主體是系統(tǒng)中的活動(dòng)實(shí)體 它包括用戶和進(jìn)程 客體是系統(tǒng)中的被動(dòng)實(shí)體 包括基表 視圖等 DBMS為主體和客體的每個(gè)實(shí)例都設(shè)置一個(gè)敏感度標(biāo)記 如絕密 機(jī)密 可信 公開 主體的敏感度標(biāo)記稱為許可證級(jí)別 客體的敏感度標(biāo)記稱為密級(jí) 2 主體對(duì)客體的存取規(guī)則 1 僅當(dāng)主體的許可證級(jí)別大于或等于客體的密級(jí)時(shí) 該主體才能讀取相應(yīng)的客體 2 僅當(dāng)主體的許可證級(jí)別等于客體的密級(jí)時(shí) 該主體才能寫相應(yīng)的客體 3 由DAC和MAC共同構(gòu)成的安全機(jī)制 系統(tǒng)在安全檢察時(shí) 首先進(jìn)行自主存取控制檢察 然后進(jìn)行強(qiáng)制存取控制檢察 兩者都通過后 用戶才能執(zhí)行其數(shù)據(jù)存取操作 7 5 視圖 審計(jì)和數(shù)據(jù)加密機(jī)制 為不同的用戶定義不同的視圖 通過視圖把數(shù)據(jù)對(duì)象限制在一定范圍內(nèi) 把要保密的數(shù)據(jù)對(duì)無權(quán)存取的用戶隱藏起來 從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù) 審計(jì)功能就是把用戶對(duì)數(shù)據(jù)庫的所有操作自動(dòng)記錄下來放入審計(jì)日志中 一旦發(fā)生數(shù)據(jù)被非法存取 DBA可以利用審計(jì)跟蹤的信息 重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件 找出非法存取數(shù)據(jù)的人 時(shí)間和內(nèi)容等 加密是根據(jù)一定的算法將原始數(shù)據(jù) 明文 Plaintext 變換為不可直接識(shí)別的格式 密文 Ciphertext 從而使得不知道解密算法的人無法獲得數(shù)據(jù)的內(nèi)容 加密方法主要有兩種 1 替換方法 使用密鑰將明文中的每一個(gè)字符轉(zhuǎn)換為密文中的字符 2 置換方法 僅將明文的字符按不同的順序重新排列 8 8 1 2SQLServer的安全體系結(jié)構(gòu) 1 SQLServer的安全體系結(jié)構(gòu) 1 WindowsNT操作系統(tǒng)的安全防線 網(wǎng)絡(luò)管理員負(fù)責(zé)建立用戶組 設(shè)置帳號(hào)并注冊 同時(shí)決定不同的用戶對(duì)不同系統(tǒng)資源的訪問級(jí)別 2 SQLServer的運(yùn)行安全防線 通過另一種帳號(hào)設(shè)置來創(chuàng)建附加安全層 3 SQLServer數(shù)據(jù)庫的安全防線 特定數(shù)據(jù)庫都有自己的用戶和角色 該數(shù)據(jù)庫只能由它的用戶或角色訪問 其他用戶無權(quán)訪問其數(shù)據(jù) 4 SQLServer數(shù)據(jù)庫對(duì)象的安全防線 對(duì)權(quán)限進(jìn)行管理 TSQL的DCL功能保證合法用戶既使進(jìn)入了數(shù)據(jù)庫也不能有超越權(quán)限的數(shù)據(jù)存取操作 即合法用戶必須在自己的權(quán)限范圍內(nèi)進(jìn)行數(shù)據(jù)操作 9 2 SQLServer的安全認(rèn)證模式 1 Windows S 安全認(rèn)證模式通過使用Windows網(wǎng)絡(luò)用戶的安全性來控制用戶對(duì)SQL服務(wù)器的登錄訪問 它允許一個(gè)網(wǎng)絡(luò)用戶登錄到一個(gè)SQL服務(wù)器上時(shí)不必再提供一個(gè)單獨(dú)的登錄帳號(hào)及口令 2 混合安全認(rèn)證模式如果用戶網(wǎng)絡(luò)協(xié)議支持可信任連接 則可使用Windows S 安全模式 如果用戶網(wǎng)絡(luò)協(xié)議不支持可信任連接 則在Windows S 安全認(rèn)證模式下會(huì)登錄失敗 SQLServer安全認(rèn)證模式將有效 SQLServer安全認(rèn)證模式要求用戶必須輸入有效的SQLServer登錄帳號(hào)及口令 10 3 設(shè)置SQLServer的安全認(rèn)證模式 1 在企業(yè)管理器中擴(kuò)展開SQL服務(wù)器組 用鼠標(biāo)右鍵擊需要設(shè)置的SQL服務(wù)器 在彈出的菜單中選擇 屬性 項(xiàng) 2 在彈出的SQL服務(wù)器屬性對(duì)話框中 選擇 安全性 選項(xiàng)卡 3 在安全性選項(xiàng)卡中的安全性欄選擇安全認(rèn)證模式 11 8 1 3SQLServer的用戶和角色管理 1 登錄的管理登錄 亦稱Login用戶 通過帳號(hào)和口令訪問SQLServer的數(shù)據(jù)庫 1 查看安全性文件夾的內(nèi)容進(jìn)入企業(yè)管理器 打開指定的SQL服務(wù)器組和SQL服務(wù)器 并選擇安全性文件夾的系列操作后 就會(huì)出現(xiàn)安全性文件夾 12 2 創(chuàng)建一個(gè)登錄用戶 1 用右鍵擊登錄文件夾 在彈出單中選擇 新建登錄 出現(xiàn)登錄屬性對(duì)話框 2 選擇常規(guī)選項(xiàng)卡 輸入用戶的一般特征 3 選擇服務(wù)器角色選項(xiàng)卡 確定用戶所屬服務(wù)器角色 4 選擇數(shù)據(jù)庫訪問選項(xiàng)卡 確定用戶能訪問的數(shù)據(jù)庫和所屬的數(shù)據(jù)庫角色 13 2 數(shù)據(jù)庫用戶的管理 1 dbo用戶dbo用戶即數(shù)據(jù)庫擁有者或數(shù)據(jù)庫創(chuàng)建者 dbo在其所擁有的數(shù)據(jù)庫中擁有所有的操作權(quán)限 dbo的身份可被重新分配給另一個(gè)用戶 系統(tǒng)管理員Sa可以作為他所管理系統(tǒng)的任何數(shù)據(jù)庫的dbo用戶 2 guest用戶如果guest用戶在數(shù)據(jù)庫存在 則允許任意一個(gè)登錄用戶作為guest用戶訪問數(shù)據(jù)庫 其中包括那些不是數(shù)據(jù)庫用戶的SQL服務(wù)器用戶 除系統(tǒng)數(shù)據(jù)庫master和臨時(shí)數(shù)據(jù)庫tempdb的guest用戶不能被刪除外 其他數(shù)據(jù)庫都可以將自己guest用戶刪除 以防止非數(shù)據(jù)庫用戶的登錄用戶對(duì)數(shù)據(jù)庫進(jìn)行訪問 14 3 創(chuàng)建新的數(shù)據(jù)庫用戶 1 在企業(yè)管理器中用右擊用戶文件夾 在彈出單中選擇 新建數(shù)據(jù)庫用戶 2 在對(duì)話框的登錄名欄中選擇SQL服務(wù)器登錄用戶名 在用戶名欄中輸入數(shù)據(jù)庫用戶名 在數(shù)據(jù)庫角色欄中選擇該數(shù)據(jù)庫用戶參加的角色 15 3 數(shù)據(jù)庫角色的管理 1 在數(shù)據(jù)庫角色中增加或移去用戶 1 展開一個(gè)SQL服務(wù)器 數(shù)據(jù)庫文件夾 選中角色文件夾 2 用選中要加入的角色 右擊它 在彈出單中選擇 屬性 3 單擊 添加 按鈕后 出現(xiàn)選擇該數(shù)據(jù)庫用戶的對(duì)話框 選擇要加入角色的用戶 單擊 確定 4 要移走一個(gè)用戶 在用戶欄中選中它 后單擊 刪除 16 2 創(chuàng)建新的數(shù)據(jù)庫角色 1 打開SQL服務(wù)器組 服務(wù)器 數(shù)據(jù)庫文件夾和特定的數(shù)據(jù)庫文件夾 2 選中角色子文件夾 右擊任意角色 在彈出單中選擇 新建數(shù)據(jù)庫角色 3 輸入新角色名 在用戶欄增加或移去角色的用戶 確定數(shù)據(jù)庫角色的類型 17 8 1 4SQLServer的權(quán)限管理1 SQLServer權(quán)限種類 對(duì)象權(quán)限和語句權(quán)限 18 2 對(duì)象權(quán)限的管理 1 選中一個(gè)數(shù)據(jù)庫對(duì)象 擊鼠標(biāo)右鍵 使之出現(xiàn)彈出菜單 2 選擇 全部任務(wù) 中的 管理權(quán)限 項(xiàng) 隨后就會(huì)出現(xiàn)對(duì)象權(quán)限對(duì)話框 3 選擇 列出全部用戶 用戶定義的數(shù)據(jù)庫角色 項(xiàng) 或選擇 僅列出對(duì)此對(duì)象具有權(quán)限的用戶 用戶定義的數(shù)據(jù)庫角色 項(xiàng) 4 在權(quán)限表中對(duì)各用戶或角色的各種對(duì)象操作權(quán)授予或撤消 19 3 語句權(quán)限的管理 1 用鼠標(biāo)右鍵擊指定的數(shù)據(jù)庫文件夾 出現(xiàn)數(shù)據(jù)庫屬性對(duì)話框 2 選擇 權(quán)限 選項(xiàng)卡 單擊表中的各復(fù)選小方塊可分別對(duì)各用戶或角色授予 撤消和廢除數(shù)據(jù)庫的語句操作權(quán)限 20 8 2 1完整性約束條件及完整性控制 數(shù)據(jù)完整性約束可以分為 表級(jí)約束 若干元組間 關(guān)系中以及關(guān)系之間聯(lián)系的約束 元組級(jí)約束 元組中的字段組和字段間聯(lián)系的約束 屬性級(jí)約束 針對(duì)列的類型 取值范圍 精度 排序等而制定的約束條件 完整性約束分為 靜態(tài)約束 數(shù)據(jù)庫每一確定狀態(tài)時(shí)的數(shù)據(jù)對(duì)象所應(yīng)滿足的約束條件 動(dòng)態(tài)約束 數(shù)據(jù)庫從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪环N狀態(tài)時(shí) 新 舊值之間所應(yīng)滿足的約束條件 8 2數(shù)據(jù)庫完整性及SQLServer的完整性控制 21 1 完整性控制機(jī)制的功能及執(zhí)行約束 1 完整性控制機(jī)制應(yīng)具有的功能 1 定義完整性功能 提供定義完整性約束條件的機(jī)制 2 檢查完整性功能 檢查用戶發(fā)出的操作請(qǐng)求 看其是否違背了完整性約束條件 3 控制完整性功能 監(jiān)視數(shù)據(jù)操作的整個(gè)過程 如果發(fā)現(xiàn)有違背了完整性約束條件的情況 則采取一定的動(dòng)作來保證數(shù)據(jù)的完整性 2 立即執(zhí)行約束和延遲執(zhí)行約束 有關(guān)數(shù)據(jù)操作語句執(zhí)行完后立即進(jìn)行完整性檢查為立即執(zhí)行約束 在整個(gè)事務(wù)執(zhí)行結(jié)束后再進(jìn)行完整性檢查為延遲執(zhí)行約束 22 2 實(shí)現(xiàn)參照完整性要考慮的幾個(gè)問題 1 外碼能夠接受空值的問題 2 在被參照關(guān)系中刪除元組的問題 1 級(jí)聯(lián)刪除 CASCADES 將參照關(guān)系中所有外碼值與被參照關(guān)系中要?jiǎng)h除的元組主碼值相同的元組一起刪除 如果參照關(guān)系同時(shí)又是另一個(gè)關(guān)系的被參照關(guān)系 則這種刪除操作會(huì)繼續(xù)級(jí)聯(lián)下去 2 受限刪除 RESTRICTED 僅當(dāng)參照關(guān)系中沒有任何元組的外碼值與被參照關(guān)系中要?jiǎng)h除元組的主碼值相同時(shí) 系統(tǒng)才執(zhí)行刪除操作 否則拒絕此刪除操作 3 置空值刪除 NULLIFIES 刪除被參照關(guān)系的元組 并將參照關(guān)系中相應(yīng)元組的外碼值置空值 23 3 在參照關(guān)系中插入元組時(shí)的問題 1 受限插入 僅當(dāng)被參照關(guān)系存在相應(yīng)的元組 其主碼值與參照關(guān)系插入元組的外碼值相同時(shí) 系統(tǒng)才執(zhí)行插入操作 否則拒絕此操作 2 遞歸插入 該策略首先在被參照關(guān)系中插入相應(yīng)的元組 其主碼值等于參照關(guān)系插入元組的外碼值 然后向參照關(guān)系插入元組 4 修改關(guān)系的主碼問題 1 不允許修改主碼 如果需要修改主碼值 只能先刪除該元組 然后再把具有新主碼值的元組插入到關(guān)系中 2 允許修改主碼 允許修改關(guān)系主碼 但必須保證主碼的惟一性和非空 否則拒絕修改 5 修改表是被參照關(guān)系的問題 1 級(jí)聯(lián)修改 如果要修改被參照關(guān)系中的某個(gè)元組的主碼值 則參照關(guān)系中相應(yīng)的外碼值也作相應(yīng)的修改 2 拒絕修改 如果參照關(guān)系中 有外碼值與被參照關(guān)系中要修改的主碼值相同的元組 則拒絕修改 3 置空值修改 修改被參照關(guān)系的元組 并將參照關(guān)系中相應(yīng)元組的外碼值置空值 24 8 2 2SQLServer的數(shù)據(jù)庫完整性及實(shí)現(xiàn)方法 1 SQLServer的數(shù)據(jù)完整性的種類 1 域完整性 域完整性為列級(jí)和元組級(jí)完整性 它為列或列組指定一個(gè)有效的數(shù)據(jù)集 并確定該列是否允許為空 2 實(shí)體完整性 實(shí)體完整性為表級(jí)完整性 它要求表中所有的元組都應(yīng)該有一個(gè)惟一的標(biāo)識(shí)符 這個(gè)標(biāo)識(shí)符就是平常所說的主碼 3 參照完整性 參照完整性是表級(jí)完整性 它維護(hù)參照表中的外碼與被參照表中主碼的相容關(guān)系 如果在被參照表中某一元組被外碼參照 那么這一行既不能被刪除 也不能更改其主碼 25 2 SQLServer數(shù)據(jù)完整性的兩種方式 1 聲明數(shù)據(jù)完整性 聲明數(shù)據(jù)完整性通過在對(duì)象定義中定義 系統(tǒng)本身自動(dòng)強(qiáng)制來實(shí)現(xiàn) 聲明數(shù)據(jù)完整性包括各種約束 缺省和規(guī)則 2 過程數(shù)據(jù)完整性 過程數(shù)據(jù)完整性通過使用腳本語言 26 8 3數(shù)據(jù)庫并發(fā)控制及SQLServer的并發(fā)控制機(jī)制 數(shù)據(jù)庫的并發(fā)控制就是控制數(shù)據(jù)庫 防止多用戶并發(fā)使用數(shù)據(jù)庫時(shí)造成數(shù)據(jù)錯(cuò)誤和程序運(yùn)行錯(cuò)誤 保證數(shù)據(jù)的完整性 8 3 1事務(wù)及并發(fā)控制的基本概念1 事務(wù)的概念事務(wù)是用戶定義的一個(gè)數(shù)據(jù)庫操作序列 這些操作要么全做要么全不做 是一個(gè)不可分割的工作單位 在SQL語言中 定義事務(wù)的語句有三條 BEGINTRANSACTION COMMIT ROLLBACK 27 2 事務(wù)并發(fā)操作可能產(chǎn)生的數(shù)據(jù)不一致問題 T1 a 丟失數(shù)據(jù) b 不可重復(fù)讀 c 讀 臟 數(shù)據(jù) 28 8 3 2封鎖及封鎖協(xié)議 封鎖是使事務(wù)對(duì)它要操作的數(shù)據(jù)有一定的控制能力 封鎖具有3個(gè)環(huán)節(jié) 一個(gè)環(huán)節(jié)是申請(qǐng)加鎖 即事務(wù)在操作前要對(duì)它將使用的數(shù)據(jù)提出加鎖請(qǐng)求 第二個(gè)環(huán)節(jié)是獲得鎖 即當(dāng)條件成熟時(shí) 系統(tǒng)允許事務(wù)對(duì)數(shù)據(jù)加鎖 從而事務(wù)獲得數(shù)據(jù)的控制權(quán) 第三個(gè)環(huán)節(jié)是釋放鎖 即完成操作后事務(wù)放棄數(shù)據(jù)的控制權(quán) 29 1 鎖的類型 1 排它鎖 ExclusiveLocks 簡稱X鎖 排它鎖也稱為獨(dú)占鎖或?qū)戞i 一旦事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上排它鎖 X鎖 則只允許T讀取和修改A 其他任何事務(wù)既不能讀取和修改A 也不能再對(duì)A加任何類型的鎖 直到T釋放A上的鎖為止 2 共享鎖 ShareLocks 簡稱S鎖 共享鎖又稱讀鎖 如果事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上共享鎖 S鎖 其他事務(wù)只能再對(duì)A加S鎖 不能加X鎖 直到事務(wù)T釋放A上的S鎖為止 30 2 封鎖協(xié)議 1 一級(jí)封鎖協(xié)議 一級(jí)封鎖協(xié)議是事務(wù)T在修改數(shù)據(jù)之前必須先對(duì)其加X鎖 直到事務(wù)結(jié)束才釋放 2 二級(jí)封鎖協(xié)議 二級(jí)封鎖協(xié)議是 事務(wù)T對(duì)要修改數(shù)據(jù)必須先加X鎖 直到事務(wù)結(jié)束才釋放X鎖 對(duì)要讀取的數(shù)據(jù)必須先加S鎖 讀完后即可釋放S鎖 3 三級(jí)封鎖協(xié)議 三級(jí)封鎖協(xié)議是事務(wù)T在讀取數(shù)據(jù)之前必須先對(duì)其加S鎖 在要修改數(shù)據(jù)之前必須先對(duì)其加X鎖 直到事務(wù)結(jié)束后才釋放所有鎖 31 a 沒有丟失修改 b 可重復(fù)讀 c 不讀 臟 數(shù)據(jù) 32 用封鎖機(jī)制解決三種數(shù)據(jù)不一致性的例子 33 8 3 3封鎖出現(xiàn)的問題及解決方法 1 活鎖和死鎖 1 活鎖 在多個(gè)事務(wù)請(qǐng)求對(duì)同一數(shù)據(jù)封鎖時(shí) 總是使某一用戶等待的情況稱為活鎖 解決活鎖的方法是采用先來先服務(wù)的方法 即對(duì)要求封鎖數(shù)據(jù)的事務(wù)排隊(duì) 使前面的事務(wù)先獲得數(shù)據(jù)的封鎖權(quán) 2 死鎖 多事務(wù)交錯(cuò)等待的僵持局面稱為死鎖 解決死鎖有兩類方法 一是采用一定措施來預(yù)防死鎖的發(fā)生 二是采用一定手段定期診斷系統(tǒng)中有無死鎖 若有則解除之 防死鎖通常有兩種方法 1 一次封鎖法 要求每個(gè)事務(wù)必須一次將所有要使用的數(shù)據(jù)全部加鎖 否則該事務(wù)不能繼續(xù)執(zhí)行 2 順序封鎖法 預(yù)先對(duì)數(shù)據(jù)對(duì)象規(guī)定一個(gè)封鎖順序 所有事務(wù)都按這個(gè)順序?qū)嵭蟹怄i 34 2 并發(fā)調(diào)度的可串行性和3 兩段鎖協(xié)議 多個(gè)事務(wù)并發(fā)執(zhí)行的結(jié)果與按串行執(zhí)行的結(jié)果相同 這種調(diào)度策略稱為可串行化 Serializable 的調(diào)度 反之稱為不可串行化調(diào)度 兩段鎖協(xié)議1 在對(duì)任何數(shù)據(jù)進(jìn)行讀 寫操作之前 首先要申請(qǐng)并獲得對(duì)該數(shù)據(jù)的封鎖 2 在釋放一個(gè)封鎖之后 事務(wù)不再申請(qǐng)并獲得對(duì)該數(shù)據(jù)的封鎖 35 8 4數(shù)據(jù)庫恢復(fù)技術(shù)與SQLServer的數(shù)據(jù)恢復(fù)機(jī)制8 4 1故障的種類 1 事務(wù)內(nèi)部的故障事務(wù)內(nèi)部的故障有的是可以通過事務(wù)程序本身發(fā)現(xiàn)的 但是更多的則是非預(yù)期的 它們不能由事務(wù)處理程序處理 例如運(yùn)算溢出 并發(fā)事務(wù)發(fā)生死鎖而被選中撤消該事務(wù) 違反了某些完整性限制等 2 系統(tǒng)故障系統(tǒng)故障是指造成系統(tǒng)停止運(yùn)轉(zhuǎn)的任何事件 從而使得系統(tǒng)必須重新啟動(dòng) 3 介質(zhì)故障介質(zhì)故障指外存故障 例如磁盤損壞 磁頭碰撞 瞬時(shí)磁場干擾等 4 計(jì)算機(jī)病毒計(jì)算機(jī)病毒是一種人為的故障或破壞 5 用戶操作錯(cuò)誤由于用戶有意或無意的操作也可能刪除數(shù)據(jù)庫中的有用的數(shù)據(jù)或加入錯(cuò)誤的數(shù)據(jù) 這同樣會(huì)造成一些潛在的故障 36 8 4 2數(shù)據(jù)恢復(fù)的實(shí)現(xiàn)技術(shù) 1 數(shù)據(jù)轉(zhuǎn)儲(chǔ) 1 靜態(tài)轉(zhuǎn)儲(chǔ)和動(dòng)態(tài)轉(zhuǎn)儲(chǔ) 2 海量轉(zhuǎn)儲(chǔ)和增量轉(zhuǎn)儲(chǔ) 2 登記日志文件 Logging 1 日志文件的格式和內(nèi)容 日志文件是用來記錄對(duì)數(shù)據(jù)庫的更新操作的文件 2 日志文件的作用 日志文件的主要用于數(shù)據(jù)庫恢復(fù) 當(dāng)數(shù)據(jù)庫文件毀壞后 可重新裝入后援副本把數(shù)據(jù)庫恢復(fù)到轉(zhuǎn)儲(chǔ)結(jié)束時(shí)刻的正確狀態(tài) 再利用日志文件 把已完成的事務(wù)進(jìn)行重做處理 37 8 4 3SQLServer的數(shù)據(jù)備份和恢復(fù)機(jī)制 1 SQLServer的備份形式和操作方式 1 三種備份形式 1 完全備份 海量備份 將數(shù)據(jù)庫完全復(fù)制到備份文件中 2 事務(wù)日志備份 將備份發(fā)生在數(shù)據(jù)庫上的事務(wù) 3 增量備份 備份最近一次完全備份以后數(shù)據(jù)庫發(fā)生變化的數(shù)據(jù) 2 數(shù)據(jù)庫進(jìn)行備份和恢復(fù)操作的方式 1 靜態(tài)的備份和恢復(fù)方式 在進(jìn)行數(shù)據(jù)備份或恢復(fù)操作時(shí) SQL服務(wù)器不接受任何應(yīng)用程序的訪問請(qǐng)求 只執(zhí)行備份或恢復(fù)操作 2 動(dòng)態(tài)的備份和恢復(fù)方式 在進(jìn)行數(shù)據(jù)備份或恢復(fù)操作時(shí) SQL服務(wù)器同時(shí)接受應(yīng)用程序的訪問請(qǐng)求 38 2 SQLServer的數(shù)據(jù)備份或恢復(fù)策略 1 使用完全備份的策略 將最近一次的備份恢復(fù) 2 在完全備份基礎(chǔ)上使用事務(wù)日志備份的策略 備份步驟是 1 定期進(jìn)行完全備份 例如一天一次或兩天一次 2 更頻繁地
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人商鋪?zhàn)赓U合同標(biāo)準(zhǔn)版
- Unit 1 Festivals and Celebrations Reading and Thinking 教學(xué)設(shè)計(jì)-2024-2025學(xué)年高中英語人教版(2019)必修第三冊
- Unit 7 第4課時(shí) Section B (2a-4)2024-2025學(xué)年八年級(jí)英語上冊同步教學(xué)設(shè)計(jì)(人教版)河北專版
- 第三單元第一課三、《發(fā)布問卷》教學(xué)設(shè)計(jì) 2023-2024學(xué)年新世紀(jì)版(2018)初中信息技術(shù)七年級(jí)下冊
- 第1章三維設(shè)計(jì)基礎(chǔ)1.1初識(shí)三維設(shè)計(jì) -高中教學(xué)同步《信息技術(shù)人工-三維設(shè)計(jì)與創(chuàng)意》教學(xué)設(shè)計(jì)(人教-中圖版2019)
- 教科版高中信息技術(shù)選修2教學(xué)設(shè)計(jì)-4.4.3 數(shù)字視頻信息加工
- 11《宇宙生命之謎》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年統(tǒng)編版語文六年級(jí)上冊
- 2025年中國行政合同法律風(fēng)險(xiǎn)評(píng)估及應(yīng)對(duì)
- 2025年合作策劃經(jīng)營工廠合同書
- 2025年中小企業(yè)融資擔(dān)保貸款合同范文
- 邊坡抗滑樁計(jì)算
- 工程建筑部門周例會(huì)-課件
- 2022人臉識(shí)別安全白皮書
- 體育測量與評(píng)價(jià)04心肺功能的測量與評(píng)價(jià)
- 提高意識(shí)風(fēng)險(xiǎn)防范化解能力體會(huì)發(fā)言
- 無人機(jī)應(yīng)用案例-石油領(lǐng)域油氣管線巡查
- 2023年度危險(xiǎn)作業(yè)安全監(jiān)護(hù)手冊
- 青島版三年級(jí)下冊口算題大全(全冊完整)
- 固定翼飛機(jī)的結(jié)構(gòu)和飛行原理
- 內(nèi)蒙古鄂爾多斯杭錦經(jīng)濟(jì)開發(fā)區(qū)地質(zhì)災(zāi)害危險(xiǎn)性評(píng)估報(bào)告
- 馬克思主義哲學(xué)十講
評(píng)論
0/150
提交評(píng)論