书籍详情
Microsoft SQL Server 7.0技术内幕
作者:(美)[R.绍库普]Ron Soukup,(美)[K.德莱尼]Kalen Delaney著;北京博彦科技发展有限公司译
出版社:北京大学出版社
出版时间:2000-01-01
ISBN:9787301010051
定价:¥115.00
购买这本书可以去
内容简介
随着Microsoft SQL Server 7.0革新技术的出现,将产生一个把企业信息变成商业结果的强大的增强工具。在本书中.两位在SQLServer技术方面资深的作者逐步深入到重新构建的SQL Server引擎的内部,以展示基础系统结构和行为对应用程序开发的影响。使用这些具有深度的专家研究.加上易于加载的SQL Server 7.0的120天评价版,可以帮助您理解如何创建高性能的数据仓库、事务处理,以及根据企业需要伸缩的决定支持的应用程序。●探索新的重要功能——包括动态内存大小和集成的缓存、自动设计管理,以及完全的行级锁定●使用专业的内置工具——包括Query Analyzer和SQL Server Profiler——可以简化系统管理和优化性能●极大地简化具有Transact-SQL的应用程序开发;扩展批处理、事务、存储过程,以及触发器的功能●研究新的查询处理技术(如多重索引、无信号和合并联结)及数据操作能力,包括并行查询●开发SQL Server与Microsoft Office 2000 Visual Studio开发系统及Backoffice系列产品的集成●通过查阅练习示例的完整内容来理解应用程序的设计选项
作者简介
RonSoukup在作为目前Microsoft产品小组的经理,在Microsoft曾经是SQLServer小组的最初成员。他是一名具有17年计算机和数据库系统设计经验的老手,其中包括10以上领导MicrosoftServer开发小组的经验。KalenDelaney从1987年就开始广泛研究SQLServer并将在技术支持和教育方面的20年丰富的经验带到本书中。作为Microsoft的一名顾问,他已经开发了关于SQLServer的高级培训材料,其中包括支持7.0版本的课程。她是《SQLServerMagazie》的专栏作家。
目录
序
前言
第一版 的前言
第一部分 概述
第一章 Microsoft SQL Server的演变过程:从1989年到1999年
1.1 Ron的经历
1.2 Kalen的经历
1.3 Microsoft SQL Server的正式发布
1.4 开发角色的演变
1.5 OS/2和“友好的火力”
1.6 4.2版
1.6.1 OS/2 2.0的发布延迟了
1.6.2 4.2版本发布了
1.7 Windows NT上的SQL Server
1.8 成功带来的巨大变化
1.9 合作开发的结束
1.10 SQL95的费用
1.11 下一个版本
1.12 Sphinx的秘密
1.13 新的未来
第二章 游历SQL Server
2.1 SQL Server引擎
2.1.1 Transact-SQL
2.2 DBMS——强制性的数据完整性
2.2.1 说明性参照完整性
2.2.2 数据类型
2.2.3 CHECK约束和规则
2.2.4 默认值
2.2.5 触发器
2.3 事务处理
2.3.1 原子性
2.3.2 一致性
2.3.3 隔离性
2.3.4 持久性
2.4 对称的服务器结构
2.4.1 传统的进程/线程模型
2.4.2 SQL Server的进程/线程模型
2.4.3 多用户性能
2.5 安全性
2.5.1 监测与管理安全性
2.6 高度有效性
2.7 分布式的数据处理
2.8 数据复制
2.9 系统管理
2.9.1 SQL Server Enterprise Manager
2.9.2 分布式的管理对象
2.9.3 Automation和Visual Basic脚本
2.9.4 SQL Server Agent
2.10 SQL Server工具软件和扩展
2.10.1 Web Assistant Wizard和Internet Enabling
2.10.2 SQL Server Profiler
2.10.3 SQL Server Servece Manager
2.10.4 与Windows NT“性能监视器”集成
2.10.5 Client Network实用程序
2.10.6 Server Network实用程序
2.10.7 SQL Server安装程序
2.10.8 ISQL和OSQL
2.10.9 SQL Server Query Analyzer
2.10.10 大批量复制和Data Transformation Services
2.10.11 SNMP集成
2.10.12 SQL Server Books Online
2.11 客户开发接口
2.11.1 ODBC
2.11.2 RDO
2.11.3 OLE DB
2.11.4 ADO
2.11.5 DB-Library
2.11.6 用于C语言的ESQL
2.11.7 服务器开发接口
2.12 小结
第二部分 体系结构概述
第三章 SQL Server的结构
3.1 SQL Server引擎
3.1.1 网库
3.1.2 开放式数据服务
3.1.3 关系引擎和存储引擎
3.1.4 访问方法管理器
3.1.5 行操作管理器和索引管理器
3.1.6 页管理器和文本管理器
3.1.7 事务管理器
3.1.8 加锁管理器
3.1.9 其他管理器
3.2 管理内存
3.2.1 缓冲区管理器和内存池
3.2.2 访问内存中的页
3.2.3 访问空闲页(惰性写入器)
3.2.4 检查点
3.2.5 利用缓冲区管理器来访问页
3.2.6 大内存问题
3.2.7 日志管理器
3.3 事务日志和恢复
3.3.1 加锁和恢复
3.3.2 页LSN和恢复
3.4 SOL Server的内核以及SQL Server与Windows NT的相互作用
3.4.1 线程和对称多处理
3.4.2 工作人员线程池
3.4.3 Windows NT上的磁盘I/O
3.5 小结
第三部分 使用Microsoft SQL Server
第四章 规划和安装SQL Server
4.1 SQL Server版本
4.1.1 用户连接
4.1.2 嵌入的SQL Server
4.2 硬件指导原则
4.2.1 使用Windows硬件兼容列表中的硬件
4.2.2 选择好的处理器
4.2.3 Performance=Fn(处理器周期、内存和I/O吞吐量)
4.2.4 测试程序投资
4.3 硬件组件
4.3.1 处理器
4.3.2 内存
4.3.3 磁盘驱动器、控制器和磁盘阵列
4.3.4 RAID方法
4.3.5 关于驱动器和控制器的进一步说明
4.3.6 不间断电源(UPS)
4.3.7 磁盘子系统
4.3.8 撤退型服务器功能
4.3.9 其他硬件方面的考虑
4.4 操作系统
4.5 文件系统
4.6 安全性和用户环境
4.7 许可协以
4.7.1 许可协议方案
4.7.2 Internet许可协议
4.7.3 许可协议限制
4.8 网络协以
4.9 字符集和排序顺序问题
4.9.1 字符集
4.9.2 排序顺序
4.10 安装SQL Server
4.11 安装后的基本配置
4.11.1 启动SQL Server Service
4.11.2 修改系统管理员密码
4.11.3 配置SQL Server的错误日志
4.12 远程安装和无人参与安装
4.12.1 远程安装
4.12.2 无人参与安装
4.12.3 修改安装选项
4.12.4 添加附加的组件
4.13 小结
第五章 数据库和数据库文件
5.1 指定系统数据库
5.1.1 master
5.1.2 model
5.1.3 tempdb
5.1.4 pubs
5.1.5 Northwind
5.1.6 msdb
5.2 数据库文件
5.3 创建数据库
5.3.1 CREATE DATABASE示例
5.4 扩展和收缩数据库
5.4.1 自动扩展文件
5.4.2 手工扩展文件
5.4.3 自动收缩文件
5.4.4 手动收缩文件
5.5 更改日志大小
5.6 数据库文件组
5.6.1 FILEGROUP CREATION示例
5.7 改变数据库
5.7.1 ALTER DATABASE示例
5.8 数据库内幕
5.8.1 空间的分配
5.9 数据库选项
5.9.1 更改数据库选项
5.10 有关数据库其他方面的考虑
5.10.1 数据库并不等于规划
5.10.2 可移动介质
5.10.3 兼容级别
5.11 小结
第六章 表
6.1 创建表
6.1.1 命名表和列
6.1.2 保留的关键字
6.1.3 定界标识符
6.1.4 命名约定
6.1.5 数据类型
6.1.6 混乱的NULL
6.2 内部存储细节
6.2.1 数据页
6.2.2 查看数据页
6.2.3 数据行结构
6.2.4 列偏移表
6.2.5 定长和变长行的存储方法
6.2.6 页联接
6.2.7 文本和图像数据
6.3 索引
6.3.1 群集索引
6.3.2 非群集索引
6.3.3 索引页的结构
6.3.4 创建索引
6.4 用户定义的数据类型
6.5 Identity属性
6.6 约束
6.6.1 PRIMARY KEY和UNIQUE约束
6.6.2 FOREIGN KEY约束
6.6.3 约束检查方法
6.6.4 关于删除表的限制
6.6.5 自引用表
6.6.6 参照动作
6.6.7 CHECK约束
6.6.8 默认约束
6.6.9 关于约束的进一步说明
6.7 修改表
6.7.1 修改数据类型
6.7.2 添加新列
6.7.3 添加、删除、禁用或启用约束
6.7.4 删除列
6.7.5 启动或禁用触发器
6.8 临时表
6.8.1 私有临时表(#)
6.8.2 全局临时表(##)
6.8.3 直接使用tempdb
6.8.4 对临时表的约束
6.8 小结
第七章 查询数据
7.1 SELECT语句
7.2 联结
7.2.1 外联结
7.2.2 废弃OUTER JOIN运算符*=
7.2.3 交叉联结
7.3 处理NULL
7.3.1 现实中的NUlL
7.3.2 IS NULL和=NULL
7.4 子查询
7.4.1 相关子查询
7.5 视图和导出表
7.5.1 修改视图
7.6 其他搜索表达式
7.6.1 LIKE
7.6.2 BETWEEN
7.6.3 集合函数
7.6.4 利用集合函数的计算结果,从不同角度查看数据
7.6.5 TOP
7.6.6 UNION
7.7 小结
第八章 修改数据
8.1 基本的修改操作
8.1.1 INSERT
8.1.2 UPDATE
8.1.3 DELETE
8.1.4 通过视图修改数据
8.2 内部数据修改
8.2.1 插入行
8.2.2 拆分页
8.2.3 删除行
8.2.4 更新行
8.2.5 表级与索引级数据修改的比较
8.2.6 记录
8.2.7 加锁
8.3 小结
第九章 利用Transact-SQL编程
9.1 作为编程语言的Transact-SQL
9.1.1 在多层上进行程序设计
9.2 Transact-SQL编程结构——基础知识
9.2.1 变量
9.2.2 流控制工具
9.2.3 CASE
9.2.4 PRINT
9.2.5 RAISERROR
9.2.6 FORMATMESSAGE
9.2.7 运算符
9.2.8 标量函数
9.3 小结
第十章 批处理、事务、存储过程和触发器
10.1 批处理
10.2 事务
10.2.1 明确的事务和隐含的事务
10.2.2 在事务中查错
10.2.3 事分隔离等级
10.2.4 事务的附加特性
10.3 存储过程
10.3.1 嵌套的存储过程
10.3.2 存储过程中的递归技术
10.3.3 嵌套的事务块
10.3.4 保存点
10.3.5 存储过程的参数
10.4 批处理的执行或存储过程的存储
10.4.1 第一步:分析命令并创建顺序树
10.4.2 第二步:编译批处理
10.4.3 第三步:执行
10.4.4 第四步:重新编译执行计划
10.4.5 存储过程的存储
10.4.6 将存储过程加密
10.4.7 修改存储过程
10.4.8 临时的存储过程
10.4.9 系统存储过程和专用的SP_前缀
10.4.10 自动启动存储过程
10.4.11 系统存储过程
10.4.12 类目存储过程
10.4.13 SQL Server Agent存储过程
10.4.14 复制存储过程
10.4.15 扩展存储过程
10.5 触发器
10.5.1 重新执行一个触发器
10.6 调试存储过程和触发器
10.6.1 Execute("any string")
10.7 操作文本和图像数据
10.7.1 WRITETEXT
10.7.2 READTEXT
10.7.3 UPDATETEXT
10.8 环境方面的注意事项
10.8.1 区分大小写
10.8.2 可空性和ANSI一致性设置
10.8.3 针对本地的SET选项
10.9 小结
第十一章 游标
11.1 游标的基本知识
11.2 游标和ISAM
11.2.1 ISAM风格应用程序的问题
11.3 游标模型
11.3.1 Transact-SQL游标
11.3.2 API服务器游标
11.3.3 客户游标
11.3.4 默认的结果集
11.3.5 API服务器游标和Transact-SQL游标
11.4 适度使用游标
11.4.1 逐行操作
11.4.2 查询操作
11.4.3 滚动应用程序
11.4.4 选择游标
11.4.5 游标成员、滚动和对修改的敏感度
11.5 使用Transact-SQL游标
11.5.1 DECLARE
11.5.2 OPEN
11.5.3 FETCH
11.5.4 UPDATE
11.5.5 DELETE
11.5.6 CLOSE
11.5.7 DEALLOCATE
11.5.8 最简单的游标语法
11.5.9 完全可滚动的Transact-SQL游标
11.5.10 利用Transact-SQL游标控制并发性
11.6 游标变量
11.6.1 获取游标信息
11.7 小结
第十二章 Transact-SQL示例和编程之迷
12.1 用触发器实现参照动作
12.1.1 递归触发器
12.2 编程之迷
12.2.1 生成测试数据
12.2.2 获取排队顺序
12.2.3 查找不同时间段间的差异
12.2.4 累计求和问题
12.2.5 每隔n行的采样问题
12.2.6 查找含匹配列的行
12.2.7 将数据放到Web页上
12.2.8 扩充层次结构
12.2.9 用选择代替迭代
12.2.10 获取表中的行数
12.2.11 保存计算的列
12.2.12 数据透视表(或称“交叉表”)
12.2.13 将SQL Server与电子邮件集成
12.2.14 将文本复制到有序的varchar型列中
12.2.15 实例化并执行自动化对象
12.2 小结
第十三章 加锁
13.1 加锁管理器
13.1.1 加锁管理器和隔离等级
13.1.2 自旋锁
13.1.3 死锁
13.1.4 加锁和内存
13.2 用户数据的加锁类型
13.2.1 加锁模式
13.2.2 加锁粒度
13.2.3 加锁的持续时间
13.2.4 加锁所有权
13.2.5 查看加锁
13.3 加锁的兼容性
13.4 绑定连接
13.5 行级加锁和页级加锁
13.5.1 加锁升级
13.6 加锁暗示和跟踪标志
13.7 小结
第四部分 性能与调整
第十四章 优化查询性能
14.1 开发小组
14.2 应用程序和数据库的设计
14.2.1 数据库的规范化
14.2.2 评估您的关键事务
14.2.3 使表的行长和键值尽可能紧凑
14.3 描述峰值时性能需求
14.4 交互系统的响应时间问题
14.5 模型化、测试标准和测试
14.5.1 开发过程中的方法论
14.6 创建有用的索引
14.6.1 谨慎地选择群集索引
14.6.2 使非群集索引获得较高的搜索性能
14.6.3 为关键事务剪裁索引
14.6.4 注意列的顺序
14.6.5 用于联结的索引列
14.6.6 根据需要创建或删除索引
14.7 使用存储过程和缓冲机制
14.7.1 特别的缓冲
14.7.2 自动参数化
11.7.3 sp_executesql过程
14.7.4 准备和执行方法
14.7.5 共事高速缓存的方案
14.7.6 使用存储过程及其他缓冲机制的条件
14.7.7 重新编译存储过程
14.7.8 限制高速缓存中的方案数
14.7.9 存储过程的其他优点
14.8 并发性与一致性间的权衡
14.9 解决阻塞问题
14.9.1 索引和阻塞
14.10 解决死锁问题
14.10.1 循环死锁的示例
14.10.2 转换死锁的示例
14.10.3 防止死锁
14.10.4 处理死锁
14.10.5 自愿成为死锁的牺牲者
14.10.6 观察加锁活动
14.10.7 找出故障的原因
14.11 分裂OLTP和DSS应用程序
14.12 优化查询
14.12.1 查询分析
14.12.2 索引选择
14.12.3 联结选择
14.12.4 其他处理策略
14.12.5 维护统计
14.12.6 Index Tuning Wizard
14.13 监测查询性能
14.13.1 STATISTICS IO
14.13.2 STATISTICS TIME
14.13.3 Showplan
14.13.4 使用查询暗示
14.14 小结
第十五章 配置与性能监测
15.1 Windows NT配置设置
15.1.1 任务管理
15.1.2 资源分配
15.1.3 PAGEILE.SYS的位置
15.1.4 文件系统选择
15.1.5 次要的服务
15.1.6 网络协议
15.2 SQL Server的配置参数
15.2.1 影响整个服务器的选项
15.2.2 数据库选项
15.2.3 缓冲管理器
15.2.4 SQLSERVER.EXE的启动参数
15.3 维护系统
15.4 监测系统性能
15.4.1 SQL Server Profiler
15.4.2 性能监视器
15.4.3 监测性能的其他考虑
15.5 小结
推荐读物
前言
第一版 的前言
第一部分 概述
第一章 Microsoft SQL Server的演变过程:从1989年到1999年
1.1 Ron的经历
1.2 Kalen的经历
1.3 Microsoft SQL Server的正式发布
1.4 开发角色的演变
1.5 OS/2和“友好的火力”
1.6 4.2版
1.6.1 OS/2 2.0的发布延迟了
1.6.2 4.2版本发布了
1.7 Windows NT上的SQL Server
1.8 成功带来的巨大变化
1.9 合作开发的结束
1.10 SQL95的费用
1.11 下一个版本
1.12 Sphinx的秘密
1.13 新的未来
第二章 游历SQL Server
2.1 SQL Server引擎
2.1.1 Transact-SQL
2.2 DBMS——强制性的数据完整性
2.2.1 说明性参照完整性
2.2.2 数据类型
2.2.3 CHECK约束和规则
2.2.4 默认值
2.2.5 触发器
2.3 事务处理
2.3.1 原子性
2.3.2 一致性
2.3.3 隔离性
2.3.4 持久性
2.4 对称的服务器结构
2.4.1 传统的进程/线程模型
2.4.2 SQL Server的进程/线程模型
2.4.3 多用户性能
2.5 安全性
2.5.1 监测与管理安全性
2.6 高度有效性
2.7 分布式的数据处理
2.8 数据复制
2.9 系统管理
2.9.1 SQL Server Enterprise Manager
2.9.2 分布式的管理对象
2.9.3 Automation和Visual Basic脚本
2.9.4 SQL Server Agent
2.10 SQL Server工具软件和扩展
2.10.1 Web Assistant Wizard和Internet Enabling
2.10.2 SQL Server Profiler
2.10.3 SQL Server Servece Manager
2.10.4 与Windows NT“性能监视器”集成
2.10.5 Client Network实用程序
2.10.6 Server Network实用程序
2.10.7 SQL Server安装程序
2.10.8 ISQL和OSQL
2.10.9 SQL Server Query Analyzer
2.10.10 大批量复制和Data Transformation Services
2.10.11 SNMP集成
2.10.12 SQL Server Books Online
2.11 客户开发接口
2.11.1 ODBC
2.11.2 RDO
2.11.3 OLE DB
2.11.4 ADO
2.11.5 DB-Library
2.11.6 用于C语言的ESQL
2.11.7 服务器开发接口
2.12 小结
第二部分 体系结构概述
第三章 SQL Server的结构
3.1 SQL Server引擎
3.1.1 网库
3.1.2 开放式数据服务
3.1.3 关系引擎和存储引擎
3.1.4 访问方法管理器
3.1.5 行操作管理器和索引管理器
3.1.6 页管理器和文本管理器
3.1.7 事务管理器
3.1.8 加锁管理器
3.1.9 其他管理器
3.2 管理内存
3.2.1 缓冲区管理器和内存池
3.2.2 访问内存中的页
3.2.3 访问空闲页(惰性写入器)
3.2.4 检查点
3.2.5 利用缓冲区管理器来访问页
3.2.6 大内存问题
3.2.7 日志管理器
3.3 事务日志和恢复
3.3.1 加锁和恢复
3.3.2 页LSN和恢复
3.4 SOL Server的内核以及SQL Server与Windows NT的相互作用
3.4.1 线程和对称多处理
3.4.2 工作人员线程池
3.4.3 Windows NT上的磁盘I/O
3.5 小结
第三部分 使用Microsoft SQL Server
第四章 规划和安装SQL Server
4.1 SQL Server版本
4.1.1 用户连接
4.1.2 嵌入的SQL Server
4.2 硬件指导原则
4.2.1 使用Windows硬件兼容列表中的硬件
4.2.2 选择好的处理器
4.2.3 Performance=Fn(处理器周期、内存和I/O吞吐量)
4.2.4 测试程序投资
4.3 硬件组件
4.3.1 处理器
4.3.2 内存
4.3.3 磁盘驱动器、控制器和磁盘阵列
4.3.4 RAID方法
4.3.5 关于驱动器和控制器的进一步说明
4.3.6 不间断电源(UPS)
4.3.7 磁盘子系统
4.3.8 撤退型服务器功能
4.3.9 其他硬件方面的考虑
4.4 操作系统
4.5 文件系统
4.6 安全性和用户环境
4.7 许可协以
4.7.1 许可协议方案
4.7.2 Internet许可协议
4.7.3 许可协议限制
4.8 网络协以
4.9 字符集和排序顺序问题
4.9.1 字符集
4.9.2 排序顺序
4.10 安装SQL Server
4.11 安装后的基本配置
4.11.1 启动SQL Server Service
4.11.2 修改系统管理员密码
4.11.3 配置SQL Server的错误日志
4.12 远程安装和无人参与安装
4.12.1 远程安装
4.12.2 无人参与安装
4.12.3 修改安装选项
4.12.4 添加附加的组件
4.13 小结
第五章 数据库和数据库文件
5.1 指定系统数据库
5.1.1 master
5.1.2 model
5.1.3 tempdb
5.1.4 pubs
5.1.5 Northwind
5.1.6 msdb
5.2 数据库文件
5.3 创建数据库
5.3.1 CREATE DATABASE示例
5.4 扩展和收缩数据库
5.4.1 自动扩展文件
5.4.2 手工扩展文件
5.4.3 自动收缩文件
5.4.4 手动收缩文件
5.5 更改日志大小
5.6 数据库文件组
5.6.1 FILEGROUP CREATION示例
5.7 改变数据库
5.7.1 ALTER DATABASE示例
5.8 数据库内幕
5.8.1 空间的分配
5.9 数据库选项
5.9.1 更改数据库选项
5.10 有关数据库其他方面的考虑
5.10.1 数据库并不等于规划
5.10.2 可移动介质
5.10.3 兼容级别
5.11 小结
第六章 表
6.1 创建表
6.1.1 命名表和列
6.1.2 保留的关键字
6.1.3 定界标识符
6.1.4 命名约定
6.1.5 数据类型
6.1.6 混乱的NULL
6.2 内部存储细节
6.2.1 数据页
6.2.2 查看数据页
6.2.3 数据行结构
6.2.4 列偏移表
6.2.5 定长和变长行的存储方法
6.2.6 页联接
6.2.7 文本和图像数据
6.3 索引
6.3.1 群集索引
6.3.2 非群集索引
6.3.3 索引页的结构
6.3.4 创建索引
6.4 用户定义的数据类型
6.5 Identity属性
6.6 约束
6.6.1 PRIMARY KEY和UNIQUE约束
6.6.2 FOREIGN KEY约束
6.6.3 约束检查方法
6.6.4 关于删除表的限制
6.6.5 自引用表
6.6.6 参照动作
6.6.7 CHECK约束
6.6.8 默认约束
6.6.9 关于约束的进一步说明
6.7 修改表
6.7.1 修改数据类型
6.7.2 添加新列
6.7.3 添加、删除、禁用或启用约束
6.7.4 删除列
6.7.5 启动或禁用触发器
6.8 临时表
6.8.1 私有临时表(#)
6.8.2 全局临时表(##)
6.8.3 直接使用tempdb
6.8.4 对临时表的约束
6.8 小结
第七章 查询数据
7.1 SELECT语句
7.2 联结
7.2.1 外联结
7.2.2 废弃OUTER JOIN运算符*=
7.2.3 交叉联结
7.3 处理NULL
7.3.1 现实中的NUlL
7.3.2 IS NULL和=NULL
7.4 子查询
7.4.1 相关子查询
7.5 视图和导出表
7.5.1 修改视图
7.6 其他搜索表达式
7.6.1 LIKE
7.6.2 BETWEEN
7.6.3 集合函数
7.6.4 利用集合函数的计算结果,从不同角度查看数据
7.6.5 TOP
7.6.6 UNION
7.7 小结
第八章 修改数据
8.1 基本的修改操作
8.1.1 INSERT
8.1.2 UPDATE
8.1.3 DELETE
8.1.4 通过视图修改数据
8.2 内部数据修改
8.2.1 插入行
8.2.2 拆分页
8.2.3 删除行
8.2.4 更新行
8.2.5 表级与索引级数据修改的比较
8.2.6 记录
8.2.7 加锁
8.3 小结
第九章 利用Transact-SQL编程
9.1 作为编程语言的Transact-SQL
9.1.1 在多层上进行程序设计
9.2 Transact-SQL编程结构——基础知识
9.2.1 变量
9.2.2 流控制工具
9.2.3 CASE
9.2.4 PRINT
9.2.5 RAISERROR
9.2.6 FORMATMESSAGE
9.2.7 运算符
9.2.8 标量函数
9.3 小结
第十章 批处理、事务、存储过程和触发器
10.1 批处理
10.2 事务
10.2.1 明确的事务和隐含的事务
10.2.2 在事务中查错
10.2.3 事分隔离等级
10.2.4 事务的附加特性
10.3 存储过程
10.3.1 嵌套的存储过程
10.3.2 存储过程中的递归技术
10.3.3 嵌套的事务块
10.3.4 保存点
10.3.5 存储过程的参数
10.4 批处理的执行或存储过程的存储
10.4.1 第一步:分析命令并创建顺序树
10.4.2 第二步:编译批处理
10.4.3 第三步:执行
10.4.4 第四步:重新编译执行计划
10.4.5 存储过程的存储
10.4.6 将存储过程加密
10.4.7 修改存储过程
10.4.8 临时的存储过程
10.4.9 系统存储过程和专用的SP_前缀
10.4.10 自动启动存储过程
10.4.11 系统存储过程
10.4.12 类目存储过程
10.4.13 SQL Server Agent存储过程
10.4.14 复制存储过程
10.4.15 扩展存储过程
10.5 触发器
10.5.1 重新执行一个触发器
10.6 调试存储过程和触发器
10.6.1 Execute("any string")
10.7 操作文本和图像数据
10.7.1 WRITETEXT
10.7.2 READTEXT
10.7.3 UPDATETEXT
10.8 环境方面的注意事项
10.8.1 区分大小写
10.8.2 可空性和ANSI一致性设置
10.8.3 针对本地的SET选项
10.9 小结
第十一章 游标
11.1 游标的基本知识
11.2 游标和ISAM
11.2.1 ISAM风格应用程序的问题
11.3 游标模型
11.3.1 Transact-SQL游标
11.3.2 API服务器游标
11.3.3 客户游标
11.3.4 默认的结果集
11.3.5 API服务器游标和Transact-SQL游标
11.4 适度使用游标
11.4.1 逐行操作
11.4.2 查询操作
11.4.3 滚动应用程序
11.4.4 选择游标
11.4.5 游标成员、滚动和对修改的敏感度
11.5 使用Transact-SQL游标
11.5.1 DECLARE
11.5.2 OPEN
11.5.3 FETCH
11.5.4 UPDATE
11.5.5 DELETE
11.5.6 CLOSE
11.5.7 DEALLOCATE
11.5.8 最简单的游标语法
11.5.9 完全可滚动的Transact-SQL游标
11.5.10 利用Transact-SQL游标控制并发性
11.6 游标变量
11.6.1 获取游标信息
11.7 小结
第十二章 Transact-SQL示例和编程之迷
12.1 用触发器实现参照动作
12.1.1 递归触发器
12.2 编程之迷
12.2.1 生成测试数据
12.2.2 获取排队顺序
12.2.3 查找不同时间段间的差异
12.2.4 累计求和问题
12.2.5 每隔n行的采样问题
12.2.6 查找含匹配列的行
12.2.7 将数据放到Web页上
12.2.8 扩充层次结构
12.2.9 用选择代替迭代
12.2.10 获取表中的行数
12.2.11 保存计算的列
12.2.12 数据透视表(或称“交叉表”)
12.2.13 将SQL Server与电子邮件集成
12.2.14 将文本复制到有序的varchar型列中
12.2.15 实例化并执行自动化对象
12.2 小结
第十三章 加锁
13.1 加锁管理器
13.1.1 加锁管理器和隔离等级
13.1.2 自旋锁
13.1.3 死锁
13.1.4 加锁和内存
13.2 用户数据的加锁类型
13.2.1 加锁模式
13.2.2 加锁粒度
13.2.3 加锁的持续时间
13.2.4 加锁所有权
13.2.5 查看加锁
13.3 加锁的兼容性
13.4 绑定连接
13.5 行级加锁和页级加锁
13.5.1 加锁升级
13.6 加锁暗示和跟踪标志
13.7 小结
第四部分 性能与调整
第十四章 优化查询性能
14.1 开发小组
14.2 应用程序和数据库的设计
14.2.1 数据库的规范化
14.2.2 评估您的关键事务
14.2.3 使表的行长和键值尽可能紧凑
14.3 描述峰值时性能需求
14.4 交互系统的响应时间问题
14.5 模型化、测试标准和测试
14.5.1 开发过程中的方法论
14.6 创建有用的索引
14.6.1 谨慎地选择群集索引
14.6.2 使非群集索引获得较高的搜索性能
14.6.3 为关键事务剪裁索引
14.6.4 注意列的顺序
14.6.5 用于联结的索引列
14.6.6 根据需要创建或删除索引
14.7 使用存储过程和缓冲机制
14.7.1 特别的缓冲
14.7.2 自动参数化
11.7.3 sp_executesql过程
14.7.4 准备和执行方法
14.7.5 共事高速缓存的方案
14.7.6 使用存储过程及其他缓冲机制的条件
14.7.7 重新编译存储过程
14.7.8 限制高速缓存中的方案数
14.7.9 存储过程的其他优点
14.8 并发性与一致性间的权衡
14.9 解决阻塞问题
14.9.1 索引和阻塞
14.10 解决死锁问题
14.10.1 循环死锁的示例
14.10.2 转换死锁的示例
14.10.3 防止死锁
14.10.4 处理死锁
14.10.5 自愿成为死锁的牺牲者
14.10.6 观察加锁活动
14.10.7 找出故障的原因
14.11 分裂OLTP和DSS应用程序
14.12 优化查询
14.12.1 查询分析
14.12.2 索引选择
14.12.3 联结选择
14.12.4 其他处理策略
14.12.5 维护统计
14.12.6 Index Tuning Wizard
14.13 监测查询性能
14.13.1 STATISTICS IO
14.13.2 STATISTICS TIME
14.13.3 Showplan
14.13.4 使用查询暗示
14.14 小结
第十五章 配置与性能监测
15.1 Windows NT配置设置
15.1.1 任务管理
15.1.2 资源分配
15.1.3 PAGEILE.SYS的位置
15.1.4 文件系统选择
15.1.5 次要的服务
15.1.6 网络协议
15.2 SQL Server的配置参数
15.2.1 影响整个服务器的选项
15.2.2 数据库选项
15.2.3 缓冲管理器
15.2.4 SQLSERVER.EXE的启动参数
15.3 维护系统
15.4 监测系统性能
15.4.1 SQL Server Profiler
15.4.2 性能监视器
15.4.3 监测性能的其他考虑
15.5 小结
推荐读物
猜您喜欢