目錄
第1部分 概述
第1章 Microsoft SQL Server 的演變過程:從1989年到1996年
1.1 競爭的背景産生瞭MicrosoftSQLServer
1.2 早期的NDK
1.3 MocrosoftSQLServer的正式發布
1.4 開發工作的加強
1.5 OS/2和“友好的火力’
1.6 4.2版本
1.7 OS/22.0的發布延遲瞭
1.7 14.2版本發布瞭
1.8 WindowsNT上的SQLServer
1.9 成功帶來的巨大變化
1.10 閤作開發的結束
1.11 SQL95的費用
1.12 下一個版本
第2章 遊曆MicrosoftSQLServer
2.1 引言
2.2 SQLServer引擎
2.2.1 Transac蔔SQL
2.3 DBMS-強製性的數據完整性
2.3.1 說明性參照完整性
2.3.2 數據類型
2.3.3 CHECK約束和規則
2.3.4 默認值
2.3.5 觸發器
2.4 事務處理
2.4.1 原子性
2.4.2 一緻性
2.4.3 隔離性
2.4.4 耐久性
2.5 對稱的服務器結構
2.5.1 傳統的進程/綫索模型
2.5.2 MicrosoftSQLServer的進程/綫索模型
2.5.3 多用戶性能
2.6 安全性
2.6.1 監測與管理安全性
2.7 高度的有效性
2.8 分布式的數據處理
2.9 數據復製
2.10 係統管理
2.10.1 SQLEnterpriseManager
2.10.2 分布式的管理對象
2.10.3 Automation和VisualBasic腳本
2.10.4 SQLExecutive
2.11 SQLServer工具軟件和擴展
2.11.1 SQLServerWebAssistant和訪問Internet
2.11.2 SQL Tranc e
2.11.3 SQLServiceManager
2.11.4 與Windows NTPerformanceMonitor集成
2.11.5 SQLSecurityManager
2.11.6 SQLClientConfigrationUtility
2.11.7 SQLServer安裝程序
2.11.8 ISQL/w和ISQL
2.11.9 大批量拷貝工具
2.11.10 與SNMP結閤
2.11.11 SQLServer的聯機閱讀文檔
2.12 開發界麵
2.12.1 DB-Library
2.12.2 ODBC
2.12.3 ESQLforC
2.12.4 OpenDataServices
小結
第2部分 體係結構概述
第3章 SQLServer的結構
3.1 概述
3.2 SQLServer引擎
3.2.1 網庫
3.2.2 OpenDataServices
3.2.3 命令分析器
3.2.4 遠程存儲過程調用的處理器
3.2.5 序化器和優化器
3.2.6 執行器
3.2.7 搜索管理器
3.2.8 數據庫和頁管理器
3.2.9 事務管理器
3.2.10 加鎖管理器
3.2.11 行操作管理器、索引管理器、文本管理器
3.2.12 緩衝區管理器和日誌寫入器
3.3 大內存問題
3.3.1 快速訪問內存中的頁
3.3.2 快速訪問空閑頁(Lazywri ter)
3.4 事務日誌和恢復
3.4.1 加鎖和恢復
3.4.2 時戳和恢復
3.5 SQLServer的內核以及SQLServer與WindowsNT的相互作用
3.5.1 綫索和對稱多處理
3.5.2 工作人員綫索池
3.5.3 可伸縮性、性能和測試準則
小結
第3部分 應用SQLServer
第4章 規劃和安裝SQLServer
4.1 安裝雖易,但考慮仍需周全
4.2 SQLServer與SQL工作站
4.3 選擇硬件
4.3.1 使用與Windows硬件兼容的硬件
4.3.2 選擇好的處理器
4.3.3 性能等於處理器周期、內存和I/O吞吐率的綜閤效果
4.3.4 要捨得在測試程序上花錢
4.4 硬件指導原則
4.4.1 處理器
4.4.2 內存
4.4.3 磁盤驅動器、控製器和磁盤組
4.4.4 RAID方法
4.4.5 關於驅動器和控製器的進一步說明
4.4.6 使用不間斷電源
4.4.7 檢測磁盤子係統
4.4.8 撤退型服務器功能
4.4.9 其它硬件方麵的考慮
4.5 操作係統
4.6 文件係統
4.7 安全性和用戶環境
4.8 選擇許可證
4.8.1 Internet許可證
4.8.2 許可證限製
4.9 網絡協議選擇
4.10 字符集和排序順序問題
4.10.1 字符集
4.10.2 排序順序
4.11 運行安裝程序
4.12 安裝後的基本配置
4.13 無值守安裝和遠程安裝
4.13.1 遠程安裝
4.13.2 無值守安裝
4.13.3 在最初安裝後使用安裝程序
小 結
第5章 數據庫和設備
5.1 什麼是數據庫?
5.2 數據庫設備
5.2.1 建立數據庫設備
5.2.2 設備號
5.2.3 擴充設備
5.2.4 默認設備
5.2.5 掛接和脫開設備
5.2.6 與設備的建立和安裝有關的錯誤
5.2.7 鏡象功能
5.3 建立數據庫
5.3.1 分離事務日誌
5.4 數據庫的最大化和分片
5.5 擴充和收縮數據庫
5.6 數據庫內幕
5.7 數據庫選項
5.8 改變數據庫選項
5.9 有關數據庫其它方麵的考慮
5.9.1 FORLOAD選項
5.9.2 數據庫與模式有差彆
5.9.3 可移動介質
5.9.4 專門的係統數據庫
小結
第6章 錶
6.1 引言
6.2 建錶
6.2.1 命名錶和列
6.2.2 關鍵字和保留字
6.2.3 命名約定
6.2.4 數據類型
6.3 內部存儲細節
6.3.1 數據頁
6.3.2 查看數據頁
6.3.3 數據行
6.3.4 偏移錶和調節錶
6.3.5 定長行和變長行的存儲方法
6.4 索引
6.4.1 群聚索引
6.4.2 非群聚索引
6.4.3 建立索引
6.5 用戶定義的數據類型
6.6 Identity屬性
6.7 約束
6.7.1 主鍵和唯一性約束
6.7.2 FOREIGNKEY(外鍵)約束
6.7.3 約束檢查方法
6.7.4 關於刪除錶的限製
6.7.5 自引用錶
6.7.6 參照動作
6.7.7 CHECK約束
6.7.8 “默認”約束
6.7.9 關於約束的進一步說明
6.8 臨時錶
6.8.1 私人臨時錶(#)
6.8.2 共用臨時錶
6.8.3 直接使用tempdb
6.8.4 對臨時錶的約束
小結
第7章 查詢數據
7.1 引言
7.2 SELECT語句
7.3 聯結
7.3.1 外聯結
7.3.2 廢棄外聯結運算符
7.4 處理NULL
7.4.1 現時世界中的NULL
7.4.2 ISNULL和=NULL
7.5 子查詢
7.5.1 相關子查詢
7.6 視圖和導齣錶
7.7 其它搜索錶達式
7.7.1 LIKE
7.7.2 BETWEEN
7.7.3 集閤函數
7.7.4 利用集閤函數的計算結果從不同角度查看數據
7.7.5 CUBE
7.7.6 ROLUP
7.7.7 UNION
小結
第8章 修改數據
8.1 引言
8.2 基本的修改操作
8.2.1 INSERT
8.2.2 UPDATE
8.2.3 DELETE
8.2.4 通過視圖修改數據
8.2.5 WITHCHECKOPTION選項
8.3 內部細節和性能方麵的考慮
8.3.1 行的定位
8.3.2 更新策略
8.3.3 示例
8.3.4 加鎖問題
小結
第9章 利用Transact- SQL編程
9.1 引言
9.2 作為編程語言的Transact-SQL
9.3 Transact-SQL編程結構-基本知識
9.3.1 變量
9.3.2 流控製工具
9.3.3 CASE
9.3.4 CASE的變形
9.3.5 注解
9.3.6 PRINT和RAISERROR
9.3.7 運算符
9.3.8 標量函數
小結
第10章 批處理、事務、存儲過程和觸發器
10.1 引言
10.2 批處理文件
10.3 事務
10.3.1 明確的事務和隱含的事務
10.3.2 在事務中查錯
10.3.3 事務隔離等級
10.3.4 事務的附加特性
10.4 存儲過程
10.4.1 嵌套的存儲過程
10.4.2 存儲過程中的遞歸技術
10.4.3 嵌套的事務塊
10.4.4 保存點
10.4.5 存儲過程的參數
10.5 批處理文件的處理和存儲過程的存儲
10.5.1 存儲過程的存儲
10.5.2 將存儲過程加密
10.5.3 臨時的存儲過程
10.5.4 係統存儲過程和專用的“sp-”前綴
10.5.5 自動啓動存儲過程
10.5.6 係統存儲過程
10.5.7 類目存儲過程
10.5.8 SQLExective存儲過程
10.5.9 復製存儲過程
10.5.10 擴展存儲過程
10.6 觸發器
10.6.1 重新執行一個觸發器
10.7 調試存儲過程和觸發器
10.7.1 構造並執行一個字符串
10.8 操作文本和圖象數據
10.8.1 WR ITETEXT
10.8.2 READTEXT
10.8.3 UPDATETEXT
10.9 環境方麵的注意事項
10.9.1 區分大小寫
10.9.2 NULL值和ANSI一緻性設置
10.9.3 針對本地的SET選項
小結
第11章 光標
11.1 引言
11.2 光標的基本知識
11.3 光標和ISAM
11.3.1 ISAM:過多的命令和網絡交通
11.3.2 ISAM:過量地使用服務器資源
11.3.3 ISAM:不必要的長事務
11.4 光標模型
11.4.1 Transact-SQL光標
11.4.2 API服務器光標
11.4.3 客戶光標
11.4.4 默認的結果集
11.4.5 API服務器光標和Transact-SQL光標之比較
11.5 適度使用光標
11.5.1 逐行操作
11.5.2 查詢操作
11.5.3 滾動應用程序
11.5.4 選擇光標模型
11.5.5 光標的成員、滾動和對修改的敏感度
11.6 Transact-SQL光標的句法和行為
11.6.1 DECLARE
11.6.2 OEN
11.6.3 FETCH
11.6.4 UPDATE
11.6.5 DELETE
11.6.6 CLOSE
11.6.7 DEALLOCATE
11.6.8 Transact-SQL光標的行為
11.6.9 最簡單的光標句法
11.6.10 完全可滾動的Transact-SQL光標
11.6.11利用Transact-SQL光標控製並發性
小結
第12章 Transact-SQL示例和編程之謎
12.1 引言
12.2 用觸發器實現參照動作
12.3 編程之謎
12.3.1 生成測試數據
12.3.2 查找前n個值
12.3.3 獲取排隊順序
12.3.4 時間序列問題:查找不同時間段間的差異
12.3.5 纍計求和問題
12.3.6 隔n行采樣問題
12.3.7 查找含匹配列的行
12.3.8 將數據放到一個Web頁上――快速方法
12.3.9 擴充層次結構(或稱“物料賬單問題”)
12.3.10 用選擇的方法取代迭代
12.3.11 獲取錶中的行數――最快方法
12.3.12 保存計算列
12.3.13 數據透視錶(或稱“交叉錶”)
12.3.14 將SQLServer與e-mail集成
12.3.15 模擬一個分布式查詢
12.3.16 模擬一個分布式、分區式插入
12.3.17 將文本復製到有序的varchar型列中
12.3.18 實例化並執行一個自動對象
小結
第13章 加鎖
13.1 引言
13.2 加鎖管理器
13.2.1 加鎖管理器和隔離等級
13.2.2 自鏇鎖
13.2.3 死鎖
13.2.4 加鎖和內存
13.3 用戶數據的加鎖類型
13.4 查看加鎖
13.5 加鎖的兼容性
13.5.1 約束連接
13.5.2 行加鎖和頁加鎖
13.5.3 插入行加鎖
14.17.1 優化器
14.18 監測查詢性能
14.18.1 STATISTICSIO
14.18.2 STATISTICSTIME
14.18.3 SHOWPLAN ON
14.18.4 觀察優化器的決策過程
14.18.5 使用優化器和加鎖暗示
小結
第15章 配置與性能監測
15.1 引言
15.2 檢查和調整WindowsNT配置設置
15.2.1 WindowsNT任務管理
15.2.2 WindowsNTServer的資源分配
15.2.3 WindowsNT服務器PAGEFILE.SYS位置
15.2.4 WindowsNT文件係統選擇
15.2.5 次要的WindowsNT服務
15.2.6 WindowsNT網絡協議
15.3 檢查和調整SQLServer配置參數
15.3.1 影響整個服務器的選項:sp-configure設置
15.3.2 數據庫選項
15.3.3 插入行加鎖
15.3.4 緩衝區管理器選項
15.3.5 SQLSERVR.EXE的啓動參數
15.4 維護係統
15.5 監測係統性能
15.5.1 性能監測器計數器
15.5.2 監測性能的其它考慮
小結
第5部分 附錄
附錄1 SQLServer的內置共用變量
附錄2 推薦讀物
參考文獻
· · · · · · (
收起)