《Microsoft SQL Server6.5技术内幕》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)(R.绍库普)Ron Soukup著;姜鸿英等译
  • 出 版 社:北京市:清华大学出版社
  • 出版年份:1999
  • ISBN:7302031185
  • 页数:634 页
图书介绍:

第1章 Microsoft SQL Server的演变过程: 从1989年到1996年 3

1.1 竞争的背景产生了Microsoft SQL Server 3

第1部分 概述 3

1.2 早期的NDK 5

1.3 Mocrosoft SQL Server的正式发布 6

1.4 开发工作的加强 8

1.5 OS/2和“友好的火力” 9

1.6 4.2 版本 10

1.7 OS/2 2.0的发布延迟了 11

1.7.1 4.2版本发布了 11

1.8 Windows NT上的SQL Server 12

1.10 合作开发的结束 17

1.11 SQL 95 的费用 18

1.12 下一个版本 21

2.1 引言 22

2.2 SQL Server引擎 22

2.2.1 Transact-SQL 22

第2章 游历Microsoft SQL Server 22

2.3 DBMS—强制性的数据完整性 27

2.3.1 说明性参照完整性 27

2.3.2 数据类型 28

2.3.4 默认值 29

2.3.5 触发器 29

2.3.3 CHECK约束和规则 29

2.4 事务处理 30

2.4.3 隔离性 31

2.4.2 一致性 31

2.4.4 耐久性 31

2.4.1 原子性 31

2.5.1 传统的进程/线索模型 32

2.5.2 Microsoft SQL Server的进程/线索模型 32

2.5 对称的服务器结构 32

2.5.3 多用户性能 33

2.6 安全性 33

2.6.1 监测与管理安全性 34

2.7 高度的有效性 35

2.8 分布式的数据处理 35

2.9 数据复制 37

2.10 系统管理 38

2.10.1 SQL Enterprise Manager 38

2.10.2 分布式的管理对象 39

2.10.3 Automation 和Visual Basic脚本 40

2.10.4 SQL Executive 42

2.11.1 SQL Server Web Assistant 和访问Internet 43

2.11.2 SQL Trance 43

2.11 SQL Server工具软件和扩展 43

2.11.4 与Windows NT Performance Monitor集成 44

2.11.5 SQL Security Manager 44

2.11.3 SQL Service Manager 44

2.11.6 SQL Client Configration Utility 45

2.11.7 SQL Server安装程序 45

2.11.9 大批量拷贝工具 46

2.11.10 与SNMP结合 46

2.11.8 ISQL/w和ISQL 46

2.12.1 DB-Library 47

2.12 开发界面 47

2.12.2 ODBC 47

2.11.11 SQL Server的联机阅读文档 47

2.12.3 ESQL for C 48

2.12.4 Open Data Services 48

小结 49

3.2 SQL Server引擎 53

3.1 概述 53

3.2.1 网库 53

第3章SQL Server的结构 53

第2部分 体系结构概述 53

3.2.2 Open Data Services 56

3.2.4 远程存储过程调用的处理器 59

3.2.5 序化器和优化器 59

3.2.3 命令分析器 59

3.2.6 执行器 61

3.2.7 搜索管理器 61

3.2.8 数据库和页管理器 62

3.2.9 事务管理器 62

3.2.10 加锁管理器 65

3.2.11 行操作管理器、索引管理器、文本管理器 66

3.2.12 缓冲区管理器和日志写人器 72

3.3 大内存问题 76

3.3.1 快速访问内存中的页 76

3.3.2 快速访问空闲页(Lazywriter) 77

3.4 事务日志和恢复 78

3.4.1 加锁和恢复 79

3.4.2 时戳和恢复 80

3.5 SQL Server的内核以及SQL Server与Windows NT的相互作用 81

3.5.1 线索和对称多处理 83

3.5.2 工作人员线索池 84

3.5.3 可伸缩性、性能和测试准则 86

小结 89

4.1 安装虽易,但考虑仍需周全 93

第4章 规划和安装SQL Server 93

4.2 SQL Server与SQL工作站 93

第3部分 应用SQL Server 93

4.3.1 使用与Windows硬件兼容的硬件 94

4.3.2 选择好的处理器 94

4.3 选择硬件 94

4.3.3 性能等于处理器周期、内存和I/O吞吐率的综合效果 95

4.3.4 要舍得在测试程序上花钱 96

4.4 硬件指导原则 97

4.4.1 处理器 97

4.4.2 内存 100

4.4.3 磁盘驱动器、控制器和磁盘组 101

4.4.4 RAID方法 102

4.4.5 关于驱动器和控制器的进一步说明 111

4.4.6 使用不间断电源 112

4.4.7 检测磁盘子系统 113

4.4.8 撤退型服务器功能 113

4.4.9 其它硬件方面的考虑 114

4.5 操作系统 114

4.6 文件系统 115

4.7 安全性和用户环境 116

4.8 选择许可证 117

4.8.1 Internet许可证 119

4.8.2 许可证限制 119

4.9 网络协议选择 121

4.10 字符集和排序顺序问题 124

4.10.1 字符集 124

4.10.2 排序顺序 126

1.9 成功带来的巨大变化 126

4.11 运行安装程序 131

4.12 安装后的基本配置 132

4.13 无值守安装和远程安装 134

4.13.1 远程安装 135

4.13.2 无值守安装 135

4.13.3 在最初安装后使用安装程序 137

小结 138

第5章 数据库和设备 139

5.1 什么是数据库? 139

5.2 数据库设备 140

5.2.1 建立数据库设备 140

5.2.2 设备号 142

5.2.3 扩充设备 143

5.2.4 默认设备 143

5.2.5 挂接和脱开设备 144

5.2.6 与设备的建立和安装有关的错误 144

5.2.7 镜象功能 145

5.3 建立数据库 145

5.3.1 分离事务日志 147

5.4 数据库的最大化和分片 148

5.5 扩充和收缩数据库 148

5.6 数据库内幕 149

5.7 数据库选项 151

5.8 改变数据库选项 152

5.9 有关数据库其它方面的考虑 153

5.9.1 FOR LOAD选项 153

5.9.2 数据库与模式有差别 154

5.9.3 可移动介质 154

5.9.4 专门的系统数据库 155

小结 156

6.1 引言 157

6.2 建表 157

第6章 表 157

6.2.1 命名表和列 158

6.2.2 关键字和保留字 158

6.2.3 命名约定 160

6.2.4 数据类型 161

6.3 内部存储细节 166

6.3.1 数据页 167

6.3.2 查看数据页 169

6.3.3 数据行 171

6.3.4 偏移表和调节表 172

6.3.5 定长行和变长行的存储方法 172

6.4 索引 175

6.4.2 非群聚索引 176

6.4.1 群聚索引 176

6.4.3 建立索引 178

6.5 用户定义的数据类型 179

6.6 Identity属性 182

6.7 约束 185

6.7.1 主键和唯一性约束 185

6.7.2 FOREIGN KEY(外键)约束 189

6.7.3 约束检查方法 195

6.7.4 关于删除表的限制 196

6.7.5 自引用表 197

6.7.6 参照动作 198

6.7.7 CHECK约束 199

6.7.8 “默认”约束 202

6.7.9 关于约束的进一步说明 206

6.8 临时表 212

6.8.1 私人临时表(#) 212

6.8.2 共用临时表 212

6.8.3 直接使用tempdb 213

6.8.4 对临时表的约束 213

小结 213

第7章 查询数据 215

7.1 引言 215

7.2 SELECT语句 215

7.3 联结 218

7.3.1 外联结 221

7.3.2 废弃外联结运算符 225

7.4 处理NULL 231

7.4.1 现时世界中的NULL 234

7.4.2 IS NULL和=NULL 236

7.5 子查询 239

7.5.1 相关子查询 243

7.6 视图和导出表 249

7.7 其它搜索表达式 252

7.7.1 LIKE 252

7.7.2 BETWEEN 256

7.7.3 集合函数 257

7.7.4 利用集合函数的计算结果从不同的角度查看数据 262

7.7.5 CUBE 263

7.7.6 ROLLUP 271

7.7.7 UNION 275

小结 280

第8章 修改数据 281

8.1 引言 281

8.2 基本的修改操作 281

8.2.1 INSERT 281

8.2.2 UPDATE 291

8.2.3 DELETE 294

8.2.4 通过视图修改数据 295

8.2.5 WITH CHECK OPTION选项 300

8.3 内部细节和性能方面的考虑 303

8.3.1 行的定位 303

8.3.2 更新策略 304

8.3.3 示例 311

8.3.4 加锁问题 320

小结 321

第9章 利用Transact-SQL编程 322

9.1 引言 322

9.2 作为编程语言的Transact-SQL 322

9.3 Transact-SQL编程结构-基本知识 325

9.3.1 变量 325

9.3.2 流控制工具 327

9.3.3 CASE 327

9.3.4 CASE的变形 331

9.2.5 注解 332

9.2.6 PRINT和RAISERROR 333

9.3.7 运算符 336

9.3.8 标量函数 341

小结 362

第10章 批处理、事务、存储过程和触发器 363

10.1 引言 363

10.2 批处理文件 363

10.3 事务 364

10.3.1 明确的事务和隐含的事务 365

10.3.2 在事务中查错 365

10.3.3 事务隔离等级 370

10.4 存储过程 377

10.3.4 事务的附加特性 377

10.4.1 嵌套的存储过程 379

10.4.2 存储过程中的递归技术 379

10.4.3 嵌套的事务块 383

10.4.4 保存点 387

10.4.5 存储过程的参数 387

10.5 批处理文件的处理和存储过程的存储 388

10.5.1 存储过程的存储 392

10.5.2 将存储过程加密 392

10.5.3 临时的存储过程 394

10.5.4 系统存储过程和专用的“sp-”前缀 396

10.5.5 自动启动存储过程 397

10.5.6 系统存储过程 398

10.5.8 SQL Exective存储过程 399

10.5.7 类目存储过程 399

10.5.9 复制存储过程 400

10.5.10 扩展存储过程 400

10.6 触发器 405

10.6.1 重新执行一个触发器 406

10.7 调试存储过程和触发器 408

10.7.1 构造并执行一个字符串 411

10.8 操作文本和图象数据 411

10.8.1 WRITETEXT 413

10.8.2 READTEXT 415

10.8.3 UPDATETEXT 418

10.9.1 区分大小写 422

10.9 环境方面的注意事项 422

10.9.2 NULL值和ANSI一致性设置 423

10.9.3 针对本地的SET选项 427

小结 427

第11章 光标 428

11.1 引言 428

11.2 光标的基本知识 428

11.3 光标和ISAM 430

11.3.1 ISAM: 过多的命令和网络交通 433

11.3.2 ISAM: 过量地使用服务器资源 433

11.3.3 ISAM: 不必要的长事务 434

11.4 光标模型 434

11.4.1 Transact-SQL光标 434

11.4.3 客户光标 435

11.4.2 API服务器光标 435

11.4.4 默认的结果集 436

11.4.5 API服务器光标和Transact-SQL光标之比较 437

11.5 适度使用光标 438

11.5.1 逐行操作 438

11.5.2 查询操作 439

11.5.3 滚动应用程序 440

11.5.4 选择光标模型 441

11.5.5 光标的成员、滚动和对修改的敏感度 441

11.6 Transact-SQL光标的句法和行为 446

11.6.1 DECLARE 446

11.6.2 OPEN 447

11.6.3 FETCH 448

11.6.6 CLOSE 449

11.6.4 UPDATE 449

11.6.5 DELETE 449

11.6.7 DEALLOCATE 450

11.6.8 Transact-SQL 光标的行为 450

11.6.9 最简单的光标句法 452

11.6.10 完全可滚动的Transact-SQL光标 452

11.6.11 利用Transact-SQL光标控制并发性 453

小结 460

第12章 Transact-SQL示例和编程之谜 461

12.1 引言 461

12.2 用触发器实现参照动作 461

12.3.1 生成测试数据 467

12.3 编程之谜 467

12.3.2 查找前n个值 471

12.3.3 获取排队顺序 474

12.3.4 时间序列问题: 查找不同时间段间的差异 484

12.3.5 累计求和问题 489

12.3.6 隔n行采样问题 490

12.3.7 查找含匹配列的行 490

12.3.8 将数据放到一个Web页上——快速方法 494

12.3.9 扩充层次结构(或称“物料帐单问题”) 495

12.3.10 用选择的方法取代迭代 500

12.3.11 获取表中的行数——最快方法 501

12.3.12 保存计算列 502

12.3.13 数据透视表(或称“交叉表”) 503

12.3.14 将SQL Server与e-mail集成 506

12.3.15 模拟一个分布式查询 511

12.3.16 模拟一个分布式、分区式插入 512

12.3.17 将文本复制到有序的varchar型列中 513

12.3.18 实例化并执行一个自动对象 516

小结 517

第13章 加锁 518

13.1 引言 518

13.2 加锁管理器 518

13.2.1 加锁管理器和隔离等级 518

13.2.2 自旋锁 519

13.2.3 死锁 520

13.3 用户数据的加锁类型 522

13.2.4 加锁和内存 522

13.5 加锁的兼容性 524

13.4 查看加锁 524

13.5.1 约束连接 526

13.5.2 行加锁和页加锁 526

13.5.3 插入行加锁 527

13.6 加锁升级 529

13.7 加锁暗示和应用程序问题 530

小结 530

第四部分 性能与调整 533

第14章 设计和查询性能 533

14.1 引言 533

14.3 提高开发组中各成员的技术水平 534

14.2 关于性能的指导原则 534

14.4 强化应用程序和数据库的设计 535

14.4.1 数据库的规范化 535

14.4.2 评估你的关键事务 536

14.4.3 使表的行长和键值尽可能紧凑 538

14.5 描述峰值时性能需求 539

14.6 交互系统的响应时间问题 539

14.7 贯穿整个开发过程的模型化、测试标准和测试 541

14.7.1 开发过程中的方法论 542

14.8 建立有用的索引 544

14.8.1 创建有用索引的指导原则 544

14.10 明智地使用光标 548

14.9 选择适当的硬件 548

14.12 使网络的往返次数最小化 549

14.11 尽量使用存储过程 549

14.13 并发性与一致性间的权衡 550

14.14 分析并解决加锁(阻塞)问题 551

14.14.1 解决阻塞问题的指导原则 552

14.15 分析并解决死锁问题 553

14.15.1 循环死锁的示例 553

14.15.2 转换死锁的示例 554

14.15.3 页分裂引发的死锁 555

14.15.4 阻止死锁的发生 556

14.15.5 处理死锁现象而不阻止它发生 557

14.15.8 找出故障的原因 559

14.15.6 自愿成为死锁的牺牲者 559

14.15.7 行加锁和死锁 559

14.15.9 监视加锁活动 563

14.6 分裂OLTP和DSS应用程序 569

14.17 监测和调试查询 570

14.17.1 优化器 570

14.18 监测查询性能 585

14.18.1 STATISTICS IO 585

14.18.2 STATISTICS TIME 586

14.18.3 SHOWPLAN ON 586

14.18.4 观察优化器的决策过程 587

14.18.5 使用优化器和加锁暗示 593

小结 596

15.1 引言 597

15.2 检查和调整Windows NT配置设置 597

15.2.1 Windows NT任务管理 597

第15章 配置与性能监测 597

15.2.2 Windows NT Server的资源分配 598

15.2.3 Windows NT服务器PAGEFILE.SYS位置 598

15.2.4 Windows NT文件系统选择 599

15.2.5 次要的Windows NT服务 599

15.2.6 Windows NT网络协议 599

15.3 检查和调整SQL Server配置参数 599

15.3.1 影响整个服务器的选项: sp-configure设置 599

15.3.3 插入行加锁 616

15.3.2 数据库选项 616

15.3.4 缓冲区管理器选项 617

15.3.5 SQLSERVR.EXE的启动参数 618

15.4 维护系统 619

15.5 监测系统性能 619

15.5.1 性能监测器计数器 620

15.5.2 监测性能的其它考虑 624

小结 624

第5部分 附录 627

附录1 SQL Server的内置共用变量 627

附录2 推荐读物 630

参考文献 634