当前位置:首页 > 工业技术
Microsoft SQL Server 7.0技术内幕
Microsoft SQL Server 7.0技术内幕

Microsoft SQL Server 7.0技术内幕PDF电子书下载

工业技术

  • 电子书积分:20 积分如何计算积分?
  • 作 者:(美)(R.绍库普)Ron Soukup,(美)(K.德莱尼)Kalen Delaney著;北京博彦科技发展有限公司译
  • 出 版 社:北京:北京大学出版社
  • 出版年份:2000
  • ISBN:7301010052
  • 页数:748 页
图书介绍:
《Microsoft SQL Server 7.0技术内幕》目录

第一部分 概述 3

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

1.1 Ron的经历 5

1.2 Kalen的经历 7

1.3 Microsoft SQL Server的正式发布 7

1.4 开发角色的演变 9

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

1.6 4.2版 11

1.6.1 OS/2 2.0的发布延迟了 12

1.6.2 4.2版本发布了 13

1.7 Windows NT上的SQL Server 13

1.8 成功带来的巨大变化 17

1.9 合作开发的结束 18

1.10 SQL95的费用 20

1.11 下一个版本 22

1.12 Sphinx的秘密 22

1.13 新的未来 24

第二章 游历SQL Server 25

2.1 SQL Server引擎 26

2.1.1 Transact-SQL 27

2.2 DBMS——强制性的数据完整性 31

2.2.1 说明性参照完整性 31

2.2.2 数据类型 32

2.2.3 CHECK约束和规则 33

2.2.4 默认值 33

2.2.5 触发器 33

2.3 事务处理 34

2.3.3 隔离性 35

2.3.1 原子性 35

2.3.2 一致性 35

2.3.4 持久性 36

2.4 对称的服务器结构 36

2.4.1 传统的进程/线程模型 36

2.4.2 SQL Server的进程/线程模型 37

2.4.3 多用户性能 37

2.5 安全性 38

2.5.1 监测与管理安全性 38

2.6 高度有效性 39

2.7 分布式的数据处理 40

2.8 数据复制 41

2.9.1 SQL Server Enterprise Manager 43

2.9 系统管理 43

2.9.2 分布式的管理对象 45

2.9.3 Automation和Visual Basic脚本 46

2.9.4 SQL Server Agent 47

2.10 SQL Server工具软件和扩展 48

2.10.1 Web Assistant Wizard和Internet Enabling 49

2.10.2 SQL Server Profiler 49

2.10.3 SQL Server Service Manager 50

2.10.4 与Windows NT“性能监视器”集成 50

2.10.5 Client Network实用程序 51

2.10.6 Server Network实用程序 51

2.10.7 SQL Server安装程序 52

2.10.8 ISQL和OSQL 52

2.10.11 SNMP集成 53

2.10.9 SQL Server Query Analyzer 53

2.10.10 大批量复制和Data Transformation Services 53

2.10.12 SQL Server Books Online 54

2.11 客户开发接口 54

2.11.1 ODBC 54

2.11.2 RDO 54

2.11.3 OLE DB 55

2.11.4 ADO 55

2.11.5 DB-Library 55

2.11.6 用于C语言的ESQL 55

2.11.7 服务器开发接口 56

2.12 小结 56

3.1 SQL Server引擎 59

3.1.1 网库 59

第三章 SQL Server的结构 59

第二部分 体系结构概述 59

3.1.2 开放式数据服务 62

3.1.3 关系引擎和存储引擎 66

3.1.4 访问方法管理器 70

3.1.5 行操作管理器和索引管理器 70

3.1.6 页管理器和文本管理器 74

3.1.7 事务管理器 75

3.1.8 加锁管理器 78

3.1.9 其他管理器 79

3.2 管理内存 79

3.2.1 缓冲区管理器和内存池 79

3.2.2 访问内存中的页 79

3.2.3 访问空闲页(惰性写入器) 80

3.2.4 检查点 82

3.2.5 利用缓冲区管理器来访问页 83

3.2.6 大内存问题 83

3.2.7 日志管理器 84

3.3 事务日志和恢复 85

3.3.1 加锁和恢复 87

3.3.2 页LSN和恢复 87

3.4 SQL Server的内核以及SQL Server与Windows NT的相互作用 89

3.4.1 线程和对称多处理 90

3.4.2 工作人员线程池 91

3.4.3 Windows NT上的磁盘I/O 93

3.5 小结 94

4.1 SQL Server版本 97

第四章 规划和安装SQL Server 97

第三部分 使用Microsoft SQL Server 97

4.1.1 用户连接 99

4.1.2 嵌入的SQL Server 99

4.2 硬件指导原则 99

4.2.1 使用Windows硬件兼容列表中的硬件 100

4.2.2 选择好的处理器 100

4.2.3 Performance=Fn(处理器周期、内存和I/O吞吐量) 101

4.2.4 测试程序投资 101

4.3 硬件组件 102

4.3.1 处理器 102

4.3.2 内存 104

4.3.3 磁盘驱动器、控制器和磁盘阵列 106

4.3.4 RAID方法 107

4.3.5 关于驱动器和控制器的进一步说明 115

4.3.6 不间断电源(UPS) 117

4.3.7 磁盘子系统 118

4.3.8 撤退型服务器功能 118

4.3.9 其他硬件方面的考虑 119

4.4 操作系统 120

4.5 文件系统 120

4.6 安全性和用户环境 121

4.7 许可协议 122

4.7.1 许可协议方案 124

4.7.2 Internet许可协议 124

4.7.3 许可协议限制 125

4.8 网络协议 127

4.9.1 字符集 130

4.9 字符集和排序顺序问题 130

4.9.2 排序顺序 132

4.10 安装SQL Server 136

4.11 安装后的基本配置 137

4.11.1 启动SQL Server Service 137

4.11.2 修改系统管理员密码 138

4.11.3 配置SQL Server的错误日志 138

4.12 远程安装和无人参与安装 139

4.12.1 远程安装 139

4.12.2 无人参与安装 140

4.12.3 修改安装选项 141

4.12.4 添加附加的组件 142

4.13 小结 142

第五章 数据库和数据库文件 143

5.1 指定系统数据库 144

5.1.1 master 144

5.1.2 model 144

5.1.3 tempdb 144

5.1.4 pubs 145

5.1.5 Northwind 145

5.1.6 msdb 146

5.2 数据库文件 146

5.3 创建数据库 147

5.3.1 CREATE DATABASE示例 149

5.4 扩展和收缩数据库 149

5.4.1 自动扩展文件 149

5.4.4 手动收缩文件 150

5.4.3 自动收缩文件 150

5.4.2 手工扩展文件 150

5.5 更改日志大小 151

5.6 数据库文件组 155

5.6.1 FILEGROUP CREATION示例 156

5.7 改变数据库 157

5.7.1 ALTER DATABASE示例 158

5.8 数据库内幕 159

5.8.1 空间的分配 161

5.9 数据库选项 163

5.9.1 更改数据库选项 167

5.10 有关数据库其他方面的考虑 168

5.10.1 数据库并不等于规划 168

5.10.2 可移动介质 168

5.10.3 兼容级别 169

5.11 小结 170

第六章 表 171

6.1 创建表 172

6.1.1 命名表和列 172

6.1.2 保留的关键字 173

6.1.3 定界标识符 173

6.1.4 命名约定 175

6.1.5 数据类型 176

6.1.6 混乱的NULL 182

6.2 内部存储细节 185

6.2.1 数据页 186

6.2.2 查看数据页 188

6.2.3 数据行结构 191

6.2.5 定长和变长行的存储方法 193

6.2.4 列偏移表 193

6.2.6 页联接 197

6.2.7 文本和图像数据 198

6.3 索引 199

6.3.1 群集索引 200

6.3.2 非群集索引 200

6.3.3 索引页的结构 201

6.3.4 创建索引 201

6.4 用户定义的数据类型 203

6.5 Identity属性 204

6.6 约束 207

6.6.1 PRIMARY KEY和UNIQUE约束 207

6.6.2 FOREIGN KEY约束 213

6.6.3 约束检查方法 220

6.6.4 关于删除表的限制 221

6.6.5 自引用表 221

6.6.6 参照动作 223

6.6.7 CHECK约束 224

6.6.8 默认约束 228

6.6.9 关于约束的进一步说明 232

6.7 修改表 239

6.7.1 修改数据类型 239

6.7.2 添加新列 240

6.7.3 添加、删除、禁用或启用约束 240

6.7.4 删除列 241

6.7.5 启动或禁用触发器 241

6.8.2 全局临时表(##) 242

6.8.1 私有临时表(#) 242

6.8 临时表 242

6.8.3 直接使用tempdb 243

6.8.4 对临时表的约束 243

6.8 小结 244

第七章 查询数据 245

7.1 SELECT语句 245

7.2 联结 248

7.2.1 外联结 252

7.2.2 废弃OUTER JOIN运算符*= 257

7.2.3 交叉联结 263

7.3 处理NULL 264

7.3.1 现实中的NULL 268

7.3.2 IS NULL和=NULL 270

7.4 子查询 273

7.4.1 相关子查询 278

7.5 视图和导出表 285

7.5.1 修改视图 288

7.6 其他搜索表达式 289

7.6.1 LIKE 289

7.6.2 BETWEEN 294

7.6.3 集合函数 295

7.6.4 利用集合函数的计算结果,从不同角度查看数据 301

7.6.5 TOP 315

7.6.6 UNION 317

7.7 小结 323

8.1 基本的修改操作 325

8.1.1 INSERT 325

第八章 修改数据 325

8.1.2 UPDATE 338

8.1.3 DELETE 340

8.1.4 通过视图修改数据 342

8.2 内部数据修改 350

8.2.1 插入行 351

8.2.2 拆分页 351

8.2.3 删除行 355

8.2.4 更新行 360

8.2.5 表级与索引级数据修改的比较 365

8.2.6 记录 367

8.2.7 加锁 367

8.3 小结 367

9.1 作为编程语言的Transact-SQL 369

第九章 利用Transact-SQL编程 369

9.1.1 在多层上进行程序设计 370

9.2 Transact-SQL编程结构——基础知识 372

9.2.1 变量 373

9.2.2 流控制工具 375

9.2.3 CASE 376

9.2.4 PRINT 380

9.2.5 RAISERROR 381

9.2.6 FORMATMESSAGE 384

9.2.7 运算符 384

9.2.8 标量函数 390

9.3 小结 420

10.1 批处理 421

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

10.2 事务 425

10.2.1 明确的事务和隐含的事务 426

10.2.2 在事务中查错 427

10.2.3 事务隔离等级 432

10.2.4 事务的附加特性 443

10.3 存储过程 444

10.3.1 嵌套的存储过程 446

10.3.2 存储过程中的递归技术 446

10.3.3 嵌套的事务块 451

10.3.4 保存点 454

10.3.5 存储过程的参数 455

10.4.1 第一步:分析命令并创建顺序树 456

10.4.2 第二步:编译批处理 456

10.4 批处理的执行或存储过程的存储 456

10.4.3 第三步:执行 457

10.4.4 第四步:重新编译执行计划 458

10.4.5 存储过程的存储 460

10.4.6 将存储过程加密 460

10.4.7 修改存储过程 463

10.4.8 临时的存储过程 463

10.4.9 系统存储过程和专用的SP_前缀 465

10.4.10 自动启动存储过程 466

10.4.11 系统存储过程 467

10.4.12 类目存储过程 469

10.4.13 SQL Server Agent存储过程 470

10.4.14 复制存储过程 471

10.4.15 扩展存储过程 472

10.5 触发器 479

10.5.1 重新执行一个触发器 481

10.6 调试存储过程和触发器 483

10.6.1 Execute( any string ) 485

10.7 操作文本和图像数据 486

10.7.1 WRITETEXT 487

10.7.2 READTEXT 490

10.7.3 UPDATETEXT 493

10.8 环境方面的注意事项 498

10.8.1 区分大小写 498

10.8.2 可空性和ANSI一致性设置 499

10.8.3 针对本地的SET选项 503

10.9 小结 504

第十一章 游标 505

11.1 游标的基本知识 506

11.2 游标和ISAM 508

11.2.1 ISAM风格应用程序的问题 511

11.3 游标模型 512

11.3.1 Transact-SQL游标 512

11.3.2 API服务器游标 512

11.3.3 客户游标 513

11.3.4 默认的结果集 514

11.3.5 API服务器游标和Transact-SQL游标 515

11.4 适度使用游标 516

11.4.1 逐行操作 516

11.4.2 查询操作 517

11.4.3 滚动应用程序 518

11.4.4 选择游标 519

11.4.5 游标成员、滚动和对修改的敏感度 520

11.5 使用Transact-SQL游标 525

11.5.1 DECLARE 525

11.5.2 OPEN 527

11.5.3 FETCH 528

11.5.4 UPDATE 530

11.5.5 DELETE 530

11.5.6 CLOSE 530

11.5.7 DEALLOCATE 531

11.5.8 最简单的游标语法 531

11.5.9 完全可滚动的Transact-SQL游标 532

11.5.10 利用Transact-SQL游标控制并发性 534

11.6 游标变量 542

11.6.1 获取游标信息 543

11.7 小结 548

第十二章 Transact-SQL示例和编程之迷 551

12.1 用触发器实现参照动作 551

12.1.1 递归触发器 558

12.2 编程之迷 559

12.2.1 生成测试数据 559

12.2.2 获取排队顺序 563

12.2.3 查找不同时间段间的差异 574

12.2.4 累计求和问题 579

12.2.5 每隔n行的采样问题 580

12.2.6 查找含匹配列的行 580

12.2.7 将数据放到Web页上 584

12.2.8 扩充层次结构 585

12.2.9 用选择代替迭代 591

12.2.10 获取表中的行数 592

12.2.11 保存计算的列 593

12.2.12 数据透视表(或称“交叉表”) 594

12.2.13 将SQL Server与电子邮件集成 597

12.2.14 将文本复制到有序的varchar型列中 603

12.2.15 实例化并执行自动化对象 606

12.2 小结 610

第十三章 加锁 611

13.1 加锁管理器 611

13.1.1 加锁管理器和隔离等级 612

13.1.2 自旋锁 612

13.1.3 死锁 613

13.2 用户数据的加锁类型 617

13.2.1 加锁模式 617

13.1.4 加锁和内存 617

13.2.2 加锁粒度 620

13.2.3 加锁的持续时间 623

13.2.4 加锁所有权 623

13.2.5 查看加锁 624

13.3 加锁的兼容性 629

13.4 绑定连接 630

13.5 行级加锁和页级加锁 632

13.5.1 加锁升级 633

13.6 加锁暗示和跟踪标志 634

13.7 小结 634

第四部分 性能与调整 637

第十四章 优化查询性能 637

14.1 开发小组 637

14.2 应用程序和数据库的设计 638

14.2.1 数据库的规范化 639

14.2.2 评估您的关键事务 640

14.2.3 使表的行长和键值尽可能紧凑 641

14.3 描述峰值时性能需求 642

14.4 交互系统的响应时间问题 643

14.5 模型化、测试标准和测试 644

14.5.1 开发过程中的方法论 646

14.6 创建有用的索引 647

14.6.1 谨慎地选择群集索引 649

14.6.2 使非群集索引获得较高的搜索性能 649

14.6.3 为关键事务剪裁索引 650

14.6.4 注意列的顺序 651

14.6.5 用于联结的索引列 652

14.7 使用存储过程和缓冲机制 653

14.6.6 根据需要创建或删除索引 653

14.7.1 特别的缓冲 654

14.7.2 自动参数化 655

14.7.3 sp_executesql过程 655

14.7.4 准备和执行方法 656

14.7.5 共享高速缓存的方案 656

14.7.6 使用存储过程及其他缓冲机制的条件 656

14.7.7 重新编译存储过程 657

14.7.8 限制高速缓存中的方案数 657

14.7.9 存储过程的其他优点 658

14.8 并发性与一致性间的权衡 660

14.9 解决阻塞问题 661

14.9.1 索引和阻塞 662

14.10.1 循环死锁的示例 664

14.10 解决死锁问题 664

14.10.2 转换死锁的示例 665

14.10.3 防止死锁 667

14.10.4 处理死锁 667

14.10.5 自愿成为死锁的牺牲者 668

14.10.6 观察加锁活动 668

14.10.7 找出故障的原因 669

14.11 分裂OLTP和DSS应用程序 675

14.12 优化查询 675

14.12.1 查询分析 676

14.12.2 索引选择 679

14.12.3 联结选择 688

14.12.4 其他处理策略 693

14.12.5 维护统计 694

14.12.6 Index Tuning Wizard 696

14.13 监测查询性能 697

14.13.1 STATISTICS IO 698

14.13.2 STATISTICS TIME 700

14.13.3 Showplan 700

14.13.4 使用查询暗示 702

14.14 小结 708

第十五章 配置与性能监测 711

15.1 Windows NT配置设置 711

15.1.1 任务管理 711

15.1.2 资源分配 712

15.1.3 PAGEFILE.SYS的位置 712

15.1.6 网络协议 713

15.2 SQL Server的配置参数 713

15.1.5 次要的服务 713

15.1.4 文件系统选择 713

15.2.1 影响整个服务器的选项 714

15.2.2 数据库选项 723

15.2.3 缓冲管理器 724

15.2.4 SQLSERVER.EXE的启动参数 725

15.3 维护系统 726

15.4 监测系统性能 726

15.4.1 SQL Server Profiler 727

15.4.2 性能监视器 736

15.4.3 监测性能的其他考虑 744

15.5 小结 744

推荐读物 745

相关图书
作者其它书籍
返回顶部