第1部分 概述和体系结构
第1章 SQL Server 2000概述
1. 1 SQL Server 2000中的改进
1. 2 支持大容量内存
1. 3 支持Internet
1. 3. 1 SQL Servr集群
1. 3. 2 多个实例
1. 3. 3 备份和恢复功能
1. 3. 4 改进的复制功能
1. 3. 5 日志输送
1. 3. 6 改善的索引机制
1. 3. 7 增强的Windows 2000安全性能
1. 3. 8 全文搜索
1. 4 SQL Server 7. 0的改进
1. 4. 1 简化的配置
1. 4. 2 动态空间管理
1. 4. 3 数据存储
1. 4. 4 并行查询处理
1. 4. 5 基于成本的锁定
1. 4. 6 存储例程执行的改进
1. 4. 7 连接的分解与合并
1. 5 性能分析工具
1. 6 资源消耗者
1. 6. 1 LazyWriter
1. 6. 2 Checkpoint
1. 6. 3 工作线程
1. 6. 4 日志管理器
1. 6. 5 预读管理器
1. 7 调整SQL Server的关键考虑因素
1. 8 调整和优化的必要性
1. 9 小结
第2章 存储引擎
2. 1 存储引擎简介
2. 2 存储引擎特性
2. 3 子系统综述
2. 4 数据库实现的考虑因素
2. 5 数据的组织
2. 6 存储空间分配
2. 6. 1 数据页
2. 6. 2 盘区
2. 6. 3 空间分配
2. 7 数据库文件
2. 7. 1 主数据文件
2. 7. 2 副数据文件
2. 7. 3 日志文件
2. 7. 4 支持多个数据库文件
2. 8 系统数据库
2. 8. 1 主数据库
2. 8. 2 tempdb数据库
2. 8. 3 模型数据库
2. 8. 4 msdb数据库
2. 9 数据库的创建. 修改和删除
2. 9. 1 用Transact SQL创建数据库
2. 9. 2 用Enterprise Manager创建数据库
2. 9. 3 修改数据库
2. 9. 4 删除数据库
2. 10 文件组
2. 10. 1 文件和文件组
2. 10. 2 把系统数据和用户数据分离开
2. 10. 3 文件组的类型
2. 10. 4 表和索引的放置
2. 10. 5 利用文件组改善性能
2. 10. 6 采用文件组时保持系统性能的建议
2. 10. 7 创建和管理文件组
2. 10. 8 指定默认文件组
2. 10. 9 从文件组中删除文件--DBCC SHRINKFILE
2. 11 数据文件和日志文件的维护
2. 11. 1 sp_helpdb例程
2. 11. 2 sp_helpfile例程
2. 11. 3 sp_helpfilegroup例程
2. 11. 4 与自动增长和缩减有关的性能问题
2. 12 表的组织
2. 13 数据类型
2. 14 索引
2. 14. 1 聚群集化的索引
2. 14. 2 非聚群集化的索引
2. 14. 3 分布统计
2. 15 管理事务日志
2. 15. 1 事务日志简介
2. 15. 2 数据库恢复
2. 15. 3 事务日志结构
2. 15. 4 事务日志的容量
2. 15. 5 对事务日志进行维护
2. 16 数据库的锁机制
2. 16. 1 锁的模式
2. 16. 2 数据库的一致性--对不完整页的检测
2. 17 内存的使用
2. 17. 1 动态内存管理
2. 17. 2 内存的建议配置
2. 18 处理器的使用
2. 18. 1 线程模型
2. 18. 2 并行查询
2. 18. 3 配置选项
2. 19 小结
第3章 查询处理器
3. 1 查询处理器简介
3. 2 查询执行
3. 2. 1 执行规划
3. 2. 2 执行规划的使用
3. 3 查询优化
3. 3. 1 查询优化的几个阶段
3. 3. 2 表扫描和索引扫描的对比
3. 3. 3 工作表和动态索引
3. 4 查询优化器的类型
3. 4. 1 基于语法的查询优化器
3. 4. 2 基于成本的查询优化器
3. 5 统计与查询优化器的关系
3. 6 SQL Server查询处理器的改进
3. 7 Internet支持
3. 7. 1 结构
3. 7. 2 数据访问
3. 8 分块视图--SQL Server 2000服务器集群
3. 8. 1 功能
3. 8. 2 实现
3. 8. 3 性能
3. 9 数据传输的效率
3. 9. 1 预读扫描
3. 9. 2 预取线索
3. 9. 3 排序改善
3. 10 查询管理器
3. 11 查询优化技术
3. 12 连接技术
3. 12. 1 嵌套循环迭代
3. 12. 2 合并连接算法
3. 12. 3 散列连接算法
3. 12. 4 散列组队
3. 13 线索
3. 13. 1 索引型
3. 13. 2 查询型
3. 13. 3 连接型
3. 13. 4 锁型
3. 14 建立索引的策略
3. 14. 1 为视图建立索引
3. 14. 2 索引的交叉
3. 14. 3 索引连接
3. 15 查询的并行处理
3. 16 存储过程
3. 17 多阶段
3. 18 自动参数
3. 19 过渡谓词
3. 20 star查询
3. 21 数据修改的优化
3. 22 有关查询的工具
3. 22. 1 Query Analyzer
3. 22. 2 SQL Server Profiler
3. 22. 3 Index Tuning Wizard
3. 23 小结
第II部分 性能的考虑因素
第4章 硬件因素
4. 1 简介
4. 2 常见的硬件瓶颈
4. 3 磁盘配置
4. 4 要不要RAID
4. 5 了解RAID等级
4. 5. 1 RAID 0-一磁盘条带
4. 5. 2 RAID 1--镜像
4. 5. 3 RAID 5--带奇偶校验的条带
4. 5. 4 双工
4. 5. 5 RAID 0+1
4. 6 硬件RAID和软件RAID的对比
4. 7 磁盘和控制器因素
4. 8 磁盘I/O
4. 9 传输率
4. 10 磁盘传输率
4. 11 流量计算
4. 12 决定控制器的容量
4. 12. 1 决定能够使流量最大化的磁盘数
4. 12. 2 决定使传输次数最大的磁盘最大数目
4. 13 PCI总线带宽
4. 14 磁带设备
4. 15 磁盘I/O子系统要求的小结
4. 16 改善磁盘I/O的建议
4. 17 硬件越多越好
4. 18 预读管理器
4. 19 独立操作
4. 19. 1 把数据文件和日志文件分开
4. 19. 2 把tempdb和其他 SQL Server对象分开
4. 20 SQL Server和Windows NT/2000的磁盘因素
4. 21 内存因素
4. 21. 1 Intel Extended Server Memory Architecture
4. 21. 2 AWE
4. 21. 3 分页
4. 21. 4 关于内存设置的建议
4. 22 处理器因素
4. 23 网络因素
4. 24 小结
第5章 实现高度有效的解决方案
5. 1 高度有效解决方案介绍
5. 1. 1 群集
5. 1. 2 多实例
5. 1. 3 集群服务器
5. 1. 4 备份和恢复功能
5. 1. 5 日志运送
5. 1. 6 备用服务器
5. 1. 7 SQL Server复制
5. 1. 8 Windows负载平衡服务
5. 2 群集介绍
5. 2. 1 共享设备模型
5. 2. 2 无共享模型
5. 2. 3 群集的好处
5. 2. 4 群集的不利之处
5. 3 Microsoft群集服务器实现
5. 4 群集配置
5. 4. 1 主动/主动
5. 4. 2 主动/被动
5. 5 故障恢复怎样工作
5. 6 Microsoft群集服务器上的 SQL Server
5. 7 在群集中运行SQL Server的资源问题
5. 8 SQL Server多重实例
5. 8. 1 介绍多重实例
5. 8. 2 实现多重实例
5. 8. 3 群集配置中的多实例
5. 8. 4 与多实例通讯
5. 8. 5 性能考虑
5. 9 集群SQL Server 2000服务器
5. 9. 1 Windows DNA
5. 9. 2 SQL Server集群和 Windows DNA
5. 9. 3 介绍分割
5. 9. 4 集群的实现考虑
5. 9. 5 性能考虑
5. 10 备份和恢复能力
5. 10. 1 影响备份策略的因素
5. 10. 2 复原模型
5. 10. 3 复原间隔
5. 10. 4 部分数据库恢复
5. 10. 5 标记事务
5. 10. 6 SQL Server怎样进行备份和恢复工作
5. 10. 7 备份和恢复操作的性能考虑
5. 11 日志运送
5. 11. 1 日志运送介绍
5. 11. 2 配置日志运送
5. 11. 3 日志运送监控服务器
5. 12 备用服务器
5. 12. 1 实现备用服务器
5. 12. 2 提升备用服务器为主服务器
5. 13 SQL Server复制
5. 14 小结
第6章 应用需要考虑的事项
6. 1 应用设计考虑因素
6. 2 正规化
6. 2. 1 正规化过程
6. 2. 2 需求评估
6. 2. 3 理解数据库设计选项
6. 3 介绍索引
6. 3. 1 怎样访问数据
6. 3. 2 索引策略
6. 4 索引组件
6. 5 群集索引
6. 6 不使用群集索引的表
6. 7 群集索引的例子
6. 8 非群集索引
6. 9 群集索引存在时使用非群集索引的例子
6, 10 群集索引被删除时非群集索引的例子
6. 11 索引选择项
6. 11. 1 FILLFACTOR
6. 11. 2 PAD_INDEX
6. 11. 3 排序选项
6. 12 建立索引
6. 12. 1 使用企业管理器创建索引
6. 12. 2 利用查询分析器建立索引
6. 13 优化索引建立
6. 14 复合索引
6. 15 覆盖索引
6. 16 索引视图
6. 16. 1 使用索引视图的时间
6. 16. 2 使用索引视图的策略
6. 16. 3 索引视图的建立
6. 16. 4 索引视图的限制
6. 17 索引选择
6. 18 理解索引选择性和密度
6. 18. 1 选择性
6. 18. 2 密度
6. 19 影响查询性能的索引因素
6. 19. 1 统计
6. 19. 2 索引
6. 19. 3 视图
6. 19. 4 碎片
6. 20 用于管理索引的工具
6. 20. 1 查询分析器和 Graphical Showplan
6. 20. 2 SQL Server Profiler和 Index Tuning
6. 21 管理表. 索引和统计的DBCC
6. 21. 1 DBCC SHOWCONTIG
6. 21. 2 DBCC INDEXDEFRAG
6. 21. 3 DBCC SHOW_STATISTICS
6. 21. 4 DBCC UPDATE STATISTICS
6. 21. 5 DBCC CREATE STATISTICS
6. 21. 6 DBCC DBREINDEX
6. 22 小结
第III部分 分析解决问题--调节和优化
第7章 使用Windows NT/2000工具进行性能调节
7. 1 监控对象
7. 2 建立基线
7. 3 Windows NT/2000性能监控器
7. 4 介绍性能监控器
7. 5 性能监控选项
7. 5. 1 系统监控器/图表视图
7. 5. 2 警告视图
7. 5. 3 日志视图
7. 5. 4 报告能力--报告视图
7. 6 监控每一个关键领域
7. 7 理解CPU使用
7. 7. 1 改善性能的考虑
7. 7. 2 找出处理器性能问题的动作
7. 7. 3 判断是否是由于其他事情引起CPU瓶颈
7. 7. 4 把进程卸载到不同的服务器
7. 7. 5 增加额外的CPU资源
7. 7. 6 重新配置现有资源
7. 8 了解磁盘使用
7. 8. 1 物理或者逻辑磁盘对象
7. 8. 2 Windows NT/2000对象--物理/逻辑磁盘
7. 8. 3 改善性能的考虑
7. 9 理解页故障--内存对象
7. 10 Windows NT/2000对象--进程
7. 11 Windows NT/2000对象--线程
7. 12 Windows NT/2000对象--网络
7. 13 SQL Server对象
7. 14 SQL Server默认性能监控工作空间文件
7. 15 SQL Server对象--访问方法
7. 16 SQL Server对象--备份设备
7. 17 SQL Server对象--缓存管理器
7. 18 SQL Server对象--高速缓存管理器
7. 19 SQL Server对象--数据库
7. 20 SQL Server对象--通用统计
7. 21 SQL Server对象--锁
7. 22 SQL Server对象--内存管理器
7. 23 SQL Server对象--复制代理对象
7. 24 SQL Server对象--复制分布对象
7. 25 SQL Server对象--复制日志读取对象
7. 26 SQL Server对象--复制合并对象
7. 27 SQL Server对象--复制快照对象
7. 28 SQL Server对象--统计
7. 29 SQL Server对象--用户设置对象
7. 30 使用Windows NT/2000控制面板监控性能
7. 31 虚拟内存
7. 32 应用响应
7. 33 服务
7. 33. 1 WINDOWS NT V4服务
7. 33. 2 WINDOWS 2000服务
7. 34 网络绑定
7. 35 任务管理器
7. 35. 1 "应用"标签
7. 35. 2 "进程"标签
7. 35. 3 "性能"标签
7. 36 系统信息/Windows NT诊断
7. 37 小结
第8章 监控和配置 SQL Server
8. 1 介绍
8. 2 "企业管理器"
8. 2. 1 "一般"标签
8. 2. 2 网络配置
8. 2. 3 SQL Server属性--"内存"标签
8. 2. 4 SQL Server属性--"处理器"标签