图书目录

目    录

第1章  SQL Server 2008体系结构 1

1.1  DBA角色的扩展 1

 1.1.1  生产DBA 1

 1.1.2  开发DBA 2

 1.1.3  商业智能DBA 2

 1.1.4  混合型DBA 3

 1.1.5  需要了解的新内容 3

1.2  SQL Server体系结构 4

 1.2.1  事务日志和数据库文件 4

 1.2.2  SQL Native Client 5

 1.2.3  系统数据库 6

 1.2.4  架构 8

 1.2.5  同义词 8

 1.2.6  动态管理视图 9

 1.2.7  SQL Server 2008数据类型 9

1.3  SQL Server版本 15

 1.3.1  精简版(32位) 15

 1.3.2  SQL速成版(32位) 15

 1.3.3  工作组版(32位和64位) 15

 1.3.4  网络版(32位和64位) 16

 1.3.5  标准版(32位和64位) 16

 1.3.6  企业版、评估版和开发人员版(32位和64位) 16

 1.3.7  操作系统 16

 1.3.8  SQL Server的最大容量 17

 1.3.9  不同版本的数据库功能 17

 1.3.10  许可 26

1.4  小结 28

第2章  SQL Server 2008安装最佳实践 29

2.1  规划系统 29

 2.1.1  硬件选择 29

 2.1.2  软件和安装选择 33

2.2  安装SQL Server 38

 2.2.1  并列安装、升级安装和全新安装 38

 2.2.2  脚本安装 39

 2.2.3  远程安装 40

 2.2.4  本地安装 40

 2.2.5  示例数据库在什么地方 44

2.3  安装Analysis Services 44

2.4  系统压力测试 44

2.5  安装后的配置 45

 2.5.1  SQL Server配置管理器 45

 2.5.2  SQL Server Management Studio 46

 2.5.3  tempdb 47

 2.5.4  备份 49

2.6  卸载SQL Server 49

 2.6.1  卸载Reporting Services 49

 2.6.2  卸载Analysis Services 50

 2.6.3  卸载SQL Server引擎 50

2.7  常见安装问题 51

 2.7.1  从网络共享安装客户端工具 51

 2.7.2  远程群集节点上默认不安装管理工具 52

 2.7.3  最小配置警告 52

2.8  故障排除失败安装 52

2.9  小结 53

第3章  升级到SQL Server 2008的最佳实践 54

3.1  升级到SQL Server 2008的原因 54

 3.1.1  减少风险——微软的贡献 55

 3.1.2  独立软件厂商和SQL社区的贡献 55

3.2  升级到SQL Server 2008 56

 3.2.1  本地升级 56

 3.2.2  并列升级 57

 3.2.3  本地升级与并列升级的考虑事项 58

3.3  升级前检查 59

 3.3.1  SQL Server升级顾问 59

 3.3.2  安装SQL Server 2008升级顾问 59

 3.3.3  使用升级顾问 60

 3.3.4  脚本化升级顾问 62

 3.3.5  解决升级问题 62

3.4  SQL Server升级助手 64

3.5  向后兼容性 66

 3.5.1  不支持和未延续的功能 66

 3.5.2  SQL Server 2008弃用的数据库功能 66

 3.5.3  SQL Server 2008中其他影响行为的变化 67

3.6  SQL Server组件考虑 68

 3.6.1  将全文目录升级到SQL Server 2008 68

 3.6.2  升级Reporting Services 69

 3.6.3  升级Analysis Services 69

 3.6.4  将DTS升级到SQL Server2008 Integration Services(SSIS) 70

 3.6.5  日志传送 76

 3.6.6  故障转移群集和数据镜像 76

 3.6.7  升级到64位 76

3.7  升级后检查 76

 3.7.1  升级后查询性能较差 77

 3.7.2  更新使用情况计数器 78

 3.7.3  SQL Server配置管理器 78

 3.7.4  基于策略的管理 79

3.8 小结 82

第4章  数据库引擎管理与故障排除 83

4.1  配置工具 83

 4.1.1  SQL Server配置管理器 83

 4.1.2  专用管理员连接 85

 4.1.3  配置服务器和服务器组 85

 4.1.4  启动参数 86

 4.1.5  启动存储过程 89

 4.1.6  重建系统数据库 90

4.2  Management Studio 91

 4.2.1  报表 91

 4.2.2  配置SQL Server 93

 4.2.3  筛选对象 96

 4.2.4  错误日志 96

 4.2.5  活动监视器 97

 4.2.6  在T-SQL中监控进程 101

4.3  跟踪标志 103

4.4  获得技术支持 107

 4.4.1  SQLDumper.exe 108

 4.4.2  SQLDiag.exe 108

4.5  小结 110

第5章  自动化SQL Server 111

5.1  维护计划 111

 5.1.1  维护计划向导 111

 5.1.2  维护计划设计器 116

5.2  SQL Server代理 118

 5.2.1  自动化组件 118

 5.2.2  SQL Server代理安全性 131

 5.2.3  配置SQL Server代理 135

 5.2.4  数据库邮件 138

 5.2.5  多服务器管理 143

5.3  小结 149

第6章  Integration Services管理和性能调整 150

6.1  Integration Services简介 150

 6.1.1  Integration Services的用途 151

 6.1.2  Integration Services的4个主要部分 152

 6.1.3  项目管理和更改控制 153

6.2  SSIS服务的管理 153

 6.2.1  概述SSIS服务 154

 6.2.2  配置 154

 6.2.3  事件日志 159

 6.2.4  监控活动 160

6.3  Integration Services包的管理 161

 6.3.1  Integration Services的概述 161

 6.3.2  创建包 161

 6.3.3  管理 164

 6.3.4  部署 167

 6.3.5  执行和调度 170

6.4  对Integration Services应用安全性 174

 6.4.1  概述Integration Services安全性 174

 6.4.2  保护包 174

 6.4.3  保存包 175

 6.4.4  运行包 176

 6.4.5  包资源 176

 6.4.6  数字签名 176

6.5  小结 176

第7章  Analysis Services管理和性能调整 177

7.1  Analysis Services概述 177

 7.1.1  统一维度模型的组件 178

 7.1.2  Analysis Services组件 178

7.2  管理Analysis Services服务器 179

 7.2.1  必需的服务 181

 7.2.2  Analysis Services脚本语言 181

7.3  管理Analysis Services数据库 183

 7.3.1  部署Analysis Services数据库 183

 7.3.2  处理Analysis Services对象 186

 7.3.3  备份和还原Analysis Services数据库 188

 7.3.4  同步Analysis Services数据库 190

7.4  Analysis Services性能监控和调整 191

 7.4.1  使用SQL Profiler监控

   Analysis Services事件 191

 7.4.2  为重播创建跟踪 192

 7.4.3  将飞行记录器用于事实后分析 193

7.5  Analysis Services

   存储的管理 194

 7.5.1  存储模式 194

 7.5.2  分区配置 195

 7.5.3  设计聚合 197

7.6  对Analysis Services

   应用安全性 199

 7.6.1  服务器角色 199

 7.6.2  数据库角色 200

 7.6.3  数据库角色的权限 201

7.7  小结 203

第8章  管理开发功能 204

8.1  Service Broker 204

 8.1.1  Service Broker体系结构 204

 8.1.2  Service Broker示例 212

 8.1.3  激活 226

 8.1.4  会话组 230

8.2  Service Broker的安全考虑 232

 8.2.1  传输安全 232

 8.2.2  路由 236

 8.2.3  对话安全 239

8.3  会话优先级 243

 8.3.1  设置会话优先级 243

 8.3.2  回顾会话优先级 251

8.4  管理Service Broker 252

 8.4.1  安装Service Broker

   应用程序 252

 8.4.2  设置Service Broker

   对象的权限 254

 8.4.3  管理Service Broker队列 255

 8.4.4  病毒消息处理 256

 

 8.4.5  移动Service Broker

   应用程序 258

 8.4.6  复制Service Broker

   应用程序 259

 8.4.7  替换过期的证书 260

 8.4.8  故障排除Service Broker

   应用程序 260

 8.4.9  对Service Broker进行

   性能调整 269

8.5  CLR集成简介 270

 8.5.1  作为.NET运行时主机的

   SQL Server 270

 8.5.2  应用程序域 271

 8.5.3  T-SQL与CLR 272

 8.5.4  扩展存储过程与CLR 272

 8.5.5  启用CLR集成 272

 8.5.6  创建CLR程序集 273

 8.5.7  部署程序集 277

 8.5.8  修改程序集 282

 8.5.9  删除程序集 282

 8.5.10  对象分类 282

 8.5.11  应用程序域 285

 8.5.12  性能监控 287

8.6  小结 289

第9章  保护数据库引擎 290

9.1  安全原则 290

 9.1.1  最少权限原则 290

 9.1.2  CIA三角 291

 9.1.3  深度防护 292

9.2  创建安全的配置 293

 9.2.1  SQL Server 2008中新的

   安全功能 293

 9.2.2  操作系统安全 293

 9.2.3  操作系统安全和

   SQL Server 297

9.3  外围应用配置器 301

9.4  端点 302

 9.4.1  典型的端点配置 302

 9.4.2  其他端点 303

 9.4.3  SQL Server 2008中的

   Windows身份验证变更 303

9.5  身份和访问控制 304

 9.5.1  服务器主体/登录名 304

 9.5.2  凭据 312

 9.5.3  用户 313

9.6  架构 317

 9.6.1  架构示例 317

 9.6.2  修改架构 320

 9.6.3  用户/架构分离 320

 9.6.4  改变架构所有者 321

 9.6.5  INFORMATION_SCHEMA

   和sys架构 322

9.7  安全对象和对象权限 322

 9.7.1  所有权链接 322

 9.7.2  跨数据库所有权链接 323

 9.7.3  权限上下文 324

 9.7.4  EXECUTE AS命令 325

 9.7.5  排除权限故障 327

9.8  加密 328

 9.8.1  建立加密方法 328

 9.8.2  加密数据 330

 9.8.3  创建辅助函数示例 331

 9.8.4  列级权限 332

 9.8.5  透明数据加密(TDE) 332

 9.8.6  可扩展的密钥管理(EKM) 334

9.9  SQL Server Audit 334

 9.9.1  创建一个Audit对象 335

 9.9.2  创建和启用服务器

   审核规范 336

 9.9.3  创建和启用数据库

   审核规范 337

9.10  小结 338

第10章  变更管理 339

10.1  创建项目 339

 10.1.1  创建连接 340

 10.1.2  创建项目查询 341

10.2  基于策略的管理 341

 10.2.1  基于策略的管理概述 341

 10.2.2  基于策略的管理

    的步骤 343

 10.2.3  脚本化基于策略

    的管理 346

 10.2.4  基于策略的管理的

    实现方式 349

 10.2.5  DDL触发器语法 350

 10.2.6  数据库触发器 351

 10.2.7  服务器触发器 355

10.3  触发器视图 356

10.4  创建变更脚本 360

 10.4.1  Data Dude 361

 10.4.2  PowerShell 361

 10.4.3  版本表 363

10.5  小结 364

第11章  配置服务器来调整性能 365

11.1  DBA需要了解的与性能

   有关的知识 365

 11.1.1  性能调整周期 365

 11.1.2  定义好的性能 366

 11.1.3  关注重点 367

11.2  开发DBA需要知道的与

   性能有关的知识 367

 11.2.1  用户 368

 11.2.2  SQL语句 368

 11.2.3  数据 368

 11.2.4  健壮的架构 368

11.3  生产DBA需要知道的与

   性能有关的知识 369

11.4  优化服务器 369

11.5  配置服务器硬件 371

 11.5.1  Windows服务器系统

    参考体系结构 371

 11.5.2  Windows服务器目录 371

11.6  CPU 371

 11.6.1  32位x86处理器 372

 11.6.2  x64 372

 11.6.3  IA64 372

 

 11.6.4  在x64或IA64

    之间进行选择 373

 11.6.5  超线程 373

 11.6.6  缓存 374

 11.6.7  多核 375

 11.6.8  系统体系结构 377

11.7  内存 379

 11.7.1  物理内存 379

 11.7.2  物理地址空间 379

 11.7.3  虚拟内存管理器 379

 11.7.4  页面文件 380

 11.7.5  页面错误 380

 11.7.6  虚拟地址空间 381

 11.7.7  32位系统内存配置 381

 11.7.8  64位系统 383

 11.7.9  内存配置案例 384

11.8  I/O 386

 11.8.1  网络 387

 11.8.2  磁盘 387

 11.8.3  存储设计 389

 11.8.4  设计存储系统 390

 11.8.5  大型存储系统考虑

    事项:SAN系统 394

 11.8.6  服务器配置 396

 11.8.7  碎片化 400

11.9  小结 401

第12章  优化SQL Server 2008 402

12.1  应用程序优化 402

 12.1.1  定义工作负载 402

 12.1.2  目标是系统协调 403

12.2  I/O问题 403

 12.2.1  SQL Server I/O

    进程模型 403

 12.2.2  数据库文件的位置 404

 12.2.3  tempdb需要考虑

    的事项 404

12.3  表和索引分区 407

 12.3.1  分区的原因 408

 12.3.2  实现分区 409

 12.3.3  创建分区函数 409

 12.3.4  创建文件组 410

 12.3.5  创建分区方案 411

 12.3.6  创建表和索引 411

12.4  数据压缩 416

 12.4.1  行压缩 416

 12.4.2  页面压缩 417

 12.4.3  估计节省的空间 419

 12.4.4  监控数据压缩 420

 12.4.5  数据压缩需要考虑

    的事项 421

12.5  内存考虑事项和改进 421

 12.5.1  优化SQL Server内存 421

 12.5.2  Windows 2008动态

    添加CPU 424

 12.5.3  在x86平台中配置

    SQL Server 2008的

    动态内存 425

 12.5.4  SQL Server 2008

    的64位版本 427

 12.5.5  内存友好的应用程序 427

 12.5.6  资源调控器 427

12.6  CPU需要考虑的事项 432

 12.6.1  数据本地化 433

 12.6.2  缓存一致性 433

 12.6.3  关联掩码 434

 12.6.4  最大并行度(MAXDOP) 436

 12.6.5  I/O关联掩码 436

 12.6.6  最大服务器内存 437

 12.6.7  索引创建内存选项 438

 12.6.8  每次查询的最小内存 438

12.7  小结 438

第13章  监控SQL Server 439

13.1  监控的目标 439

 13.1.1  确定监控对象 440

 13.1.2  建立基准 440

 13.1.3  比较当前指标和基准 441

13.2  SQL Server 2008中

   监控的新功能 441

 13.2.1  数据收集 441

 13.2.2  SQL Server扩展事件 441

13.3  选择合适的监控工具 442

13.4  性能监视器 443

 13.4.1  CPU资源计数器 443

 13.4.2  隔离处理器瓶颈 444

 13.4.3  磁盘活动 445

 13.4.4  内存使用率 451

 13.4.5  性能监控工具 454

13.5  监控事件 454

 13.5.1  默认跟踪 456

 13.5.2  SQL跟踪 457

 13.5.3  事件通知 468

 13.5.4  SQL Server扩展

    事件通知 471

13.6  使用动态管理视图

   和函数进行监控 478

 13.6.1  SQL Server的运行状态 479

 13.6.2  查看锁定信息 482

 13.6.3  查看阻塞信息 483

 13.6.4  数据库中的

    索引使用率 483

 13.6.5  查看等待内存

    授予的查询 485

 13.6.6  已连接用户的信息 486

 13.6.7  文件组空闲空间 486

 13.6.8  当前运行的查询的

    查询计划和查询文本 487

 13.6.9  内存使用率 487

13.7  监控日志 487

 13.7.1  监控SQL Server

    错误日志 488

 13.7.2  监控Windows 

    事件日志 488

13.8  管理数据仓库 488

 13.8.1  系统数据集合集 489

 13.8.2  查看系统数据集合集

    收集的数据 489

 13.8.3  创建自己的数据集合集 491

 13.8.4  检查收集的数据 493

13.9  小结 494

第14章  T-SQL性能调整 495

14.1  物理查询处理 495

 14.1.1  编译 498

 14.1.2  用于重新编译的

    工具和命令 502

 14.1.3  分析器和Algebrizer 503

 14.1.4  优化 504

14.2  调整过程 508

 14.2.1  数据库I/O信息 509

 14.2.2  使用查询计划 510

 14.2.3  联接算法 518

 14.2.4  索引访问方法 521

 14.2.5  数据修改查询计划 533

 14.2.6  针对分区表和索引的

    查询处理改进 538

 14.2.7  使用SQL跟踪收集

    查询计划用于分析 539

14.3  小结 540

第15章  创建数据库索引 541

15.1  SQL Server中与索引

   相关的主要功能 541

 15.1.1  SQL Server 2008中

    索引功能的新增部分 541

 15.1.2  SQL Server 2005

    的索引功能 542

15.2  示例数据库 544

15.3  分区表和分区索引 546

 15.3.1  使用分区表和分区

    索引的原因 546

 15.3.2  分区的前提条件 547

 15.3.3  创建分区表 547

15.4  筛选索引和筛选统计数据 560

15.5  索引维护 562

 15.5.1  监控索引碎片 562

 15.5.2  整理索引 564

15.6  数据库优化顾问 566

 

 15.6.1  利用DTA调整

    单个查询 566

 15.6.2  索引太多 584

 15.6.3  调整工作负载 587

15.7  小结 587

第16章  复制 588

16.1  复制概述 588

 16.1.1  复制类型 589

 16.1.2  复制的组成 590

 16.1.3  SQL Server 2008

    中复制的改进 591

16.2  复制模型 591

 16.2.1  单个发布者,一个或

    多个订阅者 591

 16.2.2  多个发布者,

    单个订阅者 593

 16.2.3  多个发布者同时

    也是订阅者 594

 16.2.4  更新订阅者 594

 16.2.5  对等 595

16.3  实现复制 596

 16.3.1  计划 596

 16.3.2  建立分发数据库 597

 16.3.3  实现快照复制 600

 16.3.4  实现事务和合并复制 608

16.4  对等复制 608

16.5  生成复制脚本 611

16.6  监控复制 611

 16.6.1  复制监视器 612

 16.6.2  性能监视器 613

 16.6.3  复制DMV 613

 16.6.4  sp_replcounters 614

16.7  小结 614

第17章  数据库镜像 615

17.1  数据库镜像概述 615

 17.1.1  数据库镜像的

    运行模式 616

 17.1.2  数据库镜像示例 619

 

 17.1.3  SQL Server 2008各发行

    版本中的数据库镜像 629

 17.1.4  数据库镜像目录视图 629

 17.1.5  数据库镜像角色切换 632

 17.1.6  数据库可用性方案 637

17.2  监控数据库镜像 640

 17.2.1  使用系统监视器

    进行监控 640

 17.2.2  使用数据库镜像

    监视器进行监控 642

 17.2.3  设置计数器阈值

    以及发送警报 644

 17.2.4  使用SQL Profiler监控 646

17.3  数据库镜像故障排除 646

 17.3.1  创建错误故障排除 647

 17.3.2  运行时错误故障排除 647

 17.3.3  自动页面修复 648

17.4  为故障转移准备

   镜像服务器 649

 17.4.1  硬件、软件和

    服务器配置 649

 17.4.2  计划宕机时间内的

    数据库可用性 650

 17.4.3  镜像上的SQL

    作业配置 652

 17.4.4  镜像数据库的

    TRUSTWORTHY位 652

 17.4.5  重定向客户端到镜像 652

17.5  为多个数据库创建镜像 653

17.6  数据库镜像以及其他

   高可用性解决方案 654

 17.6.1  数据库镜像与群集 654

 17.6.2  数据库镜像

    与事务复制 655

 17.6.3  数据库镜像

    与日志传送 655

17.7  设置镜像事件监听器 655

17.8  数据库快照 659

17.9  小结 660

第18章  备份与恢复 661

18.1  故障类型 661

 18.1.1  硬件故障 661

 18.1.2  用户错误 662

 18.1.3  应用程序故障 662

 18.1.4  软件故障 662

 18.1.5  拥有太多的权限 663

 18.1.6  局部灾难 663

18.2  制定计划 664

 18.2.1  备份/恢复计划 664

 18.2.2  维护计划 668

18.3  备份和还原概述 669

 18.3.1  备份的工作方式 669

 18.3.2  备份压缩 672

 18.3.3  还原的工作方式 673

 18.3.4  恢复模式之间的比较 674

 18.3.5  选择一个模式 675

 18.3.6  在恢复模式间切换 676

 18.3.7  检验备份映像 678

 18.3.8  备份历史表 679

 18.3.9  备份与还原要求

    的许可 679

 18.3.10  备份系统数据库 680

 18.3.11  全文备份 681

18.4  恢复计划 681

 18.4.1  可恢复性需求 682

 18.4.2  数据使用模式 683

 18.4.3  维护时间窗口 683

 18.4.4  其他高可用性

    解决方案 684

18.5  开发与执行备份计划 685

 18.5.1  使用SQL Server 2008

    Management Studio 685

 18.5.2  数据库维护计划 689

 18.5.3  使用Transact-SQL

    备份命令 691

18.6  管理备份 693

18.7  备份与还原性能 693

18.8  执行恢复 694

 18.8.1  还原过程 694

 18.8.2  页面还原 698

 18.8.3  使用SQL Server Management

    Studio还原数据库 698

 18.8.4  T-SQL还原命令 701

 18.8.5  还原系统数据库 702

18.9  归档数据 704

 18.9.1  SQL Server 2008中

    表的分区 704

 18.9.2  分区视图 705

18.10  灾难恢复计划 705

18.11  小结 707

第19章  SQL Server 2008

     日志传送 708

19.1  日志传送部署方案 708

 19.1.1  使用日志传送创建

    热后备服务器 708

 19.1.2  使用日志传送作为

    灾难恢复解决方案 709

 19.1.3  使用日志传送作为

    报告数据库解决方案 710

19.2  日志传送体系结构 711

 19.2.1  主服务器 711

 19.2.2  辅助服务器 712

 19.2.3  监控服务器 712

19.3  日志传送进程 712

19.4  系统要求 713

 19.4.1  网络 713

 19.4.2  具有同等性能的

    服务器 713

 19.4.3  存储 713

 19.4.4  监控服务器 714

 19.4.5  软件 714

19.5  部署日志传送 714

 19.5.1  初始配置 714

 19.5.2  通过Management Studio

    部署 715

 19.5.3  通过T-SQL命令部署 719

19.6  监控与故障排除 720

 19.6.1  通过Management Studio

    监控 721

 19.6.2  通过存储过程监控 721

 19.6.3  故障排除方法 722

19.7  管理角色变更 722

 19.7.1  同步依赖对象 722

 19.7.2  从主服务器角色

    切换到辅助服务器 725

 19.7.3  在主角色和辅助角色

    之间切换 726

 19.7.4  把客户端重定向到

    辅助服务器 727

19.8  数据库备份计划 728

19.9  集成日志传送与其他

   高可用性解决方案 728

 19.9.1  SQL Server 2008

    数据镜像 729

 19.9.2  Windows故障

    转移群集 729

 19.9.3  SQL Server 2008复制 729

19.10  删除日志传送 730

  19.10.1  通过Management 

     Studio删除日志传送 730

  19.10.2  通过T-SQL命令

     删除日志传送 730

19.11  日志传送性能 731

19.12  升级到SQL Server 2008

    的日志传送 731

  19.12.1  宕机时间最小化

     方法 732

  19.12.2  宕机方法 732

  19.12.3  部署日志传送方法 732

19.13  小结 732

第20章  SQL Server 2008群集 734

20.1  群集与组织 735

 20.1.1  群集能做什么 735

 20.1.2  群集不能做什么 735

 20.1.3  选用SQL Server 2008

    群集的条件 736

 20.1.4  群集以外的其他选择 736

20.2  群集概述 738

 20.2.1  群集的工作原理 738

 20.2.2  群集选项 740

20.3  SQL Server群集的升级 743

 20.3.1  不升级 743

 20.3.2  就地升级到SQL Server

    2008群集 743

 20.3.3  从头开始重建群集 743

 20.3.4  回退计划 745

 20.3.5  最好的升级选择 745

20.4  群集的准备工作 745

 20.4.1  基础设施的准备工作 745

 20.4.2  硬件的准备工作 746

20.5  Windows Server 2008

   的群集 748

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 20.5.1  安装Windows 2008

    群集前的准备工作 748

 20.5.2  安装Windows Server 

    2008群集 749

20.6  SQL Server 2008的群集 753

 20.6.1  SQL Server的群集 753

 20.6.2  服务包及补丁的安装 756

 20.6.3  反复测试 756

20.7  群集的维护 757

20.8  群集的故障排除 758

 20.8.1  如何对群集进行

    故障排除 759

 20.8.2  故障的预防工作 759

 20.8.3  故障信息的收集 759

 20.8.4  故障的解决 760

 20.8.5  与Microsoft合作 760

20.9  小结 760