
Microsoft SQL Server 2000技术内幕
《MicrosoftSQLServer2000技术内幕》是2002年北京大学出版社出版的图书,作者是蒂兰妮。
基本介绍
- 书名:Microsoft SQL Server 2000技术内幕
- 作者:蒂兰妮
- 译者:莱恩工作室
- ISBN:9787301051290
- 页数:960
- 定价:140.00元
- 出版社:北京大学出版社
- 出版时间:2002-12
- 装帧:简装本
- 开本:16开
内容介绍
《Microsoft程式设计系列·SQL Server2000技术内幕》是由着名作家与产品开发小组成员共同编写的,对于那些需要了解SQL Server内部结构如何影回响用程式的开发和功能的读者来说,这都是一本必备和必读之书。
通过学习《Microsoft程式设计系列·SQL Server2000技术内幕》对SQL Server 2000引擎的正式指导,您可以掌握目前首选的关係资料库管理系统(RDBMS)的内部工作方式。
本书目录
前言
第一部分 概述
第一章 Microsoft SQL Server的演变过程:从1989年到2000年
1.1 SQL Server:初期阶段
1.2 Ron的故事
1.3 Kalen的故事
1.4 Microsoft SQL Server的发布
1.5 开发角色的演变
1.6 OS/2和友好的攻击
1.7 SQL Server 4.2
1.7.1 即将发布的OS/2 2.0
1.7.2 4.2版本的发布
1.8 用于Windows NT的SQL Server
1.9 成功带来的巨大变化
1.10 合作开发的结束
1.11 管理SQL95
1.12 下一版本
1.13 Sphinx的秘密
1.14 新世纪的软体
第二章 介绍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 Distributed Management Objects
2.9.3 Windows Management Instrumentation
2.9.4 SQL-DMO和Visual Basic脚本
2.9.5 SQL Server Agent
2.10 SQL Server的实用程式和扩展
2.10.1 Web Assistant Wizard和Internet启用
2.10.2 SQL Profiler
2.10.3 SQL Server Service Manager
2.10.4 System Monitor的集成
2.10.5 Client Network实用程式
2.10.6 Server Network实用程式
2.10.7 SQL Server的安装
2.10.8 OSQL和ISQL
2.10.9 SQL Query Analyzer
2.10.10 大量複製和数据传输服务
2.10.11 SNMP集成
2.10.12 SQL Server Books Online
2.11 客户开发接口
2.11.1 ODBC
2.11.2 OLE DB
2.11.3 ADO
2.11.4 DB-Library
2.11.5 ESQL/C
2.11.6 伺服器开发接口
2.12 总结
第二部分 基本结构概述
第三章 SQL Server的基本结构
3.1 SQL Server引擎
3.1.1 Net-Library
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 SQL Server核心和与作业系统的互动
3.4.1 执行绪化和对称多处理技术
3.4.2 辅助执行绪池
3.4.3 Windows NT/2000中的磁碟I/O
3.5 总结
第三部分 使用Microsoft SQL Server
第四章 规划和安装SQL Server
4.1 SQL Server的版本
4.1.1 嵌入的SQL Server
4.2 硬体指导原则
4.2.1 使用“Windows硬体兼容列表”中的硬体
4.2.2 性能=Fn(处理器周期,记忆体,I/O传输量)
4.2.3 在基準程式上的投资
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 SQL Server的Processor License
4.7.2 Server License和CAL
4.7.3 多元化:中间件、事务伺服器和多层结构的使用
4.7.4 多实例
4.8 网路协定
4.9 排序规则
4.9.1 字元集
4.9.2 排序顺序
4.10 多个实例
4.10.1 安装命名实例
4.10.2 命名实例的伺服器连线
4.11 安装SQL Server
4.11.1 从以前的版本进行升级安装
4.12 安装后的基本配置
4.12.1 启动SQL Server服务
4.12.2 更改系统管理员的密码
4.12.3 配置SQL Server的错误日誌
4.12.4 使用多实例
4.13 远程安装和无人参与安装
4.13.1 远程安装
4.13.2 无人参与安装
4.13.3 更改安装选项
4.13.4 添加其他组件
4.14 总结
第五章 资料库资料库档案
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.5.1 日誌截断
5.6 使用资料库档案组
5.6.1 默认档案组
5.6.2 FILEGROUP CREATION示例
5.7 修改资料库
5.7.1 ALTER DATABASE示例
5.8 资料库内幕
5.8.1 空间分配
5.9 设定资料库选项
5.9.1 状态选项
5.9.2 游标选项
5.9.3 自动选项
5.9.4 SQL选项
5.9.5 恢複选项
5.10 资料库的其他考虑因素
5.10.1 资料库与方案
5.10.2 使用可移动媒介
5.10.3 分离和重新附加资料库
5.10.4 兼容性级别
5.11 备份和恢複数据库
5.11.1 备份的类型
5.11.2 恢复模式
5.11.3 选择备份类型
5.11.4 恢複数据库
5.12 总结
第六章 表
6.1 创建表
6.1.1 命名表和列
6.1.2 预留的关键字
6.1.3 分隔标识符
6.1.4 命名约定
6.1.5 数据类型
6.1.6 关于NULL的更多内容
6.2 用户定义的数据类型
6.3 IDENTITY属性
6.4 内部存储
6.4.1 数据页
6.4.2 介绍数据页
6.4.3 数据行的结构
6.4.4 列偏移量数组
6.4.5 固定长度和可变长度行的存储
6.4.6 页面连结
6.4.7 文本和图像数据
6.4.8 sql_variant数据类型
6.5 约束
6.5.1 PRIMARY KEY和UNIQUE约束
6.5.2 FOREIGN KEY约束
6.5.3 约束检查的解决方法
6.5.4 对删除表的限制
6.5.5 自引用表
6.5.6 CHECK约束
6.5.7 默认约束
6.5.8 有关约束的更多内容
6.6 修改表
6.6.1 更改数据类型
6.6.2 添加新列
6.6.3 添加、删除、禁用或启用约束
6.6.4 删除列
6.6.5 启用或禁用触发器
6.7 临时表
6.7.1 私有临时表(#)
6.7.2 全局临时表(##)
6.7.3 直接使用tempdb
6.7.4 临时表中的约束
6.8 系统表
6.9 总结
第七章 查询数据
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.5.2 分区视图
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 群集索引
8.1.2 非群集索引
8.2 创建索引
8.2.1 约束和索引
8.3 索引页的结构
8.3.1 具有唯一标识符的群集索引行
8.3.2 索引行的格式
8.4 索引空间的需求
8.4.1 B树的大小
8.4.2 实际大小和估计大小
8.5 管理索引
8.5.1 碎片类型
8.5.2 检测碎片
8.5.3 删除碎片
8.6 特殊索引
8.6.1 前提条件
8.6.2 对计算得到的列的索引
8.6.3 索引视图
8.7 使用索引
8.7.1 查找行
8.7.2 联接
8.7.3 排序
8.7.4 分组
8.7.5 保持唯一性
8.8 总结
第九章 修改数据
9.1 基本的修改操作
9.1.1 INSERT
9.1.2 UPDATE
9.1.3 DELETE
9.1.4 通过视图修改数据
9.2 数据修改内幕
9.2.1 插入行
9.2.2 拆分页面
9.2.3 删除行
9.2.4 更新行
9.2.5 表级数据修改和索引级数据修改
9.2.6 记录
9.2.7 锁定
9.3 总结
第十章 使用Transact-SQL编程
10.1 作为程式语言的Transact-SQL
10.1.1 多级编程
10.2 Transact-SQL编程结构
10.2.1 变数
10.2.2 控制流工具
10.2.3 CASE
10.2.4 PRINT
10.2.5 RAISERROR
10.2.6 FORMATMESSAGE
10.2.7 运算符
10.2.8 标量函式
10.2.9 表值函式
10.3 Transact-SQL示例和难题
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 总结
第十一章 批处理档案、存储过程和函式
11.1 批处理档案
11.2 例程
11.3 存储过程
11.3.1 嵌套的存储过程
11.3.2 存储过程中的递归
11.3.3 存储过程的参数
11.4 用户定义的函式
11.4.1 表变数
11.4.2 标量值函式
11.4.3 表值函式
11.4.4 系统表值函式
11.4.5 管理用户定义的函式
11.5 将存储过程改写为函式
11.6 滚动您自己的系统例程
11.6.1 您自己的系统过程
11.6.2 您自己的系统函式
11.7 执行批处理档案或存储过程(和函式)
11.7.1 步骤1:解析命令并创建序列树
11.7.2 步骤2:编译批处理档案
11.7.3 步骤3:执行
11.7.4 步骤4:重新编译执行计画
11.7.5 例程的存储
11.7.6 加密例程
11.7.7 修改例程
11.8 临时存储过程
11.8.1 私有临时存储过程
11.8.2 全局临时存储过程
11.8.3 通过直接使用tempdb创建的过程
11.9 自动启动存储过程
11.10 系统存储过程
11.10.1 常规系统过程
11.10.2 编目存储过程
11.10.3 SQL Server Agent存储过程
11.10.4 複製存储过程
11.10.5 扩展存储过程
11.11 EXECUTE(“ANY STRING”)
11.12 总结
第十二章 事务和触发器
12.1 事务
12.1.1 明确事务和隐含事务
12.1.2 事务中的错误检查
12.1.3 事务的孤立级别
12.1.4 事务的其他特性
12.1.5 嵌套的事务块
12.1.6 保存点
12.2 触发器
12.2.1 后触发器
12.2.2 替代触发器
12.2.3 管理触发器
12.2.4 使用触发器执行引用动作
12.2.5 递归触发器
12.3 总结
第十三章 特殊的Transact-SQL操作:使用游标和大对象
13.1 游标的基础知识
13.2 游标和ISAM
13.2.1 使用ISAM类型的应用程式的问题
13.3 游标模型
13.3.1 Transact-SQL游标
13.3.2 API伺服器游标
13.3.3 客户游标
13.3.4 默认结果集
13.3.5 API伺服器游标和Transact-SQL游标
13.4 游标的适当使用
13.4.1 逐行操作
13.4.2 查询操作
13.4.3 滚动应用程式
13.4.4 选择游标
13.4.5 游标成员、滚动和更改敏感度
13.5 使用Transact-SQL游标
13.5.1 DECLARE
13.5.2 OPEN
13.5.3 FETCH
13.5.4 UPDATE
13.5.5 DELETE
13.5.6 CLOSE
13.5.7 DEALLOCATE
13.5.8 最简单的游标语法
13.5.9 完全可滚动的Transact-SQL游标
13.5.10 使用Transact-SQL游标进行并行性控制
13.6 游标变数
13.6.1 获得游标信息
13.7 使用文本和图像数据
13.7.1 WRITETEXT
13.7.2 READTEXT
13.7.3 UPDATETEXT
13.8 总结
第四部分 性能和调整
第十四章 锁定
14.1 锁管理器
14.1.1 镇管理器和孤立级别
14.1.2 原子锁
14.1.3 死锁
14.2 用户数据的锁类型
14.2.1 锁的类型
14.2.2 锁的粒度
14 2.3 锁的持续时间
14.2.4 锁的拥有关係
14.2.5 查看锁
14.3 锁的兼容性
14.4 锁定的内部结构
14.4.1 锁块
14.4.2 锁拥有者块
14.4.3 syslockinfo表
14.5 绑定连线
14.6 行级锁定和页面级锁定
14.6.1 锁的提升
14.7 锁定暗示和跟蹤标记
14.8 总结
第十五章 查询处理器
15.1 SQL管理器
15.2 编译和最佳化
15.2.1 编译
15.2.2 最佳化
15.2.3 查询最佳化器的工作方式
15.2.4 联接选择
15.2.5 其他处理策略
15.2.6 维护统计信息
15.3 过程快取
15.4 使用存储过程和快取机制
15.4.1 特殊快取
15.4.2 自动参数化
15.4.3 sp_executesql过程
15.4.4 準备和执行方法
15.4.5 共享快取计画
15.4.6 检查计画快取
15.4.7 快取中的多个计画
15.4.8 使用存储过程和其他快取机制的时间
15.4.9 重新编译存储过程
15.4.10 存储过程的其他好处
15.5 执行
15.6 总结
第十六章 调整查询
16.1 开发小组
16.2 应用程式和资料库设计
16.2.1 规範化资料库
16.2.1 评估重要事务
16.2.3 精简表行的长度和键
16.3 计画高峰使用
16.4 互动式系统的感知回响时间
16.5 原型、基準程式和测试
16.5.1 开发方法学
16.6 创建有用的索引
16.6.1 谨慎选择群集索引
16.6.2 使非群集索引具有较高的选择性
16.6.3 裁剪对重要事务的索引
16.6.4 注意列的顺序
16.6.5 联接中使用的索引列
16.6.6 根据需要创建或删除索引
16.6.7 Index Tuning Wizard
16.7 监视查询的性能
16.7.1 STATISTICS IO
16.7.2 STATISTICS TIME
16.7.3 计画显示
16.7.4 使用查询暗示
16.7.5 存储过程的最佳化
16.8 并行性和一致性的权衡
16.9 解决阻塞的问题
16.9.1 索引和阻塞
16.10 解决死锁问题
16.10.1 循环死锁示例
16.10.2 转换死锁示例
16.10.3 防止死锁
16.10.4 处理死锁
16.10.5 自愿作为死锁的牺牲者
16.10.6 观察锁定活动
16.10.7 标识阻塞的原因
16.10.8 锁暗示
16.11 隔离OLTP和DSS应用程式
16.12 环境因素
16.12.1 区分大小写
16.12.2 可控性和ANSI兼容设定
16.12.3 区域特定的SET选项
16.13 总结
第十七章 配置和性能监视
17.1 作业系统的配置设定
17.1.1 任务管理
17.1.2 资源分配
17.1.3 PAGEFILE.SYS的位置
17.1.4 档案系统选择
17.1.5 不重要的服务
17.1.6 网路协定
17.2 SQL Server的配置设定
17.2.1 伺服器範围的选项
17.2.2 缓冲区管理器选项
17.2.3 SQLSERVER.EXE的启动参数
17.3 系统维护
17.4 监视系统行为
17.4.1 SQL Profiler
17.4.2 System Monitor
17.4.3 其他性能监视因素
17.5 总结
参考书目