出版時(shí)間:2012-8 出版社:中國(guó)鐵道出版社 作者:李愛(ài)武 頁(yè)數(shù):405 字?jǐn)?shù):616000
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書主要探討SQL Server
2008的底層原理,對(duì)每個(gè)結(jié)論都精心設(shè)計(jì)實(shí)驗(yàn)并給予實(shí)際驗(yàn)證,主要內(nèi)容包括:系統(tǒng)視圖與resource數(shù)據(jù)庫(kù)、堆表及索引數(shù)據(jù)存儲(chǔ)方式、空間管理數(shù)據(jù)頁(yè)、數(shù)據(jù)刪除或修改后的空間重用、數(shù)據(jù)頁(yè)I/O保護(hù)機(jī)制、重做Et志原理、執(zhí)行計(jì)劃的重用和重編譯、鎖的原理、游標(biāo)和備份原理。
本書適合數(shù)據(jù)庫(kù)管理員等有一定經(jīng)驗(yàn)的相關(guān)技術(shù)人員使用,同時(shí)也可作為大學(xué)計(jì)算機(jī)專業(yè)師生數(shù)據(jù)庫(kù)技術(shù)的參考用書。
書籍目錄
第1篇 體系結(jié)構(gòu)基礎(chǔ)
第1章 服務(wù)器體系結(jié)構(gòu)與配置
1.1 啟動(dòng)SQL Server服務(wù)器
1.1.1 使用net start命令啟動(dòng)
1.1.2 使用Windows服務(wù)管理器工具啟動(dòng)
1.2 客戶端工具
1.2.1 客戶端工具sqlcmd和SSMS比較
1.2.2 sqlcmd的使用方法
1.2.3 SQL Server Management Studio的使用方法
1.3 服務(wù)器體系結(jié)構(gòu)
1.4 內(nèi)存結(jié)構(gòu)
1.4.1 data cache
1.4.2 plan cache
1.4.3 Workspace緩存
1.5 lazywriter進(jìn)程、checkpoint進(jìn)程及worker線程
1.5.1 lazywriter進(jìn)程
1.5.2 checkpoint進(jìn)程
1.5.3 worker線程
1.6 數(shù)據(jù)庫(kù)及其構(gòu)成
1.6.1 系統(tǒng)數(shù)據(jù)庫(kù)
1.6.2 文件與文件組
1.7 服務(wù)器配置
1.7.1 顯示服務(wù)器配置信息
1.7.2 修改服務(wù)器配置參數(shù)
1.8 數(shù)據(jù)庫(kù)配置
1.8.1 顯示數(shù)據(jù)庫(kù)配置信息
1.8.2 修改數(shù)據(jù)庫(kù)配置信息
第2章 系統(tǒng)基表、系統(tǒng)視圖與resource數(shù)據(jù)庫(kù)
2.1 系統(tǒng)基表
2.1.1 查看所有系統(tǒng)基表
2.1.2 以DAC連接查看系統(tǒng)基表中的數(shù)據(jù)
2.1.3 連接APPLE服務(wù)器上默認(rèn)SQL Server實(shí)例
2.2 系統(tǒng)視圖及其分類
……
第2篇 堆青與索引數(shù)據(jù)存儲(chǔ)格式
第3篇 空間管理與數(shù)據(jù)校驗(yàn)
第4篇 重做日志原理
第5篇 執(zhí)行計(jì)劃重用與重編譯
第6篇 鎖的原理
第7篇 備份原理
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 這里未顯示處于非活動(dòng)狀態(tài)的重做記錄,并不是因?yàn)檫@些記錄被刪除。當(dāng)執(zhí)行delete操作刪除表中的記錄時(shí),在這些記錄所在的數(shù)據(jù)頁(yè)中,對(duì)應(yīng)被刪除記錄的槽中的偏移量數(shù)據(jù)會(huì)設(shè)置為0。而執(zhí)行checkpoint操作后,這些非活動(dòng)重做記錄所在日志段中的數(shù)據(jù)卻不會(huì)發(fā)生任何改變,也就是說(shuō),非活動(dòng)記錄并未刪除。 將數(shù)據(jù)庫(kù)設(shè)置為簡(jiǎn)單恢復(fù)模式,使用fn_dblog函數(shù)查詢重做數(shù)據(jù)信息時(shí),日志記錄從數(shù)據(jù)庫(kù)當(dāng)前的MinLSN開(kāi)始顯示,即只能顯示重做文件中的活動(dòng)部分。 假設(shè)執(zhí)行checkpoint操作得到MinLSN中的VLF序號(hào)為n,上次checkpoint操作的開(kāi)始LSN中的VLF序號(hào)為m,若n>m,則序號(hào)為n,n+1,…,m—1的VLF都不包含活動(dòng)日志記錄,這些VLF的狀態(tài)會(huì)被此次checkpoint操作設(shè)置為可重用。 12.2 實(shí)例恢復(fù)過(guò)程 對(duì)事務(wù)執(zhí)行commit操作會(huì)把內(nèi)存緩沖區(qū)中的重做數(shù)據(jù)寫入重做日志文件,并把commit操作作為單獨(dú)的日志記錄寫入重做日志文件,這些操作都完成即標(biāo)志著此事務(wù)提交操作成功執(zhí)行。commit操作并不會(huì)把事務(wù)修改的數(shù)據(jù)寫入磁盤的數(shù)據(jù)文件,也就是說(shuō),提交后的事務(wù),其修改的數(shù)據(jù)可能并未存入磁盤。 另外,由于內(nèi)存的壓力和checkpoint操作的執(zhí)行,SQL Server可能已經(jīng)把未結(jié)束事務(wù)修改過(guò)的部分?jǐn)?shù)據(jù)寫入磁盤。 在任何時(shí)刻,數(shù)據(jù)庫(kù)中的事務(wù)都會(huì)存在以下兩種狀態(tài)或其中一種: ?提交的事務(wù),其修改的數(shù)據(jù)尚未寫入磁盤。 ?未提交的事務(wù),其修改的數(shù)據(jù)已經(jīng)部分寫入磁盤。 如果SQL Server服務(wù)某個(gè)時(shí)刻出現(xiàn)故障,則下次啟動(dòng)時(shí),SQL Server要先解決事務(wù)的數(shù)據(jù)完整性問(wèn)題。首先執(zhí)行前滾操作,把數(shù)據(jù)庫(kù)的狀態(tài)恢復(fù)到數(shù)據(jù)庫(kù)出現(xiàn)故障的時(shí)刻,如果提交的事務(wù)所修改的數(shù)據(jù)未寫入磁盤,則應(yīng)通過(guò)應(yīng)用重做日志文件中的日志記錄并將其重新寫入磁盤,如果未提交的事務(wù)所修改的數(shù)據(jù)已寫入磁盤,則執(zhí)行undo操作將其從磁盤撤銷。這個(gè)過(guò)程稱為實(shí)例恢復(fù)。
編輯推薦
《SQL Server 2008數(shù)據(jù)庫(kù)技術(shù)內(nèi)幕》非常適合那些和筆者一樣困擾于底層原理,又喜歡研究、驗(yàn)證底層原理的讀者?!禨QL Server 2008數(shù)據(jù)庫(kù)技術(shù)內(nèi)幕》適合數(shù)據(jù)庫(kù)管理員等有一定經(jīng)驗(yàn)的相關(guān)技術(shù)人員使用,同時(shí)也可作為大學(xué)計(jì)算機(jī)專業(yè)師生數(shù)據(jù)庫(kù)技術(shù)的參考用書。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
SQL Server 2008數(shù)據(jù)庫(kù)技術(shù)內(nèi)幕 PDF格式下載