注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡數(shù)據(jù)庫SQL Sever深入淺出:SQL Server 2000系統(tǒng)管理與應用開發(fā)

深入淺出:SQL Server 2000系統(tǒng)管理與應用開發(fā)

深入淺出:SQL Server 2000系統(tǒng)管理與應用開發(fā)

定 價:¥75.00

作 者: 趙松濤著
出版社: 人民郵電出版社
叢編項:
標 簽: Sever

ISBN: 9787115142849 出版時間: 2006-01-01 包裝: 膠版紙
開本: 小16開 頁數(shù): 707 字數(shù):  

內(nèi)容簡介

  內(nèi)容簡介目錄內(nèi)容提要本書是作者多年從事SQL Server 2000數(shù)據(jù)庫系統(tǒng)管理、應用開發(fā)和教學培訓的經(jīng)驗總結。全書深入淺出地剖析了SQL Server 2000系統(tǒng)管理和應用開發(fā)的重點技術,突出了讀者容易忽略的,但又是管理和開發(fā)實踐中需要注意的重點,比如網(wǎng)絡和數(shù)據(jù)庫的結合、SQL Server 2000的體系結構、高效的SQL語句設計、優(yōu)化的索引設計、備份和恢復的實現(xiàn)機制、ADO的體系結構和報表的設計藝術等。相信讀者會有耳目一新的感覺。全書分為3個部分,共22章,內(nèi)容包括構建SQL Server 2000網(wǎng)絡、SQL Server 2000的體系結構、管理和配置服務器、管理和配置數(shù)據(jù)庫、DBCC命令、數(shù)據(jù)三套車、Transact-SQL、數(shù)據(jù)安全性、數(shù)據(jù)并發(fā)性、備份和恢復、性能監(jiān)控和優(yōu)化、基于ADO技術的VB數(shù)據(jù)庫項目開發(fā)等。本書內(nèi)容全面、思路流暢、實用性強,所有實例均經(jīng)過上機反復實踐;對常見的問題提出了解決方案,具有很強的指導性。本書適合SQL Server 2000數(shù)據(jù)庫管理人員、數(shù)據(jù)庫應用開發(fā)人員閱讀和參考,可作為管理SQL Server 2000數(shù)據(jù)庫的技術手冊、數(shù)據(jù)庫技術培訓教材以及參加SQL Server 2000認證考試的參考書。本書配套光盤包括各章標注的內(nèi)容以及17個多媒體實驗。 目 錄第一部分SQL Server 2000系統(tǒng)管理 第1章 構建SQL Server 2000網(wǎng)絡 31.1 本章導讀 31.2 初識計算機網(wǎng)絡 31.2.1 計算機網(wǎng)絡的定義 31.2.2 計算機網(wǎng)絡的發(fā)展歷程 41.2.3 計算機網(wǎng)絡的分類 51.2.4 計算機網(wǎng)絡的拓撲結構 51.2.5 網(wǎng)絡中的計算機通信的原理 61.2.6 TCP/IP 71.2.7 客戶機/服務器模式 91.2.8 端口 91.2.9 配置計算機的IP地址 101.2.10 查看計算機的端口使用情況 101.3 初識數(shù)據(jù)庫 111.3.1 數(shù)據(jù)庫系統(tǒng) 111.3.2 數(shù)據(jù)庫 111.3.3 數(shù)據(jù)庫管理系統(tǒng) 121.3.4 數(shù)據(jù)庫應用系統(tǒng) 121.3.5 數(shù)據(jù)庫系統(tǒng)相關人員 121.3.6 關系模型 121.3.7 關系型數(shù)據(jù)庫 131.3.8 關系型數(shù)據(jù)表的關聯(lián)關系 131.3.9 關系型數(shù)據(jù)的完整性 141.4 初識關系型網(wǎng)絡數(shù)據(jù)庫 161.4.1 關系型網(wǎng)絡數(shù)據(jù)庫的特點 161.4.2 關系型網(wǎng)絡數(shù)據(jù)庫的工作模式 161.5 初識SQL Server 2000 171.5.1 SQL Server 2000的產(chǎn)品版本 171.5.2 安裝環(huán)境需求 181.5.3 實例(Instance) 191.5.4 服務賬戶 191.5.5 身份驗證模式 201.5.6 客戶機許可模式 201.5.7 SQL Server 2000網(wǎng)絡采用的通信協(xié)議 211.6 構建SQL Server 2000服務器和客戶機 211.6.1 構建SQL Server 2000服務器 211.6.2 構建SQL Server 2000客戶機 251.7 實驗:遠程客戶機能否通過共享內(nèi)存訪問服務器 251.7.1 在服務器上配置共享內(nèi)存 261.7.2 在本地客戶機上配置共享內(nèi)存 281.7.3 在遠程客戶機上配置共享內(nèi)存 291.7.4 實驗結論 291.8 實驗:配置命名管道的SQL Server 2000網(wǎng)絡 291.8.1 在服務器上配置命名管道 301.8.2 在本地客戶機上配置命名管道 311.8.3 在遠程客戶機上配置命名管道 321.8.4 實驗結論 331.9 實驗:配置TCP/IP的SQL Server 2000網(wǎng)絡 331.9.1 在服務器上配置TCP/IP 331.9.2 在本地客戶機上配置TCP/IP 341.9.3 在遠程客戶機上配置TCP/IP 351.9.4 實驗結論 351.10 實驗:明明白白配置TCP/IP的端口 351.10.1 更改服務器的端口 351.10.2 客戶機上如何進行配置 361.10.3 什么是動態(tài)決定端口 361.10.4 實驗結論 371.11 實驗:配置多協(xié)議的SQL Server 2000網(wǎng)絡 381.11.1 在服務器上配置多協(xié)議 381.11.2 在本地客戶機上配置多協(xié)議 391.11.3 在遠程客戶機上配置多協(xié)議 391.11.4 實驗結論 391.12 實驗:Winsock代理設置的含義 401.12.1 什么是代理服務 401.12.2 什么是Winsock代理 411.12.3 在服務器上設置Winsock代理 411.12.4 在客戶機上配置Winsock代理 421.12.5 實驗結論 421.13 實驗:為什么強制協(xié)議加密導致服務器無法啟動 421.13.1 在服務器上配置強制協(xié)議加密 431.13.2 實驗結論 431.14 疑難解析 441.14.1 Windows XP上可以安裝什么SQL Server 2000版本 441.14.2 Windows 2003上如何安裝SQL Server 2000企業(yè)版 441.14.3 啟動提示"1069錯誤(由于登錄失敗而無法啟動服務)"如何解決 441.14.4 服務器的1433端口沒有啟動如何解決 451.14.5 如何下載SQL Server 2000的SP3 451.14.6 如何遠程管理Internet上的SQL Server 2000服務器 451.14.7 如何卸載SQL Server 2000 461.14.8 排除SQL Server 2000網(wǎng)絡連接故障 461.14.9 排除SQL Server 2000連接超時故障 471.14.10 什么是數(shù)據(jù)字典 471.14.11 DBA都有什么職責 471.14.12 DBA日常如何工作 481.14.13 什么是數(shù)據(jù)庫的模型 491.14.14 什么是IPC機制 501.14.15 什么是網(wǎng)絡庫(Net-Library) 501.14.16 什么是關系型數(shù)據(jù)庫的范式 501.15 本章小結 511.16 實踐題目 51第2章 SQL Server 2000的體系結構 532.1 本章導讀 532.2 SQL Server 2000網(wǎng)絡結構 532.2.1 SQL Server 2000的C/S模式 542.2.2 客戶機的結構 542.2.3 服務器的結構 552.3 SQL Server 2000服務器的引擎結構 572.3.1 SQL Server 2000引擎工作流程 572.3.2 SQL Server 2000引擎的設計 592.4 SQL Server 2000服務器的內(nèi)存結構 612.4.1 為什么要設計內(nèi)存 612.4.2 如何為SQL Server 2000服務器分配內(nèi)存 612.4.3 SQL Server 2000服務器內(nèi)存有什么內(nèi)容 622.4.4 如何快速訪問SQL Server 2000服務器內(nèi)存 622.4.5 如何替換SQL Server 2000服務器內(nèi)存頁面 632.4.6 SQL Server 2000服務器日志緩沖池如何管理 632.5 SQL Server 2000服務器的存儲結構 642.5.1 SQL Server 2000服務器的物理文件 642.5.2 頁面(Page):SQL Server 2000數(shù)據(jù)文件的存儲單位 642.5.3 頁面是如何存儲數(shù)據(jù)的 652.5.4 DBCC PAGE:如何查看頁面的數(shù)據(jù) 652.5.5 如何查詢數(shù)據(jù)庫的ID和名稱 662.5.6 如何查詢數(shù)據(jù)文件的ID和名稱 672.5.7 一個查詢數(shù)據(jù)頁面信息的實例 672.5.8 內(nèi)存是如何管理數(shù)據(jù)頁面的 712.5.9 頁頭:物理頁面是如何管理的 712.5.10 如何查詢ID所屬的數(shù)據(jù)對象 722.5.11 槽(Slot):數(shù)據(jù)記錄(行)在數(shù)據(jù)頁面中如何存儲 732.5.12 盤區(qū)(Extent):SQL Server 2000是如何分配存儲空間的 742.5.13 如何提高盤區(qū)的空間利用率 742.5.14 GAM:SQL Server 2000的盤區(qū)是如何管理的 752.5.15 SGAM:SQL Server 2000的混合盤區(qū)是如何管理的 762.5.16 SQL Server 2000如何為數(shù)據(jù)對象分配盤區(qū) 772.5.17 數(shù)據(jù)文件的頁面結構是怎樣的 772.5.18 如何查詢數(shù)據(jù)文件的頁面數(shù) 782.5.19 如何查詢數(shù)據(jù)庫的頁面數(shù) 782.5.20 如何查詢數(shù)據(jù)庫的盤區(qū)數(shù) 782.5.21 如何查詢數(shù)據(jù)對象的盤區(qū)數(shù) 792.5.22 LOB數(shù)據(jù)是如何存儲的 802.5.23 如何將小的LOB數(shù)據(jù)保存在數(shù)據(jù)頁面內(nèi) 802.5.24 日志文件的存儲空間是如何管理的 812.6 SQL Server 2000服務器的進程結構 812.6.1 什么是SQL Server 2000進程 812.6.2 什么是SQL Server 2000線程 812.6.3 什么是SQL Server 2000纖程 822.6.4 SQL語句是怎樣使用CPU資源的 822.6.5 線程或者纖程分配越多效率就越高嗎 832.6.6 什么是線程或者纖程的執(zhí)行優(yōu)先級 832.7 實驗:SQL Server 2000如何管理表 832.7.1 創(chuàng)建測試用數(shù)據(jù)表 832.7.2 分析日志內(nèi)容 842.7.3 驗證系統(tǒng)表中產(chǎn)生的信息 872.7.4 實驗結論 882.8 實驗:對數(shù)據(jù)頁面存儲參數(shù)的深入研究 892.8.1 pminlen參數(shù)的含義 892.8.2 m_freecnt參數(shù)的含義 902.8.3 數(shù)據(jù)頁面空間是如何分配的 902.9 實驗:揭秘定長記錄(行)的存儲空間 912.9.1 向定長數(shù)據(jù)表中錄入數(shù)據(jù) 912.9.2 用DBCC PAGE查看定長記錄的存儲 942.9.3 數(shù)據(jù)頁面的空間分配 952.9.4 總結定長行存儲空間的計算方法 952.10 實驗:揭秘變長記錄(行)的存儲空間 962.10.1 向變長數(shù)據(jù)表中錄入數(shù)據(jù) 962.10.2 用DBCC PAGE查看變長記錄的存儲空間 982.10.3 數(shù)據(jù)頁面的空間分配 992.10.4 總結變長行存儲空間的計算方法 992.10.5 總結計算表行存儲空間的方法 1002.11 實驗:為什么包含LOB類型的記錄可以跨越頁面 1002.11.1 LOB對象記錄的存儲機制 1012.11.2 研究LOB類型的表的存儲 1022.11.3 實驗結論 1042.12 實驗:將LOB數(shù)據(jù)和普通數(shù)據(jù)存儲在同一個頁面 1052.12.1 將LOB數(shù)據(jù)和普通數(shù)據(jù)存儲在同一頁面 1052.12.2 將LOB數(shù)據(jù)和普通數(shù)據(jù)分開存儲 1062.13 實驗:NULL值是否占用存儲空間 1062.13.1 定長和變長字段都取NULL值 1072.13.2 定長字段取NULL值、變長字段取NOT NULL值 1082.13.3 定長字段取NOT NULL值、變長字段取NULL值 1092.13.4 定長和變長字段都取NOT NULL值 1102.13.5 實驗結論 1112.14 疑難解析 1112.14.1 為什么頁面可以存儲的數(shù)據(jù)容量參數(shù)不一致 1112.14.2 能不能將特定的數(shù)據(jù)始終保留在內(nèi)存中 1112.14.3 最多可以為SQL Server 2000分配多少內(nèi)存 1112.14.4 如何判斷SQL Server 2000內(nèi)存夠不夠用 1112.14.5 什么是Read Ahead(先讀) 1122.14.6 什么是旋轉(zhuǎn)木馬掃描(Merry-Go-Round Scan) 1122.14.7 同步VS.異步:數(shù)據(jù)和日志文件的寫機制區(qū)別 1132.14.8 什么時機使用纖程 1132.14.9 線程數(shù)和連接數(shù)有無關系 1142.14.10 什么是零散收集I/O 1142.14.11 什么是異步I/O 1142.14.12 什么是TDS 1142.14.13 什么是Latch 1152.15 本章小結 1152.16 實踐題目 115第3章 管理和配置服務器 1183.1 本章導讀 1183.2 服務器的管理和配置工具 1183.2.1 MMC和企業(yè)管理器是什么關系 1193.2.2 如何配置企業(yè)管理器 1193.2.3 為什么查詢分析器查詢的對象名無效 1213.2.4 查詢分析器顯示的執(zhí)行計劃有什么意義 1223.2.5 查詢分析器顯示的服務器跟蹤有什么意義 1233.2.6 查詢分析器顯示的客戶統(tǒng)計有什么意義 1233.2.7 什么是查詢分析器的模板(Template) 1243.3 服務器組 1253.3.1 什么是服務器組 1253.3.2 什么是基于服務器組的管理結構 1253.4 注冊服務器 1253.4.1 什么是服務器的注冊 1253.4.2 什么情況下需要注冊服務器 1263.4.3 怎樣注冊一個服務器 1263.5 暫停、啟動和關閉服務器 1273.5.1 什么時機需要暫停服務器 1283.5.2 如何暫停服務器 1283.5.3 如何關閉服務器 1283.5.4 關閉和暫停服務器有什么區(qū)別 1293.5.5 如何啟動服務器 1293.5.6 在企業(yè)管理器中管理服務器 1303.6 配置服務器 1303.6.1 怎樣查看服務器的環(huán)境信息 1303.6.2 什么是服務器的排序規(guī)則 1313.6.3 哪些服務可以自動啟動 1313.6.4 什么是服務器的錯誤報告功能 1323.6.5 如何配置使用動態(tài)內(nèi)存的服務器 1323.6.6 如何配置一個使用固定內(nèi)存的服務器 1333.6.7 SQL Server 2000服務器可以使用哪些CPU 1333.6.8 如何設置CPU的最大線程數(shù) 1333.6.9 是否提升SQL Server 2000線程的優(yōu)先級 1343.6.10 使用線程還是纖程 1343.6.11 是否啟用多CPU做并行查詢 1343.6.12 如何更改服務器的身份驗證方式 1343.6.13 如何對服務器進行審核 1353.6.14 如何查看服務器的審核信息 1353.6.15 誰可以啟動服務器 1363.6.16 如何限制并發(fā)連接的用戶數(shù) 1373.6.17 如何在服務器之間執(zhí)行分布式事務 1373.6.18 什么是用戶的默認語言 1383.6.19 如何控制服務器的行為 1383.6.20 服務器如何解釋兩位數(shù)年份 1393.6.21 什么是索引填充因子 1393.6.22 如何設置磁帶備份和還原參數(shù) 1413.6.23 什么是恢復間隔 1413.6.24 創(chuàng)建數(shù)據(jù)庫的文件存放在哪里 1423.6.25 如何查詢服務器的當前配置參數(shù) 1423.6.26 如何查詢服務器的當前運行參數(shù) 1423.7 多服務器環(huán)境的管理和配置 1433.7.1 創(chuàng)建和使用鏈接服務器 1433.7.2 創(chuàng)建和使用遠程服務器 1453.8 疑難解析 1463.8.1 注冊名為Local如何處理 1463.8.2 如何設置服務器的內(nèi)存大小 1463.8.3 為什么服務器占用內(nèi)存太多 1463.8.4 什么是服務器的錯誤日志 1473.9 本章小結 1473.10 實踐題目 148第4章 管理和配置數(shù)據(jù)庫 1494.1 本章導讀 1494.2 默認的4個系統(tǒng)數(shù)據(jù)庫 1504.2.1 master數(shù)據(jù)庫有什么作用 1504.2.2 model數(shù)據(jù)庫有什么作用 1504.2.3 msdb數(shù)據(jù)庫有什么作用 1504.2.4 tempdb數(shù)據(jù)庫有什么作用 1504.2.5 4個系統(tǒng)數(shù)據(jù)庫是如何啟動的 1514.3 創(chuàng)建用戶數(shù)據(jù)庫 1524.3.1 誰可以創(chuàng)建用戶數(shù)據(jù)庫 1524.3.2 如何命名用戶數(shù)據(jù)庫 1524.3.3 創(chuàng)建用戶數(shù)據(jù)庫會產(chǎn)生哪些操作系統(tǒng)文件 1524.3.4 為什么要評估數(shù)據(jù)文件的初始大小 1534.3.5 粗略評估數(shù)據(jù)文件初始大小的案例 1534.3.6 創(chuàng)建用戶數(shù)據(jù)庫的案例 1534.4 配置用戶數(shù)據(jù)庫 1554.4.1 數(shù)據(jù)庫工作在什么狀態(tài) 1554.4.2 數(shù)據(jù)庫當前空間利用率是多少 1564.4.3 怎樣添加次要數(shù)據(jù)文件 1564.4.4 數(shù)據(jù)文件之間怎樣存儲數(shù)據(jù) 1564.4.5 怎樣添加多個日志文件 1574.4.6 日志文件之間怎樣存儲數(shù)據(jù) 1574.4.7 什么是文件組 1584.4.8 什么是默認的文件組 1584.4.9 如何使用文件組 1584.4.10 如何創(chuàng)建文件組 1594.4.11 如何限制用戶對數(shù)據(jù)庫的訪問 1594.4.12 什么是數(shù)據(jù)庫的單用戶模式 1604.4.13 如何選擇數(shù)據(jù)庫的故障還原模型(恢復模型) 1604.4.14 選項設置參數(shù)有什么含義 1614.4.15 什么是數(shù)據(jù)庫的兼容性 1624.4.16 如何設置用戶訪問數(shù)據(jù)庫的權限 1624.5 分離和附加用戶數(shù)據(jù)庫 1634.5.1 如何分離數(shù)據(jù)庫 1634.5.2 如何附加數(shù)據(jù)庫 1634.6 脫機和聯(lián)機用戶數(shù)據(jù)庫 1644.6.1 如何脫機數(shù)據(jù)庫 1644.6.2 如何聯(lián)機數(shù)據(jù)庫 1654.7 維護用戶數(shù)據(jù)庫 1654.7.1 什么是數(shù)據(jù)庫的維護計劃 1654.7.2 創(chuàng)建數(shù)據(jù)庫維護計劃 1654.8 收縮用戶數(shù)據(jù)庫 1684.8.1 為什么要收縮數(shù)據(jù)庫 1684.8.2 什么是自動收縮和手動收縮 1694.8.3 收縮數(shù)據(jù)文件和日志文件有什么不同 1694.8.4 收縮操作是如何執(zhí)行的 1694.8.5 收縮數(shù)據(jù)庫的案例 1694.9 刪除用戶數(shù)據(jù)庫 1704.10 實驗:tempdb數(shù)據(jù)庫的數(shù)據(jù)存放在內(nèi)存還是硬盤上 1714.11 實驗:數(shù)據(jù)文件組的比例填充寫機制 1734.11.1 測試比例填充寫機制的方法 1734.11.2 研究數(shù)據(jù)頁面分配方法 1744.12 實驗:日志文件的循環(huán)寫機制 1764.13 疑難解析 1764.13.1 文件必須按照指定的擴展名命名嗎 1764.13.2 能不能重新命名數(shù)據(jù)庫 1774.13.3 如何刪除數(shù)據(jù)文件 1774.13.4 如何刪除日志文件 1784.13.5 為什么分區(qū)上無法創(chuàng)建文件 1784.13.6 如何查看數(shù)據(jù)庫空間使用情況 1784.13.7 如何使用tempdb數(shù)據(jù)庫 1784.13.8 為什么恢復Master數(shù)據(jù)庫提示必須單用戶模式 1794.13.9 Tempdb數(shù)據(jù)庫可以恢復嗎 1794.13.10 如何在Tempdb數(shù)據(jù)庫中創(chuàng)建臨時表 1794.13.11 在企業(yè)管理器中看不到Tempdb數(shù)據(jù)庫的臨時表 1794.13.12 為什么對Tempdb數(shù)據(jù)庫的操作執(zhí)行較快 1804.13.13 如何更改Tempdb數(shù)據(jù)庫文件的存儲路徑 1804.14 本章小結 1814.15 實踐題目 181第5章 DBCC命令 1825.1 本章導讀 1825.2 DBCC幫助類命令 1835.2.1 DBCC HELP (‘?‘) 1835.2.2 DBCC HELP (‘命令‘) 1835.2.3 DBCC USEROPTIONS 1835.3 DBCC狀態(tài)驗證類命令 1835.3.1 DBCC CHECKALLOC 1835.3.2 DBCC CHECKCATALOG 1845.3.3 DBCC CHECKCONSTRINTS 1855.3.4 DBCC CHECKDB 1855.3.5 DBCC CHECKFILEGROUP 1865.3.6 DBCC CHECKTABLE 1875.3.7 DBCC CHECKIDENT 1885.4 DBCC維護類命令 1885.4.1 DBCC CLEANTABLE 1885.4.2 DBCC DBREINDEX 1895.4.3 DBCC UPDATEUSAGE 1905.4.4 DBCC INDEXDEFRAG 1915.4.5 DBCC PINTABLE 1925.4.6 DBCC UNPINTABLE 1935.4.7 DBCC SHRINKDATABASE 1935.4.8 DBCC SHRINKFILE 1955.5 DBCC性能調(diào)節(jié)類命令 1975.5.1 DBCC dllname(FREE) 1975.5.2 DBCC DROPCLEANBUFFERS 1975.5.3 DBCC FREEPROCCACHE 1985.5.4 DBCC INPUTBUFFER 1985.5.5 DBCC OPENTRAN 1995.5.6 DBCC OUTPUTBUFFER 1995.5.7 DBCC SHOW_STATISTICS 2005.5.8 DBCC SHOWCONTIG 2005.5.9 DBCC SQLPERF 2015.5.10 DBCC CACHESTATS 2045.5.11 DBCC CURSORSTATS 2055.5.12 DBCC MEMORYSTATS 2055.5.13 DBCC SQLMGRSTATS 2065.6 DBCC未公開的命令 2065.6.1 DBCC ERRLOG 2065.6.2 DBCC FLUSHPROCINDB 2075.6.3 DBCC BUFFER 2075.6.4 DBCC DBINFO 2075.6.5 DBCC DBTABLE 2085.6.6 DBCC IND 2085.6.7 DBCC LOG 2085.6.8 DBCC PROCBUF 2095.6.9 DBCC PRTIPAGE 2105.6.10 DBCC PSS 2105.6.11 DBCC RESOURCE 2115.6.12 DBCC TAB 2115.7 DBCC跟蹤標記 2125.7.1 什么是跟蹤標記 2125.7.2 DBCC TRACEON 2125.7.3 DBCC TRACEOFF 2125.7.4 DBCC TRACESTATUS 212第6章 數(shù)據(jù)三套車:表、索引和視圖 2136.1 本章導讀 2136.2 數(shù)據(jù)類型:SQL Server 2000如何表示數(shù)據(jù) 2136.2.1 SQL Server 2000的基本數(shù)據(jù)類型 2136.2.2 使用整數(shù)型數(shù)據(jù)類型需要注意什么 2146.2.3 使用貨幣數(shù)據(jù)類型需要注意什么 2156.2.4 如何錄入貨幣數(shù)據(jù)類型的數(shù)據(jù) 2156.2.5 使用精確數(shù)字數(shù)據(jù)類型需要注意什么 2156.2.6 使用浮點數(shù)字數(shù)據(jù)類型需要注意什么 2166.2.7 使用日期/時間數(shù)字數(shù)據(jù)類型需要注意什么 2166.2.8 如何指定日期/時間數(shù)據(jù)類型的格式 2166.2.9 使用字符型數(shù)據(jù)類型時需要注意什么 2176.2.10 使用Unicode字符型數(shù)據(jù)類型時需要注意什么 2176.2.11 使用二進制數(shù)據(jù)類型時需要注意什么 2176.2.12 如何創(chuàng)建用戶定義的數(shù)據(jù)類型 2186.3 表 2196.3.1 SQL Server 2000表的分類 2196.3.2 如何設計表 2196.3.3 設計表結構時為什么要避免NULL值 2206.3.4 如何選擇主碼列 2206.3.5 什么是IDENTITY(標識符)列 2206.3.6 什么是GUID(全局惟一標識符)列 2216.3.7 創(chuàng)建表 2216.3.8 修改表結構 2236.3.9 刪除表 2256.3.10 SQL Server 2000如何管理表 2256.3.11 表的數(shù)據(jù)存儲在哪個數(shù)據(jù)頁面 2286.3.12 文本和圖像數(shù)據(jù)是如何存儲的 2296.3.13 如何計算表需要的存儲空間 2316.4 索引 2326.4.1 表掃描還是索引掃描:SQL Server 2000如何訪問數(shù)據(jù) 2326.4.2 索引對數(shù)據(jù)庫是不是必須的 2326.4.3 索引的原理 2336.4.4 從堆到B+樹:索引文件結構的變遷 2336.4.5 SQL Server 2000的索引類型 2346.4.6 時間VS.空間:選擇稠密索引還是稀疏索引 2356.4.7 探究聚集索引的奧秘 2366.4.8 行定位器:探究非聚集索引的奧秘 2436.4.9 IAM頁面:探究堆集的奧秘 2446.4.10 什么是頁的分裂 2456.4.11 索引填充因子:避免頁分裂的重要參數(shù) 2466.4.12 如何估計B+樹索引的大小 2466.4.13 如何查看索引的實際大小 2476.4.14 在【企業(yè)管理器】中如何創(chuàng)建索引 2496.4.15 用Transact-SQL語句如何創(chuàng)建索引 2506.4.16 DBCC IND:如何查看索引分配的頁面 2516.4.17 DBCC SHOWCONTIG:如何檢測索引的碎片 2526.4.18 DBCC INDEXDEFRAG:如何整理索引的碎片 2546.4.19 選擇性和密度:選擇索引的奧秘 2556.4.20 統(tǒng)計信息:影響索引性能的因素 2566.4.21 用索引優(yōu)化向?qū)гO計索引 2576.4.22 不是每個索引都有美好結局:總結創(chuàng)建索引的經(jīng)驗 2596.5 視圖 2606.5.1 視圖是什么 2606.5.2 為什么要使用視圖 2606.5.3 SQL Server 2000中創(chuàng)建視圖的規(guī)則 2616.5.4 創(chuàng)建視圖 2616.5.5 通過視圖操作表的數(shù)據(jù) 2626.6 疑難解析 2636.6.1 為什么非聚集索引適合返回少數(shù)值的查詢 2636.6.2 為什么聚集索引適合范圍查詢 2646.6.3 SQL Server 2000中表的規(guī)格參數(shù) 2646.6.4 索引是否只對SELECT語句起作用 2646.6.5 視圖上能不能建立索引 2656.6.6 如何創(chuàng)建覆蓋索引 2656.6.7 什么是數(shù)據(jù)熱點 2656.6.8 創(chuàng)建的聚集索引如何避免產(chǎn)生數(shù)據(jù)熱點 2656.6.9 如何選擇建立聚集索引的列 2666.6.10 如何設計聚集索引和非聚集索引 2666.6.11 如何設計索引的填充因子 2666.6.12 什么是表變量 2676.6.13 表變量VS.臨時表 2676.6.14 視圖到底有沒有自己的數(shù)據(jù) 2686.7 本章小結 2686.8 實踐題目 268第7章 功能VS.效率:SQL詳解 2707.1 本章導讀 2707.2 SQL基礎 2707.2.1 SQL的特點 2707.2.2 SQL的組成 2727.2.3 SQL中如何表示數(shù)據(jù)對象 2737.3 用SQL定義數(shù)據(jù) 2737.3.1 Create Database:創(chuàng)建數(shù)據(jù)庫 2747.3.2 Alter Database:修改數(shù)據(jù)庫 2747.3.3 Drop Database:刪除數(shù)據(jù)庫 2757.3.4 Create Table:創(chuàng)建表 2757.3.5 Alter Table:修改表 2777.3.6 Drop Table:刪除表 2777.4 用SQL查詢單表數(shù)據(jù) 2777.4.1 創(chuàng)建實例數(shù)據(jù)庫 2777.4.2 查詢所有記錄 2807.4.3 查詢指定字段的記錄 2807.4.4 查詢中過濾相同的記錄 2817.4.5 帶表達式的查詢 2817.4.6 顯示列名的帶表達式的查詢 2817.4.7 指定查詢路徑的查詢 2817.4.8 指定查詢結果的查詢 2817.4.9 更改列標題顯示的查詢 2827.4.10 【W(wǎng)here】條件查詢 2827.4.11 組合條件查詢 2847.4.12 用Order By對查詢結果排序 2847.4.13 用Group By對查詢結果分組 2857.4.14 用Having對查詢結果篩選 2857.4.15 用Compute對查詢結果匯總 2867.4.16 用Compute By對查詢結果分類匯總 2867.4.17 用Into存儲查詢結果 2877.5 用SQL查詢多表數(shù)據(jù)(連接查詢) 2877.5.1 連接查詢的語法結構 2877.5.2 連接查詢的分類 2887.5.3 笛卡爾積連接 2887.5.4 等值連接 2887.5.5 自然連接 2897.5.6 非等值連接 2897.5.7 自身連接 2897.5.8 內(nèi)連接 2897.5.9 外連接 2907.5.10 復合連接 2917.6 用SQL進行函數(shù)查詢 2927.6.1 聚合函數(shù) 2927.6.2 日期和時間函數(shù) 2937.6.3 數(shù)學函數(shù) 2967.6.4 字符串函數(shù) 2987.7 用SQL進行嵌套查詢 3017.7.1 什么是嵌套查詢 3017.7.2 什么是子查詢 3017.7.3 簡單嵌套查詢 3027.7.4 帶in的嵌套查詢 3027.7.5 帶not in的嵌套查詢 3037.7.6 帶some的嵌套查詢 3037.7.7 帶any的嵌套查詢 3047.7.8 帶all的嵌套查詢 3057.7.9 帶exists的嵌套查詢 3057.8 用SQL操縱數(shù)據(jù) 3067.8.1 Insert:數(shù)據(jù)錄入 3067.8.2 Update:數(shù)據(jù)修改 3067.8.3 Delete:數(shù)據(jù)刪除 3077.9 設計高效的SQL語句 3077.9.1 SQL語句是怎樣被執(zhí)行的 3077.9.2 SQL語句是怎樣被優(yōu)化的 3087.9.3 SET STATISTICS IO:查詢SQL語句的讀寫代價 3087.9.4 SET STATISTICS TIME:查詢SQL語句的執(zhí)行時間 3107.9.5 SET SHOWPLAN_TEXT ON :查詢SQL語句的執(zhí)行計劃 3117.9.6 SET NOCOUNT ON:減少SQL語句的網(wǎng)絡流量 3117.9.7 編程查詢單條SQL語句的執(zhí)行時間 3127.9.8 編程查詢成批的SQL語句的執(zhí)行時間 3137.9.9 SET SHOWPLAN_ALL:詳解SQL語句的執(zhí)行計劃 3137.9.10 SEEK VS.SCAN:從執(zhí)行計劃判斷是否需要優(yōu)化SQL 3157.9.11 連接VS.子查詢:一樣的結果、不一樣的效率 3167.9.12 SQL優(yōu)化與數(shù)據(jù)庫性能的關系 3177.9.13 人工優(yōu)化VS.智能優(yōu)化:SQL優(yōu)化技術的發(fā)展 3187.9.14 用SQL Expert設計優(yōu)化的SQL語句 3187.10 疑難解析 3217.10.1 在SQL語句中如何轉(zhuǎn)換數(shù)據(jù)類型 3217.10.2 設計SQL語句的經(jīng)驗 3217.11 本章小結 3227.12 實踐題目 322第8章 數(shù)據(jù)完整性:約束、規(guī)則和默認 3238.1 本章導讀 3238.2 SQL Server 2000的數(shù)據(jù)完整性機制 3238.2.1 什么是數(shù)據(jù)完整性 3238.2.2 SQL Server 2000的數(shù)據(jù)完整性機制 3248.2.3 SQL Server 2000的約束(CONSTRAINT) 3248.2.4 SQL Server 2000的規(guī)則(RULE) 3258.2.5 SQL Server 2000的默認(DEFAULT) 3258.3 創(chuàng)建約束 3268.3.1 創(chuàng)建NOT NULL約束 3268.3.2 創(chuàng)建PRIMARY KEY約束 3268.3.3 創(chuàng)建FOREIGN KEY約束 3278.3.4 創(chuàng)建UNIQUE約束 3288.3.5 創(chuàng)建CHECK約束 3288.4 創(chuàng)建規(guī)則 3298.4.1 在【企業(yè)管理器】中創(chuàng)建規(guī)則 3298.4.2 將規(guī)則綁定到列 3298.5 創(chuàng)建默認 3308.5.1 在【企業(yè)管理器】中創(chuàng)建默認 3308.5.2 將默認綁定到列 3318.6 疑難解析 3318.6.1 創(chuàng)建UNIQUE約束的注意事項 3318.6.2 創(chuàng)建CHECK約束的注意事項 3328.7 本章小結 3328.8 實踐題目 332第9章 數(shù)據(jù)安全性:角色、用戶和權限 3349.1 本章導讀 3349.2 SQL Server 2000的數(shù)據(jù)安全性機制 3349.2.1 SQL Server 2000的數(shù)據(jù)安全性機制 3349.2.2 SQL Server 2000的身份驗證機制 3359.2.3 SQL Server 2000的角色機制 3369.2.4 SQL Server 2000的權限(許可)機制 3379.3 管理服務器角色 3389.3.1 管理角色 3389.3.2 創(chuàng)建數(shù)據(jù)庫角色 3399.4 管理用戶賬戶(登錄) 3419.4.1 創(chuàng)建登錄 3419.4.2 管理登錄的權限 3429.5 審核用戶活動(AUDIT) 3429.5.1 啟動服務器的審核功能 3439.5.2 利用【事件探查器】進行審核 3439.6 疑難解析 3469.6.1 賬戶和密碼保存在哪里 3469.6.2 如何選擇身份驗證機制 3469.6.3 應用程序角色和標準角色有什么區(qū)別 3469.6.4 什么時機使用應用程序角色 3479.6.5 為什么【企業(yè)管理器】中無法添加Windows用戶組 3479.6.6 如何設計SQL Server 2000服務器的安全體系 3479.6.7 如何使用sa賬戶 3479.6.8 什么是dbo用戶 3479.6.9 什么是數(shù)據(jù)庫對象所有者 3489.7 本章小結 348第10章 數(shù)據(jù)并發(fā)性:事務和鎖 34910.1 本章導讀 34910.2 SQL Server 2000的事務機制 34910.2.1 SQL Server 2000的并發(fā)問題 34910.2.2 什么是事務(Transaction) 35110.2.3 事務的狀態(tài) 35210.2.4 SQL Server 2000事務模式 35310.2.5 SQL Server 2000事務控制語句 35410.2.6 SQL Server 2000的平面事務 35410.2.7 SQL Server 2000的嵌套事務 35410.2.8 SQL Server 2000的分布式事務 35610.2.9 效率VS.一致性:事務的調(diào)度機制 35810.2.10 一致性VS.并發(fā)性:事務的隔離性級別 35810.2.11 什么是SQL Server 2000批 35910.2.12 事務中不能使用的Transact-SQL語句 35910.3 SQL Server 2000的鎖機制 35910.3.1 并發(fā)問題解決機制 35910.3.2 鎖:預先預防沖突的悲觀并發(fā)控制機制 36010.3.3 SQL Server 2000鎖的粒度 36110.3.4 SQL Server 2000鎖的類型(模式) 36110.3.5 鎖持有度 36310.3.6 鎖擁有者 36310.3.7 查詢鎖信息 36310.3.8 鎖的兼容性 36510.3.9 SQL Server 2000的動態(tài)鎖機制 36510.3.10 在【企業(yè)管理器】中查看鎖 36610.3.11 死鎖的檢測和預防 36610.3.12 SQL Server 2000的死鎖檢測和結束機制 36710.3.13 用【事件探查器】檢測死鎖 36810.4 SQL Server 2000的事務編程 36810.4.1 設置和關閉隱性事務模式 36810.4.2 定義本地事務 37010.4.3 提交事務 37110.4.4 回滾事務 37210.4.5 利用保存點保存本地事務 37310.4.6 設置事務的隔離性級別 37310.5 疑難解析 37410.5.1 本地事務什么時機會升級為分布式事務 37410.5.2 編寫前臺應用程序時如何使用事務 37410.5.3 在利用ADO編寫前臺應用程序時如何使用事務 37510.5.4 編寫前臺應用程序時如何使用隱性事務 37510.5.5 編寫前臺應用程序事務的原則 37610.5.6 Log Explorer:明明白白學日志的工具 37710.5.7 Select語句會不會產(chǎn)生日志 37910.5.8 Insert語句產(chǎn)生了什么事務日志 37910.5.9 Update語句產(chǎn)生了什么事務日志 38010.5.10 Delete語句產(chǎn)生了什么事務 38110.6 本章小結 381第11章 數(shù)據(jù)庫備份和恢復 38311.1 本章導讀 38311.2 基于日志的數(shù)據(jù)庫恢復機制 38411.2.1 日志對數(shù)據(jù)庫是必須的嗎 38411.2.2 日志的作用 38411.2.3 SQL Server 2000日志的特點 38511.2.4 日志記錄:日志文件的內(nèi)容單位 38511.2.5 UndoVS.Redo:基于日志的數(shù)據(jù)庫恢復機制 38511.2.6 LSN:維系數(shù)據(jù)和日志的紐帶 38611.2.7 WAL:先寫日志的恢復機制 38811.3 SQL Server 2000的常見故障和恢復機制 39011.3.1 Undo:事務故障及其恢復機制 39011.3.2 Undo+Redo:系統(tǒng)故障及其恢復機制 39111.3.3 Redo:介質(zhì)故障及其恢復機制 39111.4 SQL Server 2000的日志檢查點機制 39211.4.1 檢查點:日志的驛站 39211.4.2 為什么檢查點能提高恢復的效率 39311.4.3 MinLSN:如何選擇最小恢復LSN 39411.4.4 什么情況下產(chǎn)生檢查點 39411.4.5 SQL Server 2000的自動檢查點機制 39511.4.6 CHECKPOINT:手動產(chǎn)生檢查點 39511.5 安全VS.空間:SQL Server 2000數(shù)據(jù)庫的恢復模型 39611.5.1 完全恢復模型 39611.5.2 大容量日志記錄恢復模型 39711.5.3 簡單恢復模型 39711.5.4 3種恢復模型的比較 39711.5.5 設置SQL Server 2000數(shù)據(jù)庫的恢復模型 39811.5.6 不同恢復模型下的檢查點操作 39811.6 SQL Server 2000的備份機制 40011.6.1 SQL Server 2000的備份類型 40011.6.2 不同的恢復模型支持的備份類型 40111.6.3 SQL Server 2000的備份設備 40111.6.4 用SP_SPACEUSED估計備份的大小 40311.7 用【企業(yè)管理器】備份與恢復 40411.7.1 完全數(shù)據(jù)庫備份 40411.7.2 完全數(shù)據(jù)庫恢復 40511.7.3 事務日志備份 40611.7.4 事務日志恢復 40711.7.5 差異數(shù)據(jù)庫備份 40811.7.6 差異數(shù)據(jù)庫恢復 40911.7.7 文件和文件組備份 41011.7.8 文件和文件組恢復 41111.8 用Transact-SQL備份與恢復 41211.8.1 用于數(shù)據(jù)庫備份的Transact-SQL語句 41211.8.2 用于文件或文件組備份的Transact-SQL語句 41411.8.3 用于日志備份的Transact-SQL語句 41511.8.4 截斷事務日志Transact-SQL語句 41611.8.5 恢復完全數(shù)據(jù)庫備份的Transact-SQL語句 41611.8.6 恢復事務日志備份的Transact-SQL語句 41711.9 設計和實施一個完整的數(shù)據(jù)庫備份與恢復方案 41811.9.1 技術VS.代價:如何制定備份與恢復方案 41811.9.2 選擇SQL Server 2000數(shù)據(jù)庫的恢復模型 42011.9.3 適合絕大部分數(shù)據(jù)庫的兩種備份與恢復方案 42111.9.4 剖析一個完整的數(shù)據(jù)庫備份與恢復方案 42111.9.5 實施一個完整的數(shù)據(jù)庫備份方案 42211.9.6 實施災難數(shù)據(jù)庫恢復方案 42511.10 疑難解析 42611.10.1 僅有.BAK文件時如何恢復 42611.10.2 為什么無法進行事務日志備份和文件備份 42711.10.3 為什么無法創(chuàng)建差異數(shù)據(jù)庫備份 42711.10.4 備份或者恢復過程發(fā)生中斷如何處理 42811.10.5 什么時機需要備份Master數(shù)據(jù)庫 42911.10.6 需不需要備份tempdb數(shù)據(jù)庫 42911.10.7 當前日志和備份日志有什么關系 42911.10.8 僅有數(shù)據(jù)文件、沒有日志文件時如何恢復 42911.10.9 DBCC LOGINFO查看VLF 43111.11 本章小結 43211.12 實踐題目 432第12章 智能管理:代理服務 43412.1 本章導讀 43412.2 SQL Server 2000的代理服務機制 43412.2.1 SQL Server 2000代理服務的結構 43412.2.2 SQL Server 2000代理服務的運行環(huán)境 43512.2.3 配置SQL Server 2000代理服務的屬性 43512.3 一個基于代理服務實現(xiàn)的智能作業(yè) 43712.3.1 創(chuàng)建警報 43712.3.2 創(chuàng)建操作員 43812.3.3 創(chuàng)建作業(yè) 43912.4 本章小結 44112.5 實踐題目 442第13章 服務器性能監(jiān)控、調(diào)整和優(yōu)化 44313.1 本章導讀 44313.2 可能導致性能瓶頸的因素 44413.2.1 服務器資源 44413.2.2 網(wǎng)絡 44413.2.3 數(shù)據(jù)庫設計 44413.2.4 應用系統(tǒng)設計 44413.3 服務器性能監(jiān)控和調(diào)整工具 44513.3.1 Windows的【性能監(jiān)控器】 44513.3.2 Windows的【任務管理器】 44613.3.3 SQL Server 2000的【事件探查器】 44713.3.4 SQL Server 2000的【查詢分析器】 44913.3.5 特殊的系統(tǒng)存儲過程 44913.3.6 特殊的DBCC命令 44913.3.7 特殊的全局變量 45013.3.8 SQL Server 2000的【索引調(diào)節(jié)向?qū)А俊?5313.4 監(jiān)控和調(diào)整I/O性能 45313.4.1 磁盤I/O對服務器性能的影響 45313.4.2 監(jiān)控磁盤I/O性能的計數(shù)器 45313.4.3 磁盤I/O是否是性能瓶頸 45413.4.4 可能導致磁盤I/O性能瓶頸的原因 45413.4.5 順序I/O VS.隨機I/O:SQL Server 2000的I/O類型 45513.4.6 調(diào)整I/O性能的方法 45513.5 監(jiān)控和調(diào)整內(nèi)存性能 45613.5.1 物理內(nèi)存VS.虛擬內(nèi)存 45613.5.2 內(nèi)存頁面錯誤:內(nèi)存性能低下的原因 45613.5.3 監(jiān)控內(nèi)存性能的計數(shù)器 45713.5.4 內(nèi)存是不是性能瓶頸 45713.5.5 調(diào)整內(nèi)存性能的方法 45813.6 監(jiān)控和調(diào)整CPU性能 45813.6.1 進程VS.線程VS.纖程:分配CPU資源的單位 45813.6.2 用戶模式VS.特權模式 45913.6.3 監(jiān)控CPU性能的計數(shù)器 45913.6.4 CPU是不是性能的瓶頸 45913.6.5 監(jiān)控消耗CPU資源進程的計數(shù)器 46013.6.6 監(jiān)控消耗CPU資源線程的計數(shù)器 46013.6.7 監(jiān)控進程和線程的意義 46013.6.8 更多CPU VS.更快的CPU 46113.7 監(jiān)控和調(diào)整網(wǎng)絡性能 46113.7.1 監(jiān)控網(wǎng)絡性能的計數(shù)器 46113.7.2 調(diào)整網(wǎng)絡性能的方法 46113.8 調(diào)整和優(yōu)化數(shù)據(jù)庫設計 46213.8.1 監(jiān)控數(shù)據(jù)庫性能的計數(shù)器 46213.8.2 優(yōu)化數(shù)據(jù)庫設計的方法 46413.9 調(diào)整和優(yōu)化應用系統(tǒng)設計 46413.9.1 監(jiān)控應用系統(tǒng)性能的計數(shù)器 46413.9.2 優(yōu)化應用系統(tǒng)設計的方法 46513.10 設計和實現(xiàn)一個優(yōu)化的SQL Server 2000服務器 46513.10.1 數(shù)據(jù)和日志文件分開存放在不同磁盤上 46513.10.2 tempdb數(shù)據(jù)庫單獨存放在不同磁盤上 46513.10.3 避免熱點數(shù)據(jù)的發(fā)生 46613.10.4 數(shù)據(jù)類型要少 46613.10.5 監(jiān)控和整理空間碎片 46613.10.6 使用主數(shù)據(jù)文件和次要數(shù)據(jù)文件 46613.10.7 利用文件組改善性能 46613.10.8 重視自動增長和自動收縮可能導致的性能問題 46713.10.9 分離系統(tǒng)數(shù)據(jù)和用戶數(shù)據(jù) 46713.10.10 優(yōu)化索引設計 46713.10.11 定期更新統(tǒng)計信息 46713.10.12 定期的一致性檢查 46713.11 疑難解析 46713.11.1 整數(shù)VS.浮點運算能力:配置SQL Server 2000系統(tǒng)的CPU 46713.11.2 查詢密集VS.事務密集:配置SQL Server 2000系統(tǒng)的內(nèi)存 46813.11.3 容量VS.吞吐量:配置SQL Server 2000系統(tǒng)的硬盤 46813.12 本章小結 468第14章 SQL Server 2000高級管理專題 47014.1 本章導讀 47014.2 數(shù)據(jù)轉(zhuǎn)換服務DTS 47014.2.1 什么是DTS服務 47014.2.2 使用DTS向?qū)мD(zhuǎn)換數(shù)據(jù) 47114.2.3 創(chuàng)建DTS包 47414.2.4 DTS包調(diào)度執(zhí)行失敗原因及解決方法 47714.3 全文索引 47814.3.1 基表查詢VS.全文查詢 47814.3.2 什么是全文目錄 47914.3.3 什么是全文索引 47914.3.4 啟用全文檢索服務 47914.3.5 定義全文索引 48014.3.6 利用全文索引檢索數(shù)據(jù) 48214.4 分布式數(shù)據(jù)復制 48414.4.1 備份VS.復制 48414.4.2 分布式數(shù)據(jù)復制的優(yōu)點 48414.4.3 什么時機需要使用分布式數(shù)據(jù)復制 48514.4.4 SQL Server 2000分布式數(shù)據(jù)復制的機制 48514.4.5 拉訂閱(請求訂閱)VS.推訂閱(強制訂閱) 48514.4.6 SQL Server 2000的分布式數(shù)據(jù)復制類型 48614.4.7 SQL Server 2000的分布式數(shù)據(jù)復制代理 48714.4.8 配置發(fā)布、訂閱和分發(fā)服務器 48814.4.9 使用【復制監(jiān)視器】 49114.4.10 創(chuàng)建及管理發(fā)布 49214.4.11 創(chuàng)建訂閱 49514.5 本章小結 499第15章 專業(yè)的SQL Server 2000管理工具 50015.1 本章導讀 50015.2 Quest Central 50115.2.1 Quest Central簡介 50115.2.2 Quest Central for SQL Server簡介 50115.2.3 注冊SQL Server 2000服務器 50215.2.4 自動發(fā)現(xiàn)未注冊的SQL Server 2000服務器 50315.2.5 比較兩個SQL Server 2000對象 50415.2.6 Knowledge Xpert:SQL Server 2000知識寶典 50515.2.7 SQL Tuning:設計優(yōu)化的SQL語句 50615.2.8 Space Management:可視化的空間管理工具 50715.2.9 Database Analysis:專業(yè)數(shù)據(jù)庫性能分析工具 50815.2.10 Performance Analysis:實時診斷和歷史分析工具 50815.3 Spotlight 50915.3.1 Spotlight簡介 50915.3.2 用Spotlight監(jiān)控服務器總體性能 50915.3.3 用Spotlight監(jiān)控I/O 51015.3.4 用Spotlight監(jiān)控Sessions 51115.3.5 用Spotlight監(jiān)控Lock 51115.3.6 用Spotlight監(jiān)控有無資源阻塞 51215.3.7 用Spotlight監(jiān)控物理文件的I/O 51215.3.8 用Spotlight監(jiān)控內(nèi)存總體性能 51315.3.9 用Spotlight監(jiān)控數(shù)據(jù)庫空間使用情況 51315.4 Data Factory 51415.4.1 Data Factory簡介 51415.4.2 利用Data Factory產(chǎn)生數(shù)據(jù) 51415.5 Benchmark Factory 51615.5.1 Benchmarka Factory簡介 51615.5.2 數(shù)據(jù)庫壓力測試工業(yè)標準 51715.5.3 用Benchmark Factory測試數(shù)據(jù)庫壓力 51715.6 本章小結 520 第二部分Transact-SQL編程 第16章 Transact-SQL編程 52316.1 本章導讀 52316.2 Transact-SQL VS. SQL 52316.2.1 什么是Transact-SQL 52316.2.2 Transact-SQL VS. SQL 52416.2.3 Transact-SQL程序的結構 52416.2.4 Transact-SQL程序的數(shù)據(jù)類型 52516.2.5 Transact-SQL程序的批處理 52516.2.6 應用程序中如何使用Transact-SQL程序 52616.2.7 Transact-SQL程序的運算符 52616.3 變量 52716.3.1 Transact-SQL的變量類型 52716.3.2 Transact-SQL的全局變量 52816.3.3 創(chuàng)建和使用局部變量 52916.4 函數(shù) 53016.4.1 Convert函數(shù) 53016.4.2 創(chuàng)建和使用自定義函數(shù) 53116.5 流程控制語句 53316.5.1 程序塊語句(BEGIN…END) 53316.5.2 判斷語句(IF…ELSE) 53416.5.3 檢測語句(IF…EXISTS) 53616.5.4 循環(huán)語句(WHILE) 53616.5.5 分支判斷語句(CASE…WHEN) 53716.5.6 無條件退出語句(RETURN) 53816.5.7 延期執(zhí)行語句(WAITFOR) 54016.5.8 跳轉(zhuǎn)語句(GOTO) 54116.6 功能性語句 54216.6.1 輸出語句(PRINT) 54216.6.2 錯誤處理語句(RAISEERROR) 54316.6.3 選項設置語句(SET) 54416.7 游標(Cursor) 54516.7.1 什么是游標 54516.7.2 游標的生命周期 54516.7.3 聲明游標 54616.7.4 打開游標 54716.7.5 讀取游標 54716.7.6 關閉游標 54816.7.7 釋放游標 54816.7.8 完整的游標實例 54816.7.9 游標的執(zhí)行效率很差嗎 54916.8 本章小結 550第17章 存儲過程和觸發(fā)器 55117.1 本章導讀 55117.2 存儲過程基礎 55117.2.1 為什么要設計存儲過程 55117.2.2 什么是存儲過程 55217.2.3 存儲過程的作用 55217.2.4 存儲過程有什么優(yōu)點 55217.2.5 SQL Server 2000存儲過程的分類 55317.3 創(chuàng)建、執(zhí)行和管理存儲過程 55317.3.1 在【企業(yè)管理器】中創(chuàng)建存儲過程 55317.3.2 創(chuàng)建存儲過程的Transact-SQL語法 55617.3.3 執(zhí)行存儲過程 55717.3.4 創(chuàng)建帶參數(shù)和返回值的存儲過程 55917.3.5 執(zhí)行帶參數(shù)和返回值的存儲過程 56017.3.6 刪除存儲過程 56017.3.7 執(zhí)行帶參數(shù)的存儲過程的等效語句 56017.4 觸發(fā)器基礎 56117.4.1 什么是觸發(fā)器 56117.4.2 SQL Server 2000的觸發(fā)器類型 56117.4.3 SQL Server 2000的觸發(fā)器工作原理 56217.4.4 SQL Server 2000觸發(fā)器的優(yōu)點 56317.4.5 什么時機使用觸發(fā)器 56317.5 創(chuàng)建和管理觸發(fā)器 56317.5.1 創(chuàng)建觸發(fā)器的Transact-SQL語法 56317.5.2

作者簡介

  趙松濤,海軍少校,工程師,計算機專業(yè)碩士。從事高校教學5年,從事計算機網(wǎng)絡和數(shù)據(jù)庫系統(tǒng)管理、應用開發(fā)6年。目前,在一線從事網(wǎng)絡管理。SQLServer和Oracle數(shù)據(jù)庫的系統(tǒng)管理、應用開發(fā)和教學培訓工作。從2001年至今,先后獨立和合作出版了8本有關網(wǎng)絡和數(shù)據(jù)庫的圖書。曾經(jīng)為大型企業(yè)、高校做數(shù)據(jù)系統(tǒng)管理培訓,受到學員好評?!獙憰莻€良心活,品書如品人?!蚁嘈?,用心做事,寫出了自己的東西,讀者是可以看見作者鮮活的思想和靈魂的。

圖書目錄

目  錄
第一部分   SQL Server 2000系統(tǒng)管理
第1章  構建SQL SERVER 2000網(wǎng)絡    3
1.1  本章導讀    3
1.2  初識計算機網(wǎng)絡    3
1.2.1  計算機網(wǎng)絡的定義    3
1.2.2  計算機網(wǎng)絡的發(fā)展歷程    4
1.2.3  計算機網(wǎng)絡的分類    5
1.2.4  計算機網(wǎng)絡的拓樸結構    5
1.2.5  網(wǎng)絡中的計算機通信的原理    6
1.2.6  TCP/IP    7
1.2.7  客戶機/服務器模式    9
1.2.8  端口    9
1.2.9  配置計算機的IP地址    10
1.2.10  查看計算機的端口使用情況    10
1.3  初識數(shù)據(jù)庫    11
1.3.1  數(shù)據(jù)庫系統(tǒng)    11
1.3.2  數(shù)據(jù)庫    11
1.3.3  數(shù)據(jù)庫管理系統(tǒng)    12
1.3.4  數(shù)據(jù)庫應用系統(tǒng)    12
1.3.5  數(shù)據(jù)庫系統(tǒng)相關人員    12
1.3.6  關系模型    12
1.3.7  關系型數(shù)據(jù)庫    13
1.3.8  關系型數(shù)據(jù)表的關聯(lián)關系    13
1.3.9  關系型數(shù)據(jù)的完整性    14
1.4  初識關系型網(wǎng)絡數(shù)據(jù)庫    16
1.4.1  關系型網(wǎng)絡數(shù)據(jù)庫的特點    16
1.4.2  關系型網(wǎng)絡數(shù)據(jù)庫的工作模式    16
1.5  初識SQL Server 2000    17
1.5.1    SQL Server 2000的產(chǎn)品版本    17
1.5.2  安裝環(huán)境需求    18
1.5.3  實例(Instance)    19
1.5.4  服務賬戶    19
1.5.5  身份驗證模式    20
1.5.6  客戶機許可模式    20
1.5.7  SQL Server 2000網(wǎng)絡采用的通信協(xié)議    21
1.6  構建SQL Server 2000服務器和客戶機    21
1.6.1  構建SQL Server 2000服務器    21
1.6.2  構建SQL Server 2000客戶機    25
1.7  實驗:遠程客戶機能否通過共享內(nèi)存訪問服務器    25
1.7.1  在服務器上配置共享內(nèi)存    26
1.7.2  在本地客戶機上配置共享內(nèi)存    28
1.7.3  在遠程客戶機上配置共享內(nèi)存    29
1.7.4  實驗結論    29
1.8  實驗:配置命名管道的SQL Server 2000網(wǎng)絡    29
1.8.1  在服務器上配置命名管道    30
1.8.2  在本地客戶機上配置命名管道    31
1.8.3  在遠程客戶機上配置命名管道    32
1.8.4  實驗結論    33
1.9  實驗:配置TCP/IP的SQL Server 2000網(wǎng)絡    33
1.9.1  在服務器上配置TCP/IP    33
1.9.2  在本地客戶機上配置TCP/IP    34
1.9.3  在遠程客戶機上配置TCP/IP    35
1.9.4  實驗結論    35
1.10  實驗:明明白白配置TCP/IP的端口    35
1.10.1  更改服務器的端口    35
1.10.2  客戶機上如何進行配置    36
1.10.3  什么是動態(tài)決定端口    36
1.10.4  實驗結論    37
1.11  實驗:配置多協(xié)議的SQL Server 2000網(wǎng)絡    38
1.11.1  在服務器上配置多協(xié)議    38
1.11.2  在本地客戶機上配置多協(xié)議    39
1.11.3  在遠程客戶機上配置多協(xié)議    39
1.11.4  實驗結論    39
1.12  實驗:Winsock代理設置的含義    40
1.12.1  什么是代理服務    40
1.12.2  什么是Winsock代理    41
1.12.3  在服務器上設置Winsock代理    41
1.12.4  在客戶機上配置Winsock代理    42
1.12.5  實驗結論    42
1.13  實驗:為什么強制協(xié)議加密導致服務器無法啟動    42
1.13.1  在服務器上配置強制協(xié)議加密    43
1.13.2  實驗結論    43
1.14  疑難解析    44
1.14.1  Windows XP上可以安裝什么SQL Server 2000版本    44
1.14.2  Windows 2003上如何安裝SQL Server 2000企業(yè)版    44
1.14.3  啟動提示“1069錯誤(由于登錄失敗而無法啟動服務)”如何解決    44
1.14.4  服務器的1433端口沒有啟動如何解決    45
1.14.5  如何下載SQL Server 2000的SP3    45
1.14.6  如何遠程管理Internet上的SQL Server 2000服務器    45
1.14.7  如何卸載SQL Server 2000    46
1.14.8  排除SQL Server 2000網(wǎng)絡連接故障    46
1.14.9  排除SQL Server 2000連接超時故障    47
1.14.10  什么是數(shù)據(jù)字典    47
1.14.11  DBA都有什么職責    47
1.14.12  DBA日常如何工作    48
1.14.13  什么是數(shù)據(jù)庫的模型    49
1.14.14  什么是IPC機制    49
1.14.15  什么是網(wǎng)絡庫(Net-Library)    50
1.14.16  什么是關系型數(shù)據(jù)庫的范式    50
1.15  本章小結    51
1.16  實踐題目    51
第2章  SQL SERVER 2000的體系結構    53
2.1  本章導讀    53
2.2  SQL Server 2000網(wǎng)絡結構    53
2.2.1  SQL Server 2000的C/S模式    54
2.2.2  客戶機的結構    54
2.2.3  服務器的結構    55
2.3  SQL Server 2000服務器的引擎結構    57
2.3.1  SQL Server 2000引擎工作流程    57
2.3.2  SQL Server 2000引擎的設計    59
2.4  SQL Server 2000服務器的內(nèi)存結構    61
2.4.1  為什么要設計內(nèi)存    61
2.4.2  如何為SQL Server 2000服務器分配內(nèi)存    61
2.4.3  SQL Server 2000服務器內(nèi)存有什么內(nèi)容    62
2.4.4  如何快速訪問SQL Server 2000服務器內(nèi)存    62
2.4.5  如何替換SQL Server 2000服務器內(nèi)存頁面    63
2.4.6  SQL Server 2000服務器日志緩沖池如何管理    63
2.5  SQL Server 2000服務器的存儲結構    64
2.5.1  SQL Server 2000服務器的物理文件    64
2.5.2  頁面(Page)—SQL Server 2000數(shù)據(jù)文件的存儲單位    64
2.5.3  頁面是如何存儲數(shù)據(jù)的    65
2.5.4  DBCC PAGE—如何查看頁面的數(shù)據(jù)    65
2.5.5  如何查詢數(shù)據(jù)庫的ID和名稱    66
2.5.6  如何查詢數(shù)據(jù)文件的ID和名稱    66
2.5.7  一個查詢數(shù)據(jù)頁面信息的實例    67
2.5.8  內(nèi)存是如何管理數(shù)據(jù)頁面的    71
2.5.9  頁頭—物理頁面是如何管理的    71
2.5.10  如何查詢ID所屬的數(shù)據(jù)對象    72
2.5.11  槽(Slot)—數(shù)據(jù)記錄(行)在數(shù)據(jù)頁面中如何存儲    73
2.5.12  盤區(qū)(Extent)—SQL Server 2000是如何分配存儲空間的    74
2.5.13  如何提高盤區(qū)的空間利用率    74
2.5.14  GAM—SQL Server 2000的盤區(qū)是如何管理的    75
2.5.15  SGAM—SQL Server 2000的混合盤區(qū)是如何管理的    76
2.5.16  SQL Server 2000如何為數(shù)據(jù)對象分配盤區(qū)    77
2.5.17  數(shù)據(jù)文件的頁面結構是怎樣的    77
2.5.18  如何查詢數(shù)據(jù)文件的頁面數(shù)    78
2.5.19  如何查詢數(shù)據(jù)庫的頁面數(shù)    78
2.5.20  如何查詢數(shù)據(jù)庫的盤區(qū)數(shù)    78
2.5.21  如何查詢數(shù)據(jù)對象的盤區(qū)數(shù)    79
2.5.22  LOB數(shù)據(jù)是如何存儲的    80
2.5.23  如何將小的LOB數(shù)據(jù)保存在數(shù)據(jù)頁面內(nèi)    80
2.5.24  日志文件的存儲空間是如何管理的    80
2.6  SQL Server 2000服務器的進程結構    81
2.6.1  什么是SQL Server 2000進程    81
2.6.2  什么是SQL Server 2000線程    81
2.6.3  什么是SQL Server 2000纖程    82
2.6.4  SQL語句是怎樣使用CPU資源的    82
2.6.5  線程或者纖程分配越多效率就越高嗎    82
2.6.6  什么是線程或者纖程的執(zhí)行優(yōu)先級    82
2.7  實驗:SQL Server 2000如何管理表    83
2.7.1  創(chuàng)建測試用數(shù)據(jù)表    83
2.7.2  分析日志內(nèi)容    84
2.7.3  驗證系統(tǒng)表中產(chǎn)生的信息    87
2.7.4  實驗結論    88
2.8  實驗:對數(shù)據(jù)頁面存儲參數(shù)的深入研究    88
2.8.1  pminlen參數(shù)的含義    89
2.8.2  m_freecnt參數(shù)的含義    89
2.8.3  數(shù)據(jù)頁面空間是如何分配的    90
2.9  實驗:揭秘定長記錄(行)的存儲空間    90
2.9.1  向定長數(shù)據(jù)表中錄入數(shù)據(jù)    91
2.9.2  用DBCC PAGE查看定長記錄的存儲    93
2.9.3  數(shù)據(jù)頁面的空間分配    94
2.9.4  總結定長行存儲空間的計算方法    95
2.10  實驗:揭秘變長記錄(行)的存儲空間    96
2.10.1  向變長數(shù)據(jù)表中錄入數(shù)據(jù)    96
2.10.2  用DBCC PAGE查看變長記錄的存儲空間    97
2.10.3  數(shù)據(jù)頁面的空間分配    98
2.10.4  總結變長行存儲空間的計算方法    99
2.10.5  總結計算表行存儲空間的方法    99
2.11  實驗:為什么包含LOB類型的記錄可以跨越頁面    100
2.11.1  LOB對象記錄的存儲機制    100
2.11.2  研究LOB類型的表的存儲    101
2.11.3  實驗結論    104
2.12  實驗:將LOB數(shù)據(jù)和普通數(shù)據(jù)存儲在同一個頁面    104
2.12.1  將LOB數(shù)據(jù)和普通數(shù)據(jù)存儲在同一頁面    104
2.12.2  將LOB數(shù)據(jù)和普通數(shù)據(jù)分開存儲    105
2.13  實驗:NULL值是否占用存儲空間    105
2.13.1  定長和變長字段都取NULL值    106
2.13.2  定長字段取NULL值、變長字段取NOT NULL值    107
2.13.3  定長字段取NOT NULL值、變長字段取NULL值    108
2.13.4  定長和變長字段都取NOT NULL值    109
2.13.5  實驗結論    110
2.14  疑難解析    110
2.14.1  為什么頁面可以存儲的數(shù)據(jù)容量參數(shù)不一致    110
2.14.2  能不能將特定的數(shù)據(jù)始終保留在內(nèi)存中    110
2.14.3  最多可以為SQL Server 2000分配多少內(nèi)存    110
2.14.4  如何判斷SQL Server 2000內(nèi)存夠不夠用    111
2.14.5  什么是Read Ahead(先讀)    111
2.14.6  什么是旋轉(zhuǎn)木馬掃描(Merry-Go-Round Scan)    111
2.14.7  同步VS.異步—數(shù)據(jù)和日志文件的寫機制區(qū)別    112
2.14.8  什么時機使用纖程    112
2.14.9  線程數(shù)和連接數(shù)有無關系    113
2.14.10  什么是零散收集I/O    113
2.14.11  什么是異步I/O    114
2.14.12  什么是TDS    114
2.14.13  什么是Latch    114
2.15  本章小結    114
2.16  實踐題目    115
第3章  管理和配置服務器    118
3.1  本章導讀    118
3.2  服務器的管理和配置工具    118
3.2.1  MMC和企業(yè)管理器是什么關系    119
3.2.2  如何配置企業(yè)管理器    119
3.2.3  為什么查詢分析器查詢的對象名無效    121
3.2.4  查詢分析器顯示的執(zhí)行計劃有什么意義    122
3.2.5  查詢分析器顯示的服務器跟蹤有什么意義    123
3.2.6  查詢分析器顯示的客戶統(tǒng)計有什么意義    123
3.2.7  什么是查詢分析器的模板(Template)    124
3.3  服務器組    125
3.3.1  什么是服務器組    125
3.3.2  什么是基于服務器組的管理結構    125
3.4  注冊服務器    125
3.4.1  什么是服務器的注冊    125
3.4.2  什么情況下需要注冊服務器    126
3.4.3  怎樣注冊一個服務器    126
3.5  暫停、啟動和關閉服務器    127
3.5.1  什么時機需要暫停服務器    128
3.5.2  如何暫停服務器    128
3.5.3  如何關閉服務器    128
3.5.4  關閉和暫停服務器有什么區(qū)別    129
3.5.5  如何啟動服務器    129
3.5.6  在企業(yè)管理器中管理服務器    130
3.6  配置服務器    130
3.6.1  怎樣查看服務器的環(huán)境信息    130
3.6.2  什么是服務器的排序規(guī)則    131
3.6.3  哪些服務可以自動啟動    131
3.6.4  什么是服務器的錯誤報告功能    132
3.6.5  如何配置使用動態(tài)內(nèi)存的服務器    132
3.6.6  如何配置一個使用固定內(nèi)存的服務器    133
3.6.7  SQL Server 2000服務器可以使用哪些CPU    133
3.6.8  如何設置CPU的最大線程數(shù)    133
3.6.9  是否提升SQL Server 2000線程的優(yōu)先級    134
3.6.10  使用線程還是纖程    134
3.6.11  是否啟用多CPU做并行查詢    134
3.6.12  如何更改服務器的身份驗證方式    134
3.6.13  如何對服務器進行審核    135
3.6.14  如何查看服務器的審核信息    135
3.6.15  誰可以啟動服務器    136
3.6.16  如何限制并發(fā)連接的用戶數(shù)    137
3.6.17  如何在服務器之間執(zhí)行分布式事務    137
3.6.18  什么是用戶的默認語言    138
3.6.19  如何控制服務器的行為    138
3.6.20  服務器如何解釋兩位數(shù)年份    139
3.6.21  什么是索引填充因子    139
3.6.22  如何設置磁帶備份和還原參數(shù)    141
3.6.23  什么是恢復間隔    141
3.6.24  創(chuàng)建數(shù)據(jù)庫的文件存放在哪里    142
3.6.25  如何查詢服務器的當前配置參數(shù)    142
3.6.26  如何查詢服務器的當前運行參數(shù)    142
3.7  多服務器環(huán)境的管理和配置    143
3.7.1  創(chuàng)建和使用鏈接服務器    143
3.7.2  創(chuàng)建和使用遠程服務器    145
3.8  疑難解析    146
3.8.1  注冊名為Local如何處理    146
3.8.2  如何設置服務器的內(nèi)存大小    146
3.8.3  為什么服務器占用內(nèi)存太多    146
3.8.4  什么是服務器的錯誤日志    147
3.9  本章小結    147
3.10  實踐題目    148
第4章  管理和配置數(shù)據(jù)庫    149
4.1  本章導讀    149
4.2  默認的4個系統(tǒng)數(shù)據(jù)庫    150
4.2.1  master數(shù)據(jù)庫有什么作用    150
4.2.2  model數(shù)據(jù)庫有什么作用    150
4.2.3  msdb數(shù)據(jù)庫有什么作用    150
4.2.4  tempdb數(shù)據(jù)庫有什么作用    150
4.2.5  4個系統(tǒng)數(shù)據(jù)庫是如何啟動的    151
4.3  創(chuàng)建用戶數(shù)據(jù)庫    152
4.3.1  誰可以創(chuàng)建用戶數(shù)據(jù)庫    152
4.3.2  如何命名用戶數(shù)據(jù)庫    152
4.3.3  創(chuàng)建用戶數(shù)據(jù)庫會產(chǎn)生哪些操作系統(tǒng)文件    152
4.3.4  為什么要評估數(shù)據(jù)文件的初始大小    153
4.3.5  粗略評估數(shù)據(jù)文件初始大小的案例    153
4.3.6  創(chuàng)建用戶數(shù)據(jù)庫的案例    153
4.4  配置用戶數(shù)據(jù)庫    155
4.4.1  數(shù)據(jù)庫工作在什么狀態(tài)    155
4.4.2  數(shù)據(jù)庫當前空間利用率是多少    156
4.4.3  怎樣添加次要數(shù)據(jù)文件    156
4.4.4  數(shù)據(jù)文件之間怎樣存儲數(shù)據(jù)    156
4.4.5  怎樣添加多個日志文件    157
4.4.6  日志文件之間怎樣存儲數(shù)據(jù)    157
4.4.7  什么是文件組    158
4.4.8  什么是默認的文件組    158
4.4.9  如何使用文件組    158
4.4.10  如何創(chuàng)建文件組    159
4.4.11  如何限制用戶對數(shù)據(jù)庫的訪問    159
4.4.12  什么是數(shù)據(jù)庫的單用戶模式    160
4.4.13  如何選擇數(shù)據(jù)庫的故障還原模型(恢復模型)    160
4.4.14  選項設置參數(shù)有什么含義    161
4.4.15  什么是數(shù)據(jù)庫的兼容性    162
4.4.16  如何設置用戶訪問數(shù)據(jù)庫的權限    162
4.5  分離和附加用戶數(shù)據(jù)庫    163
4.5.1  如何分離數(shù)據(jù)庫    163
4.5.2  如何附加數(shù)據(jù)庫    163
4.6  脫機和聯(lián)機用戶數(shù)據(jù)庫    164
4.6.1  如何脫機數(shù)據(jù)庫    164
4.6.2  如何聯(lián)機數(shù)據(jù)庫    165
4.7  維護用戶數(shù)據(jù)庫    165
4.7.1  什么是數(shù)據(jù)庫的維護計劃    165
4.7.2  創(chuàng)建數(shù)據(jù)庫維護計劃    165
4.8  收縮用戶數(shù)據(jù)庫    168
4.8.1  為什么要收縮數(shù)據(jù)庫    168
4.8.2  什么是自動收縮和手動收縮    169
4.8.3  收縮數(shù)據(jù)文件和日志文件有什么不同    169
4.8.4  收縮操作是如何執(zhí)行的    169
4.8.5  收縮數(shù)據(jù)庫的案例    169
4.9  刪除用戶數(shù)據(jù)庫    170
4.10  實驗:tempdb數(shù)據(jù)庫的數(shù)據(jù)存放在內(nèi)存還是硬盤上    171
4.11  實驗:數(shù)據(jù)文件組的比例填充寫機制    173
4.11.1  測試比例填充寫機制的方法    173
4.11.2  研究數(shù)據(jù)頁面分配方法    174
4.12  實驗:日志文件的循環(huán)寫機制    176
4.13  疑難解析    176
4.13.1  文件必須按照指定的擴展名命名嗎    176
4.13.2  能不能重新命名數(shù)據(jù)庫    177
4.13.3  如何刪除數(shù)據(jù)文件    177
4.13.4  如何刪除日志文件    178
4.13.5  為什么分區(qū)上無法創(chuàng)建文件    178
4.13.6  如何查看數(shù)據(jù)庫空間使用情況    178
4.13.7  如何使用tempdb數(shù)據(jù)庫    178
4.13.8  為什么恢復Master數(shù)據(jù)庫提示必須單用戶模式    179
4.13.9  Tempdb數(shù)據(jù)庫可以恢復嗎    179
4.13.10  如何在Tempdb數(shù)據(jù)庫中創(chuàng)建臨時表    179
4.13.11  在企業(yè)管理器中看不到Tempdb數(shù)據(jù)庫的臨時表    179
4.13.12  為什么對Tempdb數(shù)據(jù)庫的操作執(zhí)行較快    180
4.13.13  如何更改Tempdb數(shù)據(jù)庫文件的存儲路徑    180
4.14  本章小結    181
4.15  實踐題目    181
第5章  DBCC命令    182
5.1  本章導讀    182
5.2  DBCC幫助類命令    183
5.2.1  DBCC  HELP (‘?’)    183
5.2.2  DBCC  HELP (‘命令’)    183
5.2.3  DBCC  USEROPTIONS    183
5.3  DBCC狀態(tài)驗證類命令    183
5.3.1  DBCC  CHECKALLOC    183
5.3.2  DBCC  CHECKCATALOG    184
5.3.3  DBCC  CHECKCONSTRINTS    185
5.3.4  DBCC  CHECKDB    185
5.3.5  DBCC  CHECKFILEGROUP    186
5.3.6  DBCC  CHECKTABLE    187
5.3.7  DBCC  CHECKIDENT    188
5.4  DBCC維護類命令    188
5.4.1  DBCC  CLEANTABLE    188
5.4.2  DBCC  DBREINDEX    189
5.4.3  DBCC  UPDATEUSAGE    190
5.4.4  DBCC  INDEXDEFRAG    191
5.4.5  DBCC  PINTABLE    192
5.4.6  DBCC  UNPINTABLE    193
5.4.7  DBCC  SHRINKDATABASE    193
5.4.8  DBCC  SHRINKFILE    195
5.5  DBCC性能調(diào)節(jié)類命令    197
5.5.1  DBCC  dllname(FREE)    197
5.5.2  DBCC  DROPCLEANBUFFERS    197
5.5.3  DBCC  FREEPROCCACHE    198
5.5.4  DBCC  INPUTBUFFER    198
5.5.5  DBCC  OPENTRAN    199
5.5.6  DBCC  OUTPUTBUFFER    199
5.5.7  DBCC  SHOW_STATISTICS    200
5.5.8  DBCC  SHOWCONTIG    200
5.5.9  DBCC  SQLPERF    201
5.5.10  DBCC  CACHESTATS    204
5.5.11  DBCC  CURSORSTATS    205
5.5.12  DBCC  MEMORYSTATS    205
5.5.13  DBCC  SQLMGRSTATS    206
5.6  DBCC未公開的命令    206
5.6.1  DBCC  ERRLOG    206
5.6.2  DBCC  FLUSHPROCINDB    207
5.6.3  DBCC  BUFFER    207
5.6.4  DBCC  DBINFO    207
5.6.5  DBCC  DBTABLE    208
5.6.6  DBCC  IND    208
5.6.7  DBCC  LOG    208
5.6.8  DBCC  PROCBUF    209
5.6.9  DBCC  PRTIPAGE    210
5.6.10  DBCC  PSS    210
5.6.11  DBCC  RESOURCE    211
5.6.12  DBCC  TAB    211
5.7  DBCC跟蹤標記    212
5.7.1  什么是跟蹤標記    212
5.7.2  DBCC TRACEON    212
5.7.3  DBCC TRACEOFF    212
5.7.4  DBCC TRACESTATUS    212
第6章  數(shù)據(jù)三套車—表、索引和視圖    213
6.1  本章導讀    213
6.2  數(shù)據(jù)類型—SQL Server 2000如何表示數(shù)據(jù)    213
6.2.1  SQL Server 2000的基本數(shù)據(jù)類型    213
6.2.2  使用整數(shù)型數(shù)據(jù)類型需要注意什么    214
6.2.3  使用貨幣數(shù)據(jù)類型需要注意什么    215
6.2.4  如何錄入貨幣數(shù)據(jù)類型的數(shù)據(jù)    215
6.2.5  使用精確數(shù)字數(shù)據(jù)類型需要注意什么    215
6.2.6  使用浮點數(shù)字數(shù)據(jù)類型需要注意什么    216
6.2.7  使用日期/時間數(shù)字數(shù)據(jù)類型需要注意什么    216
6.2.8  如何指定日期/時間數(shù)據(jù)類型的格式    216
6.2.9  使用字符型數(shù)據(jù)類型時需要注意什么    217
6.2.10  使用Unicode字符型數(shù)據(jù)類型時需要注意什么    217
6.2.11  使用二進制數(shù)據(jù)類型時需要注意什么    217
6.2.12  如何創(chuàng)建用戶定義的數(shù)據(jù)類型    218
6.3  表    219
6.3.1  SQL Server 2000表的分類    219
6.3.2  如何設計表    219
6.3.3  設計表結構時為什么要避免NULL值    220
6.3.4  如何選擇主碼列    220
6.3.5  什么是IDENTITY(標識符)列    220
6.3.6  什么是GUID(全局惟一標識符)列    221
6.3.7  創(chuàng)建表    221
6.3.8  修改表結構    223
6.3.9  刪除表    225
6.3.10  SQL Server 2000如何管理表    225
6.3.11  表的數(shù)據(jù)存儲在哪個數(shù)據(jù)頁面    228
6.3.12  文本和圖像數(shù)據(jù)是如何存儲的    229
6.3.13  如何計算表需要的存儲空間    231
6.4  索引    232
6.4.1  表掃描還是索引掃描—SQL Server 2000如何訪問數(shù)據(jù)    232
6.4.2  索引對數(shù)據(jù)庫是不是必須的    232
6.4.3  索引的原理    233
6.4.4  從堆到B+樹—索引文件結構的變遷    233
6.4.5  SQL Server 2000的索引類型    234
6.4.6  時間VS.空間—選擇稠密索引還是稀疏索引    235
6.4.7  探究聚集索引的奧秘    236
6.4.8  行定位器—探究非聚集索引的奧秘    243
6.4.9  IAM頁面—探究堆集的奧秘    244
6.4.10  什么是頁的分裂    245
6.4.11  索引填充因子—避免頁分裂的重要參數(shù)    246
6.4.12  如何估計B+樹索引的大小    246
6.4.13  如何查看索引的實際大小    247
6.4.14  在【企業(yè)管理器】中如何創(chuàng)建索引    249
6.4.15  用Transact-SQL語句如何創(chuàng)建索引    250
6.4.16  DBCC IND—如何查看索引分配的頁面    251
6.4.17  DBCC SHOWCONTIG—如何檢測索引的碎片    252
6.4.18  DBCC INDEXDEFRAG—如何整理索引的碎片    254
6.4.19  選擇性和密度—選擇索引的奧秘    255
6.4.20  統(tǒng)計信息—影響索引性能的因素    256
6.4.21  用索引優(yōu)化向?qū)гO計索引    257
6.4.22  不是每個索引都有美好結局—總結創(chuàng)建索引的經(jīng)驗    259
6.5  視圖    260
6.5.1  視圖是什么    260
6.5.2  為什么要使用視圖    260
6.5.3  SQL Server 2000中創(chuàng)建視圖的規(guī)則    261
6.5.4  創(chuàng)建視圖    261
6.5.5  通過視圖操作表的數(shù)據(jù)    262
6.6  疑難解析    263
6.6.1  為什么非聚集索引適合返回少數(shù)值的查詢    263
6.6.2  為什么聚集索引適合范圍查詢    264
6.6.3  SQL Server 2000中表的規(guī)格參數(shù)    264
6.6.4  索引是否只對SELECT語句起作用    264
6.6.5  視圖上能不能建立索引    265
6.6.6  如何創(chuàng)建覆蓋索引    265
6.6.7  什么是數(shù)據(jù)熱點    265
6.6.8  創(chuàng)建的聚集索引如何避免產(chǎn)生數(shù)據(jù)熱點    265
6.6.9  如何選擇建立聚集索引的列    266
6.6.10  如何設計聚集索引和非聚集索引    266
6.6.11  如何設計索引的填充因子    266
6.6.12  什么是表變量    267
6.6.13  表變量VS.臨時表    267
6.6.14  視圖到底有沒有自己的數(shù)據(jù)    268
6.7  本章小結    268
6.8  實踐題目    268
第7章  功能VS.效率—SQL詳解    270
7.1  本章導讀    270
7.2  SQL基礎    270
7.2.1  SQL的特點    270
7.2.2  SQL的組成    272
7.2.3  SQL中如何表示數(shù)據(jù)對象    273
7.3  用SQL定義數(shù)據(jù)    273
7.3.1  Create Database—創(chuàng)建數(shù)據(jù)庫    274
7.3.2  Alter Database—修改數(shù)據(jù)庫    274
7.3.3  Drop Database—刪除數(shù)據(jù)庫    275
7.3.4  Create Table—創(chuàng)建表    275
7.3.5  Alter Table—修改表    277
7.3.6  Drop Table—刪除表    277
7.4  用SQL查詢單表數(shù)據(jù)    277
7.4.1  創(chuàng)建實例數(shù)據(jù)庫    277
7.4.2  查詢所有記錄    280
7.4.3  查詢指定字段的記錄    280
7.4.4  查詢中過濾相同的記錄    281
7.4.5  帶表達式的查詢    281
7.4.6  顯示列名的帶表達式的查詢    281
7.4.7  指定查詢路徑的查詢    281
7.4.8  指定查詢結果的查詢    281
7.4.9  更改列標題顯示的查詢    282
7.4.10  【W(wǎng)here】條件查詢    282
7.4.11  組合條件查詢    284
7.4.12  用Order By對查詢結果排序    284
7.4.13  用Group By對查詢結果分組    285
7.4.14  用Having對查詢結果篩選    285
7.4.15  用Compute對查詢結果匯總    286
7.4.16  用Compute By對查詢結果分類匯總    286
7.4.17  用Into存儲查詢結果    287
7.5  用SQL查詢多表數(shù)據(jù)(連接查詢)    287
7.5.1  連接查詢的語法結構    287
7.5.2  連接查詢的分類    288
7.5.3  笛卡爾積連接    288
7.5.4  等值連接    288
7.5.5  自然連接    289
7.5.6  非等值連接    289
7.5.7  自身連接    289
7.5.8  內(nèi)連接    289
7.5.9  外連接    290
7.5.10  復合連接    291
7.6  用SQL進行函數(shù)查詢    292
7.6.1  聚合函數(shù)    292
7.6.2  日期和時間函數(shù)    293
7.6.3  數(shù)學函數(shù)    296
7.6.4  字符串函數(shù)    298
7.7  用SQL進行嵌套查詢    301
7.7.1  什么是嵌套查詢    301
7.7.2  什么是子查詢    301
7.7.3  簡單嵌套查詢    302
7.7.4  帶in的嵌套查詢    302
7.7.5  帶not in的嵌套查詢    303
7.7.6  帶some的嵌套查詢    303
7.7.7  帶any的嵌套查詢    304
7.7.8  帶all的嵌套查詢    305
7.7.9  帶exists的嵌套查詢    305
7.8  用SQL操縱數(shù)據(jù)    306
7.8.1  Insert—數(shù)據(jù)錄入    306
7.8.2  Update—數(shù)據(jù)修改    306
7.8.3  Delete—數(shù)據(jù)刪除    307
7.9  設計高效的SQL語句    307
7.9.1  SQL語句是怎樣被執(zhí)行的    307
7.9.2  SQL語句是怎樣被優(yōu)化的    308
7.9.3  SET STATISTICS IO—查詢SQL語句的讀寫代價    308
7.9.4  SET STATISTICS TIME—查詢SQL語句的執(zhí)行時間    310
7.9.5  SET SHOWPLAN_TEXT ON—查詢SQL語句的執(zhí)行計劃    311
7.9.6  SET NOCOUNT ON—減少SQL語句的網(wǎng)絡流量    311
7.9.7  編程查詢單條SQL語句的執(zhí)行時間    312
7.9.8  編程查詢成批的SQL語句的執(zhí)行時間    313
7.9.9  SET SHOWPLAN_ALL—詳解SQL語句的執(zhí)行計劃    313
7.9.10  SEEK VS.SCAN—從執(zhí)行計劃判斷是否需要優(yōu)化SQL    315
7.9.11  連接VS.子查詢—一樣的結果、不一樣的效率    316
7.9.12  SQL優(yōu)化與數(shù)據(jù)庫性能的關系    317
7.9.13  人工優(yōu)化VS.智能優(yōu)化—SQL優(yōu)化技術的發(fā)展    318
7.9.14  用SQL Expert設計優(yōu)化的SQL語句    318
7.10  疑難解析    321
7.10.1  在SQL語句中如何轉(zhuǎn)換數(shù)據(jù)類型    321
7.10.2  設計SQL語句的經(jīng)驗    321
7.11  本章小結    322
7.12  實踐題目    322
第8章  數(shù)據(jù)完整性—約束、規(guī)則和默認    323
8.1  本章導讀    323
8.2  SQL Server 2000的數(shù)據(jù)完整性機制    323
8.2.1  什么是數(shù)據(jù)完整性    323
8.2.2  SQL Server 2000的數(shù)據(jù)完整性機制    324
8.2.3  SQL Server 2000的約束(CONSTRAINT)    324
8.2.4  SQL Server 2000的規(guī)則(RULE)    325
8.2.5  SQL Server 2000的默認(DEFAULT)    325
8.3  創(chuàng)建約束    326
8.3.1  創(chuàng)建NOT NULL約束    326
8.3.2  創(chuàng)建PRIMARY KEY約束    326
8.3.3  創(chuàng)建FOREIGN KEY約束    327
8.3.4  創(chuàng)建UNIQUE約束    328
8.3.5  創(chuàng)建CHECK約束    328
8.4  創(chuàng)建規(guī)則    329
8.4.1  在【企業(yè)管理器】中創(chuàng)建規(guī)則    329
8.4.2  將規(guī)則綁定到列    329
8.5  創(chuàng)建默認    330
8.5.1  在【企業(yè)管理器】中創(chuàng)建默認    330
8.5.2  將默認綁定到列    331
8.6  疑難解析    331
8.6.1  創(chuàng)建UNIQUE約束的注意事項    331
8.6.2  創(chuàng)建CHECK約束的注意事項    332
8.7  本章小結    332
8.8  實踐題目    332
第9章  數(shù)據(jù)安全性—角色、用戶和權限    334
9.1  本章導讀    334
9.2  SQL Server 2000的數(shù)據(jù)安全性機制    334
9.2.1  SQL Server 2000的數(shù)據(jù)安全性機制    334
9.2.2  SQL Server 2000的身份驗證機制    335
9.2.3  SQL Server 2000的角色機制    336
9.2.4  SQL Server 2000的權限(許可)機制    337
9.3  管理服務器角色    338
9.3.1  管理角色    338
9.3.2  創(chuàng)建數(shù)據(jù)庫角色    339
9.4  管理用戶賬戶(登錄)    341
9.4.1  創(chuàng)建登錄    341
9.4.2  管理登錄的權限    342
9.5  審核用戶活動(AUDIT)    342
9.5.1  啟動服務器的審核功能    343
9.5.2  利用【事件探查器】進行審核    343
9.6  疑難解析    346
9.6.1  賬戶和密碼保存在哪里    346
9.6.2  如何選擇身份驗證機制    346
9.6.3  應用程序角色和標準角色有什么區(qū)別    346
9.6.4  什么時機使用應用程序角色    347
9.6.5  為什么【企業(yè)管理器】中無法添加Windows用戶組    347
9.6.6  如何設計SQL Server 2000服務器的安全體系    347
9.6.7  如何使用sa賬戶    347
9.6.8  什么是dbo用戶    347
9.6.9  什么是數(shù)據(jù)庫對象所有者    348
9.7  本章小結    348
第10章  數(shù)據(jù)并發(fā)性—事務和鎖    349
10.1  本章導讀    349
10.2  SQL Server 2000的事務機制    349
10.2.1  SQL Server 2000的并發(fā)問題    349
10.2.2  什么是事務(Transaction)    351
10.2.3  事務的狀態(tài)    352
10.2.4  SQL Server 2000事務模式    353
10.2.5  SQL Server 2000事務控制語句    354
10.2.6  SQL Server 2000的平面事務    354
10.2.7  SQL Server 2000的嵌套事務    354
10.2.8  SQL Server 2000的分布式事務    356
10.2.9  效率VS.一致性—事務的調(diào)度機制    358
10.2.10  一致性VS.并發(fā)性—事務的隔離性級別    358
10.2.11  什么是SQL Server 2000批    359
10.2.12  事務中不能使用的Transact-SQL語句    359
10.3  SQL Server 2000的鎖機制    359
10.3.1  并發(fā)問題解決機制    359
10.3.2  鎖—預先預防沖突的悲觀并發(fā)控制機制    360
10.3.3  SQL Server 2000鎖的粒度    361
10.3.4  SQL Server 2000鎖的類型(模式)    361
10.3.5  鎖持有度    363
10.3.6  鎖擁有者    363
10.3.7  查詢鎖信息    363
10.3.8  鎖的兼容性    365
10.3.9  SQL Server 2000的動態(tài)鎖機制    365
10.3.10  在【企業(yè)管理器】中查看鎖    366
10.3.11  死鎖的檢測和預防    366
10.3.12  SQL Server 2000的死鎖檢測和結束機制    367
10.3.13  用【事件探查器】檢測死鎖    368
10.4  SQL Server 2000的事務編程    368
10.4.1  設置和關閉隱性事務模式    368
10.4.2  定義本地事務    370
10.4.3  提交事務    371
10.4.4  回滾事務    372
10.4.5  利用保存點保存本地事務    373
10.4.6  設置事務的隔離性級別    373
10.5  疑難解析    374
10.5.1  本地事務什么時機會升級為分布式事務    374
10.5.2  編寫前臺應用程序時如何使用事務    374
10.5.3  在利用ADO編寫前臺應用程序時如何使用事務    375
10.5.4  編寫前臺應用程序時如何使用隱性事務    375
10.5.5  編寫前臺應用程序事務的原則    376
10.5.6  Log Explorer—明明白白學日志的工具    377
10.5.7  Select語句會不會產(chǎn)生日志    379
10.5.8  Insert語句產(chǎn)生了什么事務日志    379
10.5.9  Update語句產(chǎn)生了什么事務日志    380
10.5.10  Delete語句產(chǎn)生了什么事務    381
10.6  本章小結    381
第11章  數(shù)據(jù)庫備份和恢復    383
11.1  本章導讀    383
11.2  基于日志的數(shù)據(jù)庫恢復機制    384
11.2.1  日志對數(shù)據(jù)庫是必須的嗎    384
11.2.2  日志的作用    384
11.2.3  SQL Server 2000日志的特點    385
11.2.4  日志記錄—日志文件的內(nèi)容單位    385
11.2.5  UndoVS.Redo—基于日志的數(shù)據(jù)庫恢復機制    385
11.2.6  LSN—維系數(shù)據(jù)和日志的紐帶    386
11.2.7  WAL—先寫日志的恢復機制    388
11.3  SQL Server 2000的常見故障和恢復機制    390
11.3.1  Undo—事務故障及其恢復機制    390
11.3.2  Undo+Redo—系統(tǒng)故障及其恢復機制    391
11.3.3  Redo—介質(zhì)故障及其恢復機制    391
11.4  SQL Server 2000的日志檢查點機制    392
11.4.1  檢查點—日志的驛站    392
11.4.2  為什么檢查點能提高恢復的效率    393
11.4.3  MinLSN—如何選擇最小恢復LSN    394
11.4.4  什么情況下產(chǎn)生檢查點    394
11.4.5  SQL Server 2000的自動檢查點機制    395
11.4.6  CHECKPOINT—手動產(chǎn)生檢查點    395
11.5  安全VS.空間—SQL Server 2000數(shù)據(jù)庫的恢復模型    396
11.5.1  完全恢復模型    396
11.5.2  大容量日志記錄恢復模型    397
11.5.3  簡單恢復模型    397
11.5.4  3種恢復模型的比較    397
11.5.5  設置SQL Server 2000數(shù)據(jù)庫的恢復模型    398
11.5.6  不同恢復模型下的檢查點操作    398
11.6  SQL Server 2000的備份機制    400
11.6.1  SQL Server 2000的備份類型    400
11.6.2  不同的恢復模型支持的備份類型    401
11.6.3  SQL Server 2000的備份設備    401
11.6.4  用SP_SPACEUSED估計備份的大小    403
11.7  用【企業(yè)管理器】備份與恢復    404
11.7.1  完全數(shù)據(jù)庫備份    404
11.7.2  完全數(shù)據(jù)庫恢復    405
11.7.3  事務日志備份    406
11.7.4  事務日志恢復    407
11.7.5  差異數(shù)據(jù)庫備份    408
11.7.6  差異數(shù)據(jù)庫恢復    409
11.7.7  文件和文件組備份    410
11.7.8  文件和文件組恢復    411
11.8  用Transact-SQL備份與恢復    412
11.8.1  用于數(shù)據(jù)庫備份的Transact-SQL語句    412
11.8.2  用于文件或文件組備份的Transact-SQL語句    414
11.8.3  用于日志備份的Transact-SQL語句    415
11.8.4  截斷事務日志Transact-SQL語句    416
11.8.5  恢復完全數(shù)據(jù)庫備份的Transact-SQL語句    416
11.8.6  恢復事務日志備份的Transact-SQL語句    417
11.9  設計和實施一個完整的數(shù)據(jù)庫備份與恢復方案    418
11.9.1  技術VS.代價—如何制定備份與恢復方案    418
11.9.2  選擇SQL Server 2000數(shù)據(jù)庫的恢復模型    420
11.9.3  適合絕大部分數(shù)據(jù)庫的兩種備份與恢復方案    421
11.9.4  剖析一個完整的數(shù)據(jù)庫備份與恢復方案    421
11.9.5  實施一個完整的數(shù)據(jù)庫備份方案    422
11.9.6  實施災難數(shù)據(jù)庫恢復方案    425
11.11  疑難解析    426
11.11.1  僅有.BAK文件時如何恢復    426
11.11.2  為什么無法進行事務日志備份和文件備份    427
11.11.3  為什么無法創(chuàng)建差異數(shù)據(jù)庫備份    427
11.11.4  備份或者恢復過程發(fā)生中斷如何處理    428
11.11.5  什么時機需要備份Master數(shù)據(jù)庫    429
11.11.6  需不需要備份tempdb數(shù)據(jù)庫    429
11.11.7  當前日志和備份日志有什么關系    429
11.11.8  僅有數(shù)據(jù)文件、沒有日志文件時如何恢復    429
11.11.9  DBCC LOGINFO查看VLF    431
11.11  本章小結    432
11.12  實踐題目    432
第12章  智能管理—代理服務    434
12.1  本章導讀    434
12.2  SQL Server 2000的代理服務機制    434
12.2.1  SQL Server 2000代理服務的結構    434
12.2.2  SQL Server 2000代理服務的運行環(huán)境    435
12.2.3  配置SQL Server 2000代理服務的屬性    435
12.3  一個基于代理服務實現(xiàn)的智能作業(yè)    437
12.3.1  創(chuàng)建警報    437
12.3.2  創(chuàng)建操作員    438
12.3.3  創(chuàng)建作業(yè)    439
12.4  本章小結    441
12.5  實踐題目    442
第13章  服務器性能監(jiān)控、調(diào)整和優(yōu)化    443
13.1  本章導讀    443
13.2  可能導致性能瓶頸的因素    444
13.2.1  服務器資源    444
13.2.2  網(wǎng)絡    444
13.2.3  數(shù)據(jù)庫設計    444
13.2.4  應用系統(tǒng)設計    444
13.3  服務器性能監(jiān)控和調(diào)整工具    445
13.3.1  Windows的【性能監(jiān)控器】    445
13.3.2  Windows的【任務管理器】    446
13.3.3  SQL Server 2000的【事件探查器】    447
13.3.4  SQL Server 2000的【查詢分析器】    449
13.3.5  特殊的系統(tǒng)存儲過程    449
13.3.6  特殊的DBCC命令    449
13.3.7  特殊的全局變量    450
13.3.8  SQL Server 2000的【索引調(diào)節(jié)向?qū)А?nbsp;   453
13.4  監(jiān)控和調(diào)整I/O性能    453
13.4.1  磁盤I/O對服務器性能的影響    453
13.4.2  監(jiān)控磁盤I/O性能的計數(shù)器    453
13.4.3  磁盤I/O是否是性能瓶頸    454
13.4.4  可能導致磁盤I/O性能瓶頸的原因    454
13.4.5  順序I/O VS.隨機I/O—SQL Server 2000的I/O類型    455
13.4.6  調(diào)整I/O性能的方法    455
13.5  監(jiān)控和調(diào)整內(nèi)存性能    456
13.5.1  物理內(nèi)存VS.虛擬內(nèi)存    456
13.5.2  內(nèi)存頁面錯誤—內(nèi)存性能低下的原因    456
13.5.3  監(jiān)控內(nèi)存性能的計數(shù)器    457
13.5.4  內(nèi)存是不是性能瓶頸    457
13.5.5  調(diào)整內(nèi)存性能的方法    458
13.6  監(jiān)控和調(diào)整CPU性能    458
13.6.1  進程VS.線程VS.纖程—分配CPU資源的單位    458
13.6.2  用戶模式VS.特權模式    459
13.6.3  監(jiān)控CPU性能的計數(shù)器    459
13.6.4  CPU是不是性能的瓶頸    459
13.6.5  監(jiān)控消耗CPU資源進程的計數(shù)器    460
13.6.6  監(jiān)控消耗CPU資源線程的計數(shù)器    460
13.6.7  監(jiān)控進程和線程的意義    460
13.6.8  更多CPU VS.更快的CPU    461
13.7  監(jiān)控和調(diào)整網(wǎng)絡性能    461
13.7.1  監(jiān)控網(wǎng)絡性能的計數(shù)器    461
13.7.2  調(diào)整網(wǎng)絡性能的方法    461
13.8  調(diào)整和優(yōu)化數(shù)據(jù)庫設計    462
13.8.1  監(jiān)控數(shù)據(jù)庫性能的計數(shù)器    462
13.8.2  優(yōu)化數(shù)據(jù)庫設計的方法    464
13.9  調(diào)整和優(yōu)化應用系統(tǒng)設計    464
13.9.1  監(jiān)控應用系統(tǒng)性能的計數(shù)器    464
13.9.2  優(yōu)化應用系統(tǒng)設計的方法    465
13.10  設計和實現(xiàn)一個優(yōu)化的SQL Server 2000服務器    465
13.10.1  數(shù)據(jù)和日志文件分開存放在不同磁盤上    465
13.10.2  tempdb數(shù)據(jù)庫單獨存放在不同磁盤上    465
13.10.3  避免熱點數(shù)據(jù)的發(fā)生    466
13.10.4  數(shù)據(jù)類型要少    466
13.10.5  監(jiān)控和整理空間碎片    466
13.10.6  使用主數(shù)據(jù)文件和次要數(shù)據(jù)文件    466
13.10.7  利用文件組改善性能    466
13.10.8  重視自動增長和自動收縮可能導致的性能問題    467
13.10.9  分離系統(tǒng)數(shù)據(jù)和用戶數(shù)據(jù)    467
13.10.10  優(yōu)化索引設計    467
13.10.11  定期更新統(tǒng)計信息    467
13.10.12  定期的一致性檢查    467
13.11  疑難解析    467
13.11.1  整數(shù)VS.浮點運算能力—配置SQL Server 2000系統(tǒng)的CPU    467
13.11.2  查詢密集VS.事務密集—配置SQL Server 2000系統(tǒng)的內(nèi)存    468
13.11.2  容量VS.吞吐量—配置SQL Server 2000系統(tǒng)的硬盤    468
13.12  本章小結    468
第14章  SQL SERVER 2000高級管理專題    470
14.1  本章導讀    470
14.2  數(shù)據(jù)轉(zhuǎn)換服務DTS    470
14.2.1  什么是DTS服務    470
14.2.2  使用DTS向?qū)мD(zhuǎn)換數(shù)據(jù)    471
14.2.3  創(chuàng)建DTS包    474
14.2.4  DTS包調(diào)度執(zhí)行失敗原因及解決方法    477
14.3  全文索引    478
14.3.1  基表查詢VS.全文查詢    478
14.3.2  什么是全文目錄    479
14.3.3  什么是全文索引    479
14.3.4  啟用全文檢索服務    479
14.3.5  定義全文索引    480
14.3.6  利用全文索引檢索數(shù)據(jù)    482
14.4  分布式數(shù)據(jù)復制    484
14.4.1  備份VS.復制    484
14.4.2  分布式數(shù)據(jù)復制的優(yōu)點    484
14.4.3  什么時機需要使用分布式數(shù)據(jù)復制    485
14.4.4  SQL Server 2000分布式數(shù)據(jù)復制的機制    485
14.4.5  拉訂閱(請求訂閱)VS.推訂閱(強制訂閱)    485
14.4.6  SQL Server 2000的分布式數(shù)據(jù)復制類型    486
14.4.7  SQL Server 2000的分布式數(shù)據(jù)復制代理    487
14.4.8  配置發(fā)布、訂閱和分發(fā)服務器    488
14.4.9  使用【復制監(jiān)視器】    491
14.4.10  創(chuàng)建及管理發(fā)布    492
14.4.11  創(chuàng)建訂閱    495
14.5  本章小結    499
第15章  專業(yè)的SQL SERVER 2000管理工具    500
15.1  本章導讀    500
15.2  Quest Central    501
15.2.1  Quest Central簡介    501
15.2.2  Quest Central for SQL Server簡介    501
15.2.3  注冊SQL Server 2000服務器    502
15.2.4  自動發(fā)現(xiàn)未注冊的SQL Server 2000服務器    503
15.2.5  比較兩個SQL Server 2000對象    504
15.2.6  Knowledge Xpert    —SQL Server 2000知識寶典    505
15.2.7  SQL Tuning—設計優(yōu)化的SQL語句    506
15.2.8  Space Management—可視化的空間管理工具    507
15.2.9  Database Analysis—專業(yè)數(shù)據(jù)庫性能分析工具    508
15.2.10  Performance Analysis—實時診斷和歷史分析工具    508
15.3  Spotlight    509
15.3.1  Spotlight簡介    509
15.3.2  用Spotlight監(jiān)控服務器總體性能    509
15.3.3  用Spotlight監(jiān)控I/O    510
15.3.4  用Spotlight監(jiān)控Sessions    511
15.3.5  用Spotlight監(jiān)控Lock    511
15.3.6  用Spotlight監(jiān)控有無資源阻塞    512
15.3.7  用Spotlight監(jiān)控物理文件的I/O    512
15.3.8  用Spotlight監(jiān)控內(nèi)存總體性能    513
15.3.9  用Spotlight監(jiān)控數(shù)據(jù)庫空間使用情況    513
15.4  Data Factory    514
15.4.1  Data Factory簡介    514
15.4.2  利用Data Factory產(chǎn)生數(shù)據(jù)    514
15.5  Benchmark Factory    516
15.5.1  Benchmarka Factory簡介    516
15.5.2  數(shù)據(jù)庫壓力測試工業(yè)標準    517
15.5.3  用Benchmark Factory測試數(shù)據(jù)庫壓力    517
15.6  本章小結    520
第二部分   Transact-SQL編程
第16章  TRANSACT-SQL編程    523
16.1  本章導讀    523
16.2  Transact-SQL VS. SQL    523
16.2.1  什么是Transact-SQL    523
16.2.2  Transact-SQL VS. SQL    524
16.2.3  Transact-SQL程序的結構    524
16.2.4  Transact-SQL程序的數(shù)據(jù)類型    525
16.2.5  Transact-SQL程序的批處理    525
16.2.6  應用程序中如何使用Transact-SQL程序    526
16.2.7  Transact-SQL程序的運算符    526
16.3  變量    527
16.3.1  Transact-SQL的變量類型    527
16.3.2  Transact-SQL的全局變量    528
16.3.3  創(chuàng)建和使用局部變量    529
16.4  函數(shù)    530
16.4.1  Convert函數(shù)    530
16.4.2  創(chuàng)建和使用自定義函數(shù)    531
16.5  流程控制語句    533
16.5.1  程序塊語句(BEGIN…END)    533
16.5.2  判斷語句(IF…ELSE)    534
16.5.3  檢測語句(IF…EXISTS)    536
16.5.4  循環(huán)語句(WHILE)    536
16.5.5  分支判斷語句(CASE…WHEN)    537
16.5.6  無條件退出語句(RETURN)    538
16.5.7  延期執(zhí)行語句(WAITFOR)    540
16.5.8  跳轉(zhuǎn)語句(GOTO)    541
16.6  功能性語句    542
16.6.1  輸出語句(PRINT)    542
16.6.2  錯誤處理語句(RAISEERROR)    543
16.6.3  選項設置語句(SET)    544
16.7  游標(Cursor)    545
16.7.1  什么是游標    545
16.7.2  游標的生命周期    545
16.7.3  聲明游標    546
16.7.4  打開游標    547
16.7.5  讀取游標    547
16.7.6  關閉游標    548
16.7.7  釋放游標    548
16.7.8  完整的游標實例    548
16.7.9  游標的執(zhí)行效率很差嗎    549
16.8  本章小結    550
第17章  存儲過程和觸發(fā)器    551
17.1  本章導讀    551
17.2  存儲過程基礎    551
17.2.1  為什么要設計存儲過程    551
17.2.2  什么是存儲過程    552
17.2.3  存儲過程的作用    552
17.2.4  存儲過程有什么優(yōu)點    552
17.2.5  SQL Server 2000存儲過程的分類    553
17.3  創(chuàng)建、執(zhí)行和管理存儲過程    553
17.3.1  在【企業(yè)管理器】中創(chuàng)建存儲過程    553
17.3.2  創(chuàng)建存儲過程的Transact-SQL語法    556
17.3.3  執(zhí)行存儲過程    557
17.3.4  創(chuàng)建帶參數(shù)和返回值的存儲過程    559
17.3.5  執(zhí)行帶參數(shù)和返回值的存儲過程    560
17.3.6  刪除存儲過程    560
17.3.7  執(zhí)行帶參數(shù)的存儲過程的等效語句    560
17.4  觸發(fā)器基礎    561
17.4.1  什么是觸發(fā)器    561
17.4.2  SQL Server 2000的觸發(fā)器類型    561
17.4.3  SQL Server 2000的觸發(fā)器工作原理    562
17.4.4  SQL Server 2000觸發(fā)器的優(yōu)點    563
17.4.5  什么時機使用觸發(fā)器    563
17.5  創(chuàng)建和管理觸發(fā)器    563
17.5.1  創(chuàng)建觸發(fā)器的Transact-SQL語法    563
17.5.2  在【企業(yè)管理器】中創(chuàng)建觸發(fā)器    564
17.5.3  刪除觸發(fā)器    565
17.5.4  觸發(fā)器和約束的區(qū)別    565
17.5.5  觸發(fā)器中是否可以使用Inserted和Deleted表    565
17.6  本章小結    566
17.7  實踐題目    566
第三部分   VB+SQL Server 2000應用開發(fā)
第18章  SQL SERVER 2000應用開發(fā)基礎    571
18.1  本章導讀    571
18.2  兩種SQL Server 2000數(shù)據(jù)庫項目模式    572
18.2.1  C/S模式的數(shù)據(jù)庫項目    572
18.2.2  B/S模式的數(shù)據(jù)庫項目    572
18.3  SQL Server 2000項目開發(fā)流程    573
18.3.1  可行性研究    573
18.3.2  需求分析    574
18.3.3  概要設計    574
18.3.4  詳細設計前臺應用系統(tǒng)    575
18.3.5  詳細設計數(shù)據(jù)庫系統(tǒng)    575
18.3.6  代碼設計    576
18.3.7  測試維護    576
18.3.8  撰寫規(guī)范的項目開發(fā)文檔    576
18.4  構建VB+SQL Server 2000項目開發(fā)環(huán)境    577
18.4.1  確保SQL Server 2000服務器正常工作    577
18.4.2  測試開發(fā)機和SQL Server 2000服務器的連接    578
18.5  VB+SQL Server 2000項目開發(fā)關鍵技術    580
18.5.1  什么是ActiveX控件    580
18.5.2  ADO—開發(fā)數(shù)據(jù)庫項目的積木    581
18.5.3  SQL—ADO操縱SQL Server 2000數(shù)據(jù)庫的語言    581
18.5.4  ODBC接口    581
18.5.5  OLEDB接口    582
18.5.6  完整的ADO程序結構    583
18.5.7  連接池—影響程序效率的黑馬    583
18.6  本章小結    585
第19章  VB數(shù)據(jù)庫項目開發(fā)關鍵    586
19.1  本章導讀    586
19.2  完整的VB數(shù)據(jù)庫項目開發(fā)流程    586
19.2.1  建立數(shù)據(jù)庫工程    587
19.2.2  設計步驟    587
19.2.3  剖析工程的結構    592
19.2.4  設置工程的屬性    592
19.2.5  編譯工程    593
19.2.6  打包和發(fā)布工程    594
19.3  3種VB數(shù)據(jù)庫項目編程技術    596
19.3.1  如何引用ADODB對象    596
19.3.2  使用表名的VB數(shù)據(jù)庫項目編程技術    597
19.3.3  使用SQL語句的VB數(shù)據(jù)庫項目編程技術    600
19.3.4  使用存儲過程的VB數(shù)據(jù)庫項目編程技術    600
19.3.5  3種VB數(shù)據(jù)庫項目編程技術比較    603
19.4  3種VB數(shù)據(jù)庫項目接口技術    603
19.4.1  ODBC接口技術    603
19.4.2  OLEDB接口技術    606
19.4.3  OLEDB-ODBC接口技術    606
19.4.4  3種接口技術比較    606
19.5  3種質(zhì)量的VB數(shù)據(jù)庫項目代碼    607
19.5.1  代碼級別的VB數(shù)據(jù)庫項目    607
19.5.2  模塊級別的VB數(shù)據(jù)庫項目    607
19.5.3  類模塊級別的VB數(shù)據(jù)庫項目    608
19.6  ODBC API數(shù)據(jù)庫項目開發(fā)    608
19.6.1  間接的ODBC接口技術    608
19.6.2  使用ODBC API的直接接口技術    608
19.6.3  剖析ODBC API的編程機制    609
19.6.4  開發(fā)一個完整的ODBC API數(shù)據(jù)庫項目    612
19.6.5  剖析ODBC API數(shù)據(jù)庫項目的結構    616
19.6.6  ODBC API不是效率的神話    617
19.7  VB和SQL Server 2000數(shù)據(jù)類型的轉(zhuǎn)換    617
19.7.1  SQL Server 2000的數(shù)據(jù)類型    617
19.7.2  VB的數(shù)據(jù)類型    618
19.7.3  VB和SQL Server 2000數(shù)據(jù)類型的轉(zhuǎn)換    619
19.8  VB數(shù)據(jù)庫項目常用函數(shù)    619
19.8.1  常用字符和數(shù)值轉(zhuǎn)換函數(shù)    619
19.8.2  常用的字符串函數(shù)    620
19.8.3  常用的日期型函數(shù)    622
19.8.4  常用的數(shù)據(jù)類型轉(zhuǎn)換函數(shù)    623
19.9  本章小結    624
第20章  基于ADO的VB數(shù)據(jù)庫應用開發(fā)    626
20.1  本章導讀    626
20.2  基于ADODC的數(shù)據(jù)庫應用開發(fā)    626
20.2.1  使用通用數(shù)據(jù)鏈接文件的ADODC    626
20.2.2  使用文件DSN的ADODC    628
20.2.3  使用系統(tǒng)DSN的ADODC    631
20.2.4  使用連接字符串的ADODC    632
20.2.5  ADODC連接SQL Server 2000數(shù)據(jù)庫方法比較    633
20.2.6  ADODC編程    633
20.3  ADO的體系結構    635
20.3.1  客戶機內(nèi)存VS.服務器內(nèi)存—ADO數(shù)據(jù)在哪里    635
20.3.2  內(nèi)存中的ADO數(shù)據(jù)    635
20.3.3  ADODC的體系結構    637
20.3.4  ADODB的體系結構    637
20.3.5  ADODC和ADODB的體系結構比較    638
20.4  Connection對象編程    638
20.4.1  設計Connection對象工程    639
20.4.2  Connection對象的編程結構    640
20.4.3  Connection對象的編程要素    640
20.5  Recordset對象編程    641
20.5.1  設計Recordset對象工程    641
20.5.2  Recordset對象的編程結構    642
20.5.3  Open—Recordset對象如何提取數(shù)據(jù)    643
20.5.4  Cursor—讓Recordset數(shù)據(jù)自由移動的指針    645
20.5.5  CursorLocation—Cursor存放在客戶機還是服務器    645
20.5.6  CursorType—移動數(shù)據(jù)有區(qū)別    648
20.5.7  LockType—確保數(shù)據(jù)的安全    650
20.5.8  Recordset對象的編程方法    654
20.5.9  Recordset對象的編程屬性    654
20.5.10  一個Recordset對象編程的完整實例    655
20.6  Command對象編程    657
20.6.1  無Command對象如何執(zhí)行SQL    658
20.6.2  使用Command對象如何執(zhí)行SQL    658
20.6.3  Command和Recordset對象執(zhí)行SQL方法的比較    660
20.7  本章小結    661
第21章  控件—顯示數(shù)據(jù)的藝術    662
21.1  本章導讀    662
21.2  ADODC控件    662
21.2.1  BOFAction—到達首記錄如何處理    663
21.2.2  EOFAction—到達尾記錄如何處理    663
21.2.3  CacheSize—客戶機內(nèi)存上有多少記錄    663
21.2.4  CommandTimeout—ADO判斷錯誤命令的最長時間    663
21.2.5  CommandType—用什么命令提取數(shù)據(jù)    664
21.2.6  ConnectionString—數(shù)據(jù)庫在哪里    664
21.2.7  ConnectionTimeout—ADO連接等待的最長時間    664
21.2.8  CursorLocation—Cursor放在客戶機還是服務器上    664
21.2.9  CursorType—移動Recordset數(shù)據(jù)有區(qū)別    664
21.2.10  LockType—怎樣確保數(shù)據(jù)的安全    665
21.2.11  MaxRecords—最大的數(shù)據(jù)記錄數(shù)目    665
21.2.12  Mode—連接信息的更改權限    665
21.2.13  Password—訪問數(shù)據(jù)庫的密碼    665
21.2.14  UserName—訪問數(shù)據(jù)庫的賬戶    665
21.2.15  RecordSource—訪問數(shù)據(jù)庫的賬戶    666
21.3  DataList控件    666
21.3.1  編寫一個使用DataList控件的程序    666
21.3.2  RowSource—指定DataList控件的數(shù)據(jù)來源    667
21.3.3  ListField—指定DataList控件顯示的數(shù)據(jù)    667
21.3.4  BoundColumn—指定DataList控件返回的數(shù)據(jù)    668
21.3.5  ADODC控件和DataList控件是如何連接的    668
21.3.6  DataList控件的主要方法    668
21.4  DataCombo控件    668
21.4.1  編寫一個使用DataCombo控件的程序    668
21.4.2  DataCombo控件的主要屬性    670
21.4.3  DataCombo控件的主要方法    670
21.4.4  ADODC控件和DataCombo控件是如何連接的    670
21.5  DataGrid控件    670
21.5.1  編寫一個使用DataGrid控件的程序    671
21.5.2  DataGrid控件的主要屬性    673
21.5.3  DataGrid控件的布局藝術    673
21.5.4  給DataGrid控件添加數(shù)據(jù)列    674
21.6  本章小結    674
第22章  報表—打印數(shù)據(jù)的藝術    675
22.1  本章導讀    675
22.2  數(shù)據(jù)環(huán)境—報表數(shù)據(jù)之源    675
22.2.1  設計一個數(shù)據(jù)環(huán)境對象    676
22.2.2  在程序中使用數(shù)據(jù)環(huán)境對象    678
22.2.3  數(shù)據(jù)環(huán)境對象的主要屬性    679
22.2.4  數(shù)據(jù)環(huán)境對象的主要方法    680
22.2.5  對數(shù)據(jù)環(huán)境對象編程    680
22.3  報表的設計藝術    683
22.3.1  設計一個空白報表    683
22.3.2  報表設計器    685
22.3.3  向空白報表中添加數(shù)據(jù)    686
22.3.4  設計列表式報表    687
22.3.5  在報表中打印時間、日期和頁碼    689
22.3.6  報表數(shù)據(jù)對齊    689
22.3.7  設計數(shù)據(jù)的打印格式    689
22.3.8  打印數(shù)據(jù)的自動換行    690
22.3.9  避免不恰當?shù)臄?shù)據(jù)分頁    690
22.3.10  控制報表組成部分是否分頁    691
22.3.11  設置打印的報表大小    691
22.3.12  如何控制報表的預覽    692
22.3.13  如何控制報表的打印    692
22.3.14  如何控制報表的導出    693
22.3.15  利用RptFunction控件設計統(tǒng)計報表    693
22.4  分組統(tǒng)計報表的設計藝術    695
22.4.1  設計工程結構    695
22.4.2  在數(shù)據(jù)環(huán)境中建立數(shù)據(jù)分組    696
22.4.3  設計分組統(tǒng)計報表    697
22.4.4  分組統(tǒng)計報表的設計步驟    701
22.5  利用【水晶報表】設計報表    701
22.5.1  利用【水晶報表】設計報表    701
22.5.2  在VB程序中調(diào)用設計的報表    704
22.5.3  實踐中發(fā)現(xiàn)的問題    706
22.6  本章小結    707

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號