1.1 关于本书 1
1.2 更多的信息 1
目录 1
译者序 1
第一部分 简介 1
第1章 全书介绍 1
2.1 SQL Server 7存储引擎要点 3
第2章 存储引擎负载规划技巧 3
第二部分 规划 3
2.2 文件和文件组 4
2.3 出于性能的考虑将文件分配成文件组 6
2.4 文件和文件组的I/O规划 8
2.5.1 SQL Server 6.5中的内存管理 16
2.5 SQL Server存储规划 16
2.5.2 SQL Server 7的内存管理 17
2.6.1 SQL Server线程 22
2.6 SQL Server7处理器规划 22
2.6.2 并行查询 24
3.2 复制模式 28
3.1 什么是复制 28
第3章 复制 28
3.3 可伸缩的复制解决方案 29
3.3.2 事务复制 30
3.3.1 快照复制 30
3.3.3 合并复制 32
3.4 低复杂性 33
3.4.2 复制监视器 34
3.4.1 复制向导 34
3.5.2 来自异类数据源的复制 35
3.5.1 到异类数据源的复制 35
3.5 异类互操作性 35
3.6.1 事务一致性 36
3.6 应用程序设计考虑 36
3.6.2 站点自治性 37
3.7.2 Microsoft分布事务协调者 38
3.7.1 异类分布查询 38
3.6.3 分割数据以避免冲突 38
3.7 其他分布技术 38
3.7.3 数据转换服务 39
第4章 异类数据 40
4.1.1 复制 42
4.1 异类环境中的SQL Server 7 42
4.1.2 数据转换服务 44
4.1.3 数据仓库和OLAP 45
4.1.5 Microsoft分布事务协调者 46
4.1.4 异类分布查询 46
4.2.1 Oracle透明网关 47
4.2 Oracle环境中的SQL Server 7 47
4.3 数据访问 48
4.2.3 Oracle/OLE集成 48
4.2.2 Oracle复制服务 48
4.3.1 互连选项 49
4.3.3 组件对象模型 51
4.3.2 第三方和中间件互连选项 51
4.4 Microsoft事务服务器 52
4.4.2 应用程序完整性 53
4.4.1 服务器基础结构 53
4.5.3 OLEDB 54
4.5.2 查询处理器 54
4.4.3 Oracle 7.x版和8.0版的问题 54
4.5 SQL Server 7的特性 54
4.5.1 数据库结构 54
4.5.11 调节引擎 55
4.5.10 增强的SQL Server企业管理者 55
4.5.4 改善的I/O 55
4.5.5 企业系统支持 55
4.5.6 备份工具 55
4.5.7 Oracle集成 55
4.5.8 复制API 55
4.5.9 扩展的数据库 55
4.6.4 组件 56
4.6.3 备份和恢复 56
4.6 SQL Server和Oracle特性的比较 56
4.6.1 系统管理 56
4.6.2 开发 56
4.6.5 安全性 57
5.1 评价可移动方案 61
第5章 开发可移动应用程序 61
第三部分 配置 61
5.2.1 可伸缩性和性能 62
5.2 SQL Server7对可移动应用程序的支持 62
5.1.1 RDBMS客户机和服务器引擎 62
5.1.2 所有权管理和总成本 62
5.1.3 合算的应用程序开发 62
5.2.2 先进的复制功能 65
5.2.3 异类数据库的复制 67
5.3.1 Windows DNA 68
5.3 为可移动应用程序选择开发结构 68
5.3.2 基于Web的方案 69
5.3.3 转化已有应用程序以支持可移动客户 70
5.4.1 安装 71
5.4 管理可移动应用程序 71
5.4.2 安全性 72
5.4.3 合并复制 73
5.4.5 备份 74
5.4.4 冲突消解 74
5.5 规格 75
第6章 性能调整详解 77
第四部分 性能调整 77
6.1 SQL Server性能调整的原则 78
6.2 在配置中检查最大异步IO选项 79
6.3.2 延时记录器 80
6.3.1 工作线程 80
6.3 消耗CPU和磁盘I/O资源的组件 80
6.3.4 日志管理器 81
6.3.3 检查点 81
6.3.5 预读管理器 82
6.4.2 序列化和非序列化磁盘I/O操作 83
6.4.1 广播磁盘传输率和SQLServer 83
6.4 磁盘I/O性能 83
6.4.3 磁盘I/O传输率和PCI总线带宽 84
6.4.4 RAID 85
6.4.5 磁盘I/O并行性 88
6.5 SQL Server索引 90
6.5.1 聚集索引 91
6.5.3 覆盖索引 92
6.5.2 非聚集索引 92
6.5.6 聚集索引的选择 93
6.5.5 索引选择 93
6.5.4 自动覆盖索引和覆盖查询 93
6.5.7 FILLFACTOR和PAD-INDEX 95
6.6.2 SQL Server剖析器 97
6.6.1 示例数据和工作负载 97
6.6 SQL Server性能调整工具 97
6.6.3 SQL Server查询分析器 99
6.6.4 性能监视器 103
6.7.3 查询中避免的语言 108
6.7.2 死锁 108
6.7 其他性能问题 108
6.7.1 减小网络流量和资源消耗 108
6.7.7 EMC磁盘I/O调整方案 109
6.7.6 复制和备份性能 109
6.7.4 灵巧规格化 109
6.7.5 分割视图 109
7.2 使用索引调整向导 111
7.1 索引选择为何困难 111
第7章 索引调整向导 111
7.2.2 分析索引调整向导的输出 112
7.2.1 定制索引调整向导 112
7.2.3 启动向导 113
7.3 理解索引调整向导结构 114
8.1 配置网络拓扑结构 117
第8章 配置Proxy Server以便通过Internet来进行复制 117
第五部分 集成 117
8.2.1 WindowsNT用户帐号 118
8.2 安全概览 118
8.2.3 配置SQL Server Agent帐号访问 119
8.2.2 Proxy Server的安全性 119
8.2.5 发布访问 120
8.2.4 SQL Server复制登录帐号 120
8.3.1 禁止IP转发 121
8.3 配置Proxy Server 121
83.2 配置FTP服务 122
8.3.3 配置WinSock Proxy服务 123
8.4.1 配置SQL Server使之与Proxy Server一起工作 124
8.4 配置SQL Server 124
8.3.4 确认Proxy Server配置 124
8.4.3 为SQL Server订阅者配置有关Internet内容 125
8.4.2 配置SQL Server使之与FTP服务一起工作 125
8.4.4 验证SQL Server与Proxy Server一起工作 126
第9章 工具介绍 129
第六部分 工具 129
10.1.1 孤儿通话 131
10.1 连接被隔离的问题 131
第七部分 疑难解析 131
第10章 疑难分析 131
10.1.2 客户命名管道连接 133
10.1.3 TCP/IP Sockets Client连接 135
10.2.1 安装疑难解析:检查列表 136
10.2 SQL Server安装疑难解析 136
10.2.5 SQL Server Upgrade Wizard的疑难解析 137
10.2.4 SQL Server安装中产生的信息文件 137
10.2.2 检查SQL Server 7的安装 137
10.2.3 SQL Server安装中常见问题 137
10.3.1 SQL Server ODBC驱动程序疑难解析 138
10.3 有关程序的疑难解析 138
10.3.2 SQL-DMO疑难解析 141
10.4.1 重新设置有疑问的状态 142
10.4 数据库及服务器疑难解析 142
10.4.2 警告的疑难解析 144
10.4.4 有关锁的疑难解析 146
10.4.3 数据传输服务的疑难解析 146
10.4.5 关于SQL Server服务帐号的疑难解析 147
10.4.6 关于Full-Text Search的疑难解析 148
10.4.7 关于多服务器工作的疑难解析 149
10.4.8 关于操作系统的疑难解析 151
10.4.9 资源空间不足 153
10.4.10 关于复制的疑难解析 155
10.5.1 关于带Exchange Server的SQL Mail的疑难解析 158
10.5 关于SQL Server工具的疑难解析 158
10.4.11 关于统计的疑难解析 158
10.5.2 关于SQL Server Profiler的疑难解析 159
10.5.4 Web Assistant Wizard的疑难解析 160
10.5.3 关于SQL Server Query Analyzer的疑难解析 160
11.1 常见问题 163
第11章 备份和恢复 163
第八部分 灾难恢复 163
11.2 使用备份和恢复的技巧 165
11.3 常见的备份及恢复问题 166
11.4 关于孤儿用户的疑难解析 168
11.5 恢复性能 169
11.6 磁盘空间不足 170
12.1.1 数据仓库处理 171
12.1 什么是数据仓库 171
第九部分 体系结构 171
第12章 数据仓库框架 171
12.I.3 数据仓库组件 172
12.1.2 数据仓库体系结构 172
12.2.1 数据仓库框架组件 173
12.2 Microsoft数据仓库框架 173
12.2.2 定义ActiveX Data Objects 174
12.4 设计数据仓库 175
12.3 Microsoft Repository:绑定数据仓库的利器 175
12.5.2 综合的OLAP分析能力 176
12.5.1 可升级的健壮的RDBMS 176
12.5 数据仓库的数据库 176
12.6 引进、输出及数据转换 177
12.5.3 复制 177
12.6.2 DTS体系结构 178
12.6.1 DTS目标 178
12.7.1 MicrosoftOffice 180
12.7 分析展现数据 180
12.6.3 DTS包 180
12.7.2 EnglishQuery 181
12.8.1 Microsoft管理控制台 182
12.8 系统管理 182
12.7.3 第三方产品 182
12.8.3 可视数据库图表 183
12.8.2 向导 183
12.8.5 SQL Server Query Analyzer 184
12.8.4 SQL ServerProfiler 184
12.8.7 SQL Server Agent服务 185
12.8.6 Index Tuning Wizard 185
13.2.1 Microsoft数据仓库策略 187
13.2 OLAP系统的基本原理 187
第13章 OLAP Services 187
13.1 什么是OLAP Services 187
13.2.2 数据复杂性 188
13.2.5 聚合与存储模型 189
13.2.4 OLAP数据模型 189
13.2.3 组织的价值 189
13.3 OLAP Services体系结构 190
13.4.1 构建OLAP数据模型 191
13.4 实现OLAP的挑战 191
13.4.2 用聚合管理数据爆炸 192
13.4.3 传递OLAP信息给用户 194
13.4.4 购买OLAP工具 196
14.1.2 查询优化器的类型 197
14.1.1 查询处理阶段 197
第14章 查询处理器 197
14.1 什么是查询处理器 197
14.3.1 磁盘I/O 198
14.3 查询执行 198
14.2 查询处理器目标 198
14.3.2 排序改进 199
14.3.3 归并连接、hash连接及hash队列 200
14.3.4 索引交 201
14.4.1 多阶段优化 202
14.4 查询优化 202
14.3.5 并行查询 202
14.4.3 传递断言 203
14.4.2 自动参数 203
14.4.5 转移GROUPBY子句 204
14.4.4 嵌套查询 204
14.4.7 星形查询 205
14.4.6 分区视图 205
14.5.1 异类查询 207
14.5 分布式查询 207
14.4.8 优化更新 207
14.6.3 SQL ServerProfiler 208
14.6.2 Query Governor 208
14.5.2 传递查询 208
14.6 与查询一起工作 208
14.6.1 SQL ServerQueryAnalyzer 208
14.6.5 统计的自动创建与刷新 209
14.6.4 Index Tuning Wizard 209
15.1.3 可靠性 210
15.1.2 升级性 210
第15章 存储引擎 210
15.1 存储引擎目标 210
15.1.1 易用性 210
15.3 存储引擎的体系结构 211
15.2 存储引擎特征 211
15.4.1 页和盘区 212
15.4 物理数据库的组织 212
15.4.3 文件与文件组 213
15.4.2 坏页检测 213
15.4.4 空间管理 214
15.5.1 行级锁 215
15.5 锁增强 215
15.5.3 锁模式 216
15.5.2 动态锁 216
15.6.2 索引的组织 217
15.6.1 表的组织 217
15.6 基本表和索引结构 217
15.7.1 Unicode数据类型 218
15.7 数据类型增强 218
15.8 日志管理器体系结构 219
15.7.3 text、ntext及image数据类型 219
15.7.2 数据类型的存储 219
15.9 内存管理 220
15.9.2 提前读 221
15.9.1 缓冲管理与I/O 221
16.1.1 鉴别和访问控制 223
16.1 企业环境中的安全性 223
第十部分 安全性 223
第16章 产品的安全性 223
16.1.2 密码术和防火墙 224
16.2 Windows NT的安全环境 226
16.1.3 系统完整性和审计 226
16.2.1 Windows NT的安全特征 227
16.2.2 启用技术 231
16.3 Windows NT和启用技术 234
16.2.3 SQL Sever的安全性 234
17.1 SQL Server升级概述 237
第17章 升级到SQL Server7 237
第十一部分 升级和移植 237
17.2.2 安装SQL Server 7到何处 238
17.2.1 支持升级的版本 238
17.2 升级的必要条件 238
17.3.1 准备SQL Server 6.x安装 240
17.3 升级的准备 240
17.3.3 有关复制问题的考虑 241
17.3.2 SQL Server 6.x配置的备份 241
17.4 启动SQL Server Upgrade Wizard 242
17.3.4 安装SQL Server7 242
17.5 SQL Server 7中的数据库兼容性 250
17.6.2 ISV移植实验计划 251
17.6.1 1K挑战计划 251
17.6 升级过程的测试 251
17.6.3 Microsoft内部数据库移植 252
18.1.1 SQL语言扩展 253
18.1 概述 253
第18章 移植Oracle数据库到Microsoft SQL Server 7 253
18.1.3 OLEDB 254
18.1.2 ODBC 254
18.2.1 数据库的定义 255
18.2 结构和术语 255
18.1.4 本章的组织 255
18.2.2 数据库系统目录 256
18.2.3 物理和逻辑存储结构 256
18.2.5 事务日志和自动恢复 257
18.2.4 条状数据 257
18.2.7 网络 258
18.2.6 备份和还原数据 258
18.2.8 数据库安全和角色 259
18.3 安装和配置Microsoft SQL Server 261
18.4 定义数据库对象 262
18.4.1 数据库对象标识符 263
18.4.2 限定表的名字 264
18.4.3 创建表 265
18.4.5 用SELECT语句创建表 266
18.4.4 表和索引存储参数 266
18.4.6 视图 267
18.4.7 索引 268
18.4.9 数据类型 271
18.4.8 使用临时表 271
18.4.10 对象级权限 273
18.5 实施数据完整性和业务规则 274
18.5.1 实体完整性 275
18.5.2 域的完整性 277
18.5.3 引用的完整性 279
18.5.4 用户自定义的完整性 280
18.6 事务、加锁和并发 284
18.6.1 事务 285
18.6.2 加锁和事务隔离 286
18.6.3 改变缺省的加锁行为 287
18.6.6 锁扩展 288
18.6.5 表级锁 288
18.6.4 SELECT…FOR UPDATE 288
18.6.7 死锁 289
18.6.9 分布式事务 290
18.6.8 远程事务 290
18.7.1 SELECT和数据操作语句 291
18.7 SQL语言支持 291
18.6.10 两阶段提交处理 291
18 7.2 函数 298
18.7.3 比较操作 304
18.7.4 流控制语言 306
18.8 游标的实现 310
18.8.2 定义一个游标 311
18.8.1 语法 311
18.8.4 取数据 312
18.8.3 打开一个游标 312
18.8.7 游标示例 313
18.8.6 关闭一个游标 313
18.8.5 CURRENTOF子句 313
18.9.3 SET语句 314
18.9.2 SQL Server描述器 314
18.9 调整SQL语句 314
18.9.1 SQL Server查询分析器 314
18.10.1 推荐的转换策略 315
18.10 使用ODBC 315
18.9.4 查询优化 315
18.10.2 ODBC的结构 316
18.10.4 服务器游标 317
18.10.3 只向前移动的游标 317
18.10.5 可卷动游标 318
18.10.7 每个连接有多个活跃的语句 319
18.10.6 使用SQL Server缺省结果集和服务器游标的策略 319
18.10.8 数据类型映像 320
18.10.10 外连接 321
18.10.9 ODBC扩充的SQL 321
18.10.12 存储过程的调用 322
18.10.11 Date、Time和Timestamp值 322
18.10.15 手工提交模式 323
18.10.14 Common.cpp示例程序 323
18.10.13 本地SQL转换 323
18.11 开发和管理数据库复制 324
18.12.2 Oracle调用接口 325
18.12.1 用数据转换服务进行数据移植 325
18.12 移植数据和应用程序 325
18.12.3 嵌入的SQL 326
18.12.4 Developer 2000和第三方应用程序 328
18.13.1 示例大学应用程序 329
18.13 数据库示例 329
18.12.5 互联网应用 329
18.13.2 示例应用程序和代码引用 330
18.13.4 RDBMS用户帐号 331
18.13.3 运行提供的脚本 331
19.1.2 移植中的数据转换服务 332
19.1.1 SQL Server组织管理 332
第19章 移植Access数据库到Microsoft SQL Server7 332
19.1 在移植中使用的SQL Server工具 332
19.3 移植Microsoft Access查询 333
19.2 移植表和数据 333
19.1.3 SQLServer查询分析器 333
19.1.4 SQL Server描述器 333
19.3.1 移植Microsoft Access查询到存储过程和视图中 334
19.3.2 把Microsoft Access查询移植到Transact-SQL脚本 335
19.4.1 参数的使用 336
19.4 其他的设计考虑 336
19.4.3 验证SQL Server——适应性语法 337
19.4.2 嵌套查询 337
19.6 SQL Server和Access查询语法 338
19.5 连接应用程序 338
20.2.1 客户配置和Net-Library 340
20.2 检查结构的差异 340
第20章 移植Sybase应用程序到SQL Server 7 340
20.1 理解移植过程 340
20.2.2 系统数据库 341
20.2.3 关键词冲突 342
20.3 移植表和数据 343
20.4.1 事务管理 345
20.4 检查Sybase T-SQL和Microsoft Transact-SQL的差异 345
20.4.3 系统存储过程 350
20.4.2 子查询行为 350
20.5 理解数据库管理的差异 352
20.6 移植的检测列表 353
20.7 系统数据库和数据 354
第21章 移植Btrieve应用程序到Microsoft SQL Server 7 356
21.1 介绍Microsoft SQL Server版本7 357
21.2.2 示例应用程序和代码引用 359
21.2.1 pubs数据库中的例子 359
21.2 开始移植 359
21.3.1 起始点:Btrieve应用程序 360
21.3 转换策略 360
2 1.4 移植Btrieve数据到Microsoft SQL Server 361
21.3.3 阶段2:ODBC和SQL Server应用程序 361
21.3.2 阶段1:打包DLL 361
21.5.1 创建打包DLL 367
21.5 使用打包DLL 367
21.5.2 把Btrieve调用变为ODBC和Transact-SQL 369
21.6.1 理解标准化的数据库 372
21.6 转换应用程序到ODBC和SQL 372
21.6.2 比较数据检索模型 373
21.6.3 比较缺省结果集和游标 374
21.6.4 理解数据访问接口问题 376
21.6.5 在应用程序中管理并发和加锁 377
21.6.6 实现有效的数据库和查询设计 379
21.6.7 作为集操作更新和删除数据 383
21.7.1 业务规则和引用的完整性 384
21.7 有效地利用服务器资源 384
21.8 创建索引的建议 385
21.7.2 视图 385
第22章 数据库数据的正文检索 387
第十二部分 编程 387
22.1 全文检索的概念 388
22.2.1 谓词CONTAINS 390
22.2 Transact-SQL对全文检索的扩展 390
22.2.3 谓词的组合与使用 394
22.2.2 谓词FREETEXT 394
22.2.4 行集定位函数CONTAINS-TABLE() 395
22.3 针对文件系统数据的正文检索 396
22.2.5 行集定位函数FREETEXT-TABLE() 396
22.4.1 索引部件 397
22.4 部件的体系结构 397
22.4.2 全文查询部件的体系结构 399
22.4.3 全文查询过程 400
22.5.1 存储过程概述 401
22.5 管理 401
22.5.2 图形用户界面 404
第23章 对文件数据进行正文检索 408
23.1 网络信息服务与索引服务 409
23.2.2 安全性 411
23.2.1 用于Index Services的OLE DB提供者 411
23.2 SQL Server分布式查询 411
23.2.3 已定义的表 412
23.3.1 CONTAINS谓词 416
23.3 用于Index Services全文查询的SQL扩展 416
23.3.3 Index Services支持的检索条件 419
23.3.2 FREETEXT谓词 419
23.3.4 全文查询实例 421
23.4 用于对Site Server全文查询的SQL扩展 423
24.2 创建EnglishQuery域 424
24.1 与English Query的共建 424
第24章 英文查询的发展 424
24.2.1 实体的产生 425
24.2.2 创建关系 426
24.2.3 测试模型 427
24.3 添加English Query到Web站点 428
24.2.4 建立与配置 428
25.1.1 OLE DB提供者的分类 430
25.1 概述与术语 430
第25章 分布式查询:OLE DB连通性 430
25.1.3 指针支持 431
25.1.2 Transact-SQL子集 431
25.2.1 连接建立和属性检索 432
25.2 OLE DB提供者交互段 432
25.2.2 与OLE DB提供者连接 433
25.2.3 表名称解析与元数据检索 434
25.2.4 事务管理 436
25.2.5 分布式查询中的数据类型处理 437
25.2.6 错误处理 440
25.3.1 远程查询 441
25.3 查询执行方案 441
25.2.7 安全 441
25.3.3 纯表扫描 443
25.3.2 索引访问 443
25.3.6 直达查询 444
25.3.5 INSERT语句 444
25.3.4 UPDATE和DELETE语句 444
25.4 SQL Server使用的OLE DB接口 445
25.5 用作产生远程查询的Transact-SQL子集 446
25.6 SQL Server指定属性 447
词汇表 448