第1章 引言 1
1.1 本书主要内容 1
1.2 附加的信息资源 5
1.2.1 SQL Server 2000产品文档 5
1.2.2 SQL Server 2000 Internet 站点 5
1.3 本书支持内容 6
第2章 SQL Server 2000中的新特征 7
2.1 关系数据库提高 7
2.2 相关数据的 XML 集成 11
2.4 复制扩展 12
2.3 图形管理升级 12
2.5 数据传送服务升级 15
2.6 Analysis Services 升级 16
2.6.1 立方体升级 16
2.6.2 维度升级 18
2.6.3 数据挖掘升级 19
2.6.4 安全性升级 20
2.6.5 数据透视表服务中的客户连接性升级 21
2.6.6 其他升级 21
2.7 元数据服务升级 22
2.7.3 储存库引擎编程升级 23
2.7.2 XML Encoding 升级 23
2.7.1 元数据浏览器升级 23
2.7.4 储存库引擎模型升级 25
2.8 英语查询升级 27
2.9 文档升级 28
第3章 选择 SQL Server 2000的版本 30
3.1 引言 30
3.2 SQL Server 2000服务器版本说明 30
3.2.1 SQL Server 2000企业版 31
3.2.2 SQL Server 2000标准版 32
3.3 特定应用的 SQL Server 2000版本 32
3.3.3 SQL Server 2000体验版 33
3.3.1 SQL Server 2000个人版 33
3.3.2 SQL Server 2000开发者版 33
3.3.4 SQL Server 2000 Windows CE 版 34
3.3.5 SQL Server 2000桌面引擎 34
3.4 获得 SQL Server 2000 35
3.5 小结 36
第4章 选择许可 SQL Server 的方式 37
4.1 许可模型的改变 37
4.2 什么是处理器许可 37
4.4 选择许可模型 38
4.3 升级 38
4.4.2 对失败族配置的许可 39
4.4.1 混合许可环境 39
4.4.3 对多重实体配置的认可 40
4.4.4 SQL Server 2000个人版认可 40
4.4.5 SQL Server 2000桌面引擎认可 40
4.5 转换许可 41
第5章 将 Access 2000数据库移植到 SQL Server 2000 42
5.1 移植选项 42
5.3 移植工具 43
5.3.1 升迁向导 43
5.2 移植之前 43
5.3.2 用于移植的 SQL Server 工具 44
5.4 转移数据 45
5.5 移植 Access 查询 46
5.5.1 在升迁查询过程中的限制 47
5.5.2 将 Access 查询移植到用户定义函数 48
5.5.3 将 Access 查询移植到存储程序和视图 48
5.5.4 将 Access 查询移植到 Transact-SQL 脚本 49
5.6 对于查询的额外设计考虑 49
5.7 确认符合 SQL Server 的语法 51
5.7.2 Visual Basic 函数 52
5.7.1 Access 和 SQL Server 语法 52
5.7.3 Access 和 SQL Server 数据类型 53
5.8 移植应用程序 54
5.8.1 创建客户/服务器应用程序 54
5.8.2 针对客户/服务器环境优化应用程序 55
5.8.3 优化数据结构 56
第6章 将 Sybase 数据库移植到 SQL Server 2000 57
6.1 为什么要移植到 SQL Server 2000 57
6.2 理解移植过程 59
6.3 检视架构差异 60
6.4 移植表和数据 62
6.5 检视 Sybase T-SQL 和 Transact-SQL 之间的区别 63
6.5.1 事务管理 63
6.5.2 联接句法 68
6.5.3 子查询行为 68
6.5.4 分组结果 69
6.5.5 系统存储过程 69
6.6 理解数据库管理的差异 70
6.7 移植校验表 72
7.1.1 SQL 语言扩展 74
第7章 将 Oracle 数据库移植到 SQL Server 2000 74
7.1 概述 74
7.1.2 ODBC 75
7.1.3 OLE DB 76
7.1.4 本章的组织结构 76
7.2 体系结构和术语 76
7.2.1 数据库的定义 76
7.2.2 数据库系统目录 77
7.2.4 带区数据 78
7.2.3 物理和逻辑存储结构 78
7.2.5 事项记录和自动恢复 79
7.2.6 备份和恢复数据 80
7.2.7 网络 81
7.2.8 数据库安全和角色 81
7.3 定义数据库对象 84
7.3.1 数据库对象标识符 85
7.3.2 合格的表名 86
7.3.3 创建表 87
7.3.4 表和索引的存储参数 87
7.3.6 视图 88
7.3.5 使用 SELECT 语句创建表 88
7.3.7 索引 90
7.3.8 用临时表 93
7.3.9 数据类型 94
7.3.10 对象级许可 96
7.4 加强数据完整性和业务规则 97
7.4.1 实体完整性 97
7.4.2 域完整性 100
7.4.3 引用完整性 102
7.4.4 用户定义完整性 103
7.5.1 事务 108
7.5 事务、锁定和并发控制 108
7.5.2 锁定和事务隔离 110
7.5.3 动态锁定 110
7.5.4 改变默认锁定行为 111
7.5.5 SELECT...FOR UPDATE 112
7.5.6 显示请求表级锁定 112
7.5.7 处理死锁 113
7.5.8 远程事务 113
7.5.9 分布式事务 114
7.5.10 两相提交处理 114
7.6.1 SELECT 和数据操纵语句 115
7.6 SQL 语言支持 115
7.6.2 函数 122
7.6.3 比较操作符 129
7.6.4 控制流语言 130
7.7 实现光标 134
7.7.1 光标句法 135
7.7.2 声明光标 135
7.7.3 打开光标 136
7.7.4 选取数据 136
7.7.7 光标示例 137
7.7.5 CURRENT OF 子句 137
7.7.6 关闭光标 137
7.8 调整 Transact-SQL 语句 138
7.9 使用 XML 140
7.10 使用 ODBC 140
7.10.1 推荐的转换策略 140
7.10.2 ODBC 体系结构 141
7.10.3 只向前的光标 141
7.10.4 服务器光标 142
7.10.5 可滚动的光标 143
7.10.7 每次连接中多个活动语句 144
7.10.6 使用 SQL Server 的默认结果集和服务器光标的策略 144
7.10.8 数据类型映射 145
7.10.9 ODBC Extended SQL 146
7.10.10 外部连接 146
7.10.11 Date、Time 和 Timestamp 值 146
7.10.12 调用存储过程 147
7.10.13 本地 SQL 变换 147
7.10.14 手动提交模式 148
7.11 开发、管理数据库复制 148
7.12.2 Oracle 调用接口 150
7.12.1 使用 DTS 移植数据 150
7.12 移植数据和应用程序 150
7.12.3 嵌入的 SQL 151
7.12.4 Developer 2000和第三方应用程序 153
7.12.5 Internet 应用程序 154
第8章 管理数据库的变化 155
8.1 为变化的环境做好准备 155
8.1.1 相冲突的目标 155
8.1.2 管理开发环境 156
8.1.3 管理 QA 环境 163
8.1.4 管理生产实现 165
8.2 小结 167
9.1 存储引擎升级 169
第9章 存储引擎升级 169
9.2 与数据交互作用 171
9.2.1 更加有效的读取数据 172
9.2.2 并行性 173
9.3 表格和索引 174
9.3.1 行内文本 174
9.3.2 新的数据类型 175
9.3.3 索引 175
9.4 记录和恢复 177
9.5 管理方面的升级 180
9.6 数据存储组件 183
9.7 创新以及发展 184
第10章 实现安全性 185
10.1 简介 185
10.2 新的安全性特性 185
10.2.1 安全的配置 185
10.2.2 完成 C2安全性评估 186
10.2.3 在 Windows 2000环境中的 Kerberos 及 Delegation 186
10.2.4 安全性审计 187
10.2.6 服务器角色升级 188
10.2.5 删除 SQLAgentCmdExec 代理账户 188
10.2.7 加密 189
10.2.8 口令保护 190
10.2.9 SUID 列 190
10.3 安全性模型 190
10.3.1 鉴别模式 191
10.3.2 在内部使用 SID 192
10.3.3 角色 192
10.3.4 安全访问服务器 196
10.3.5 安全访问数据库 199
10.4.2 取消 SUID 205
10.4 实施服务器等级的安全性 205
10.4.1 使用 SID 205
10.4.3 为非可信用户生成 GUID 206
10.4.4 重新命名 Windows 用户或者用户组账户 206
10.4.5 sysxlogins 系统表格 206
10.5 对象级别安全性的实现 208
10.5.1 如何检查许可 208
10.5.2 命名的管道及多协议许可 211
10.6 从 SQL Server7.0升级 212
10.7 从 SQL Server6.5升级 212
10.8 设置安全的 SQL Server 2000安装 215
10.8.1 服务账户 216
10.8.2 文件系统 217
10.8.3 登录库 218
10.8.4 审计 218
10.8.5 审计记录(profiling for auditing) 219
10.8.6 备份和恢复 219
10.8.7 一般 Windows 安全性配置 221
第11章 使用 BLOB 223
11.1 设计 BLOB 223
11.1.1 SQL Server 中的 BLOB 存储 224
11.1.2 学习 TerraServer 设计和实现 230
11.1.3 特殊操作中的 BLOB 233
11.2 实现 BLOB 234
11.2.1 服务器上的 BLOB 235
11.2.2 客户机上的 BLOB 240
11.3 在 SQL Server 中处理 BLOB 249
第12章 故障转移群集 251
12.1 增强的故障转移群集 251
12.2 Windows Clustering 252
12.3 配置 SQL Server 2000故障转移群集服务器 257
12.3.1 软件需求 257
12.4 实现 SQL Server 2000故障转移群集 261
12.3.2 配置工作表 261
12.4.1 先决条件 262
12.4.2 安装顺序 263
12.4.3 创建 MS DTC 资源(仅限于 Windows NT4.0 Enterprise Edition) 263
12.4.4 最佳实践 264
12.5 维护 SQL Server 2000故障转移群集 272
12.5.1 备份和恢复 272
12.5.2 保证虚拟服务器不会由于其他服务的故障而发生故障 273
12.5.3 添加、修改或更新 TCP/IP 地址 274
12.5.4 在虚拟服务器定义中添加或删除一个群集节点 274
12.6 SQL Server 2000故障转移群集的疑难解答 275
12.7 参考信息 276
第13章 日志转移 277
13.1 日志转移的工作方式 277
13.1.1 组件 277
13.1.2 日志转移过程 279
13.2 配置日志转移 281
13.2.1 保持数据同步 281
13.2.2 服务器 281
13.2.3 保存旧的事项记录文件 282
13.2.4 阈值 282
13.2.5 安装考虑事项 283
13.2.6 准备工作表 284
13.3 日志转移技巧和优化实践 285
13.3.1 辅助服务器容量 285
13.3.2 从辅助服务器生成数据库备份 285
13.3.3 保持注册信息同步 285
13.3.4 监控日志转移 286
13.3.5 修改或者删除日志转移 286
13.3.6 日志转移在 SQL Server 7.0和 SQL Server 2000之间的互操作性 286
13.3.10 辅助服务器的终端用户连接 287
13.3.11 热备份的角色改变 287
13.3.8 使用日志转移的数据库进行报告 287
13.3.9 合并日志转移和快照备份 287
13.3.7 使用日志转移数据库检查实用数据库的安全性 287
13.3.12 故障恢复到主服务器 288
13.3.13 日志转移和复制 289
13.3.14 日志转移和应用程序代码 289
13.3.15 日志转移和故障转移群集 289
13.3.16 监控服务器 289
13.3.17 使用日志转移数据库进行全文搜索 290
13.4 疑难解答 290
14.1 数据中心 291
第14章 数据中心可用性:设施、人员和操作 291
14.2 设施和设备需求 292
14.2.1 数据中心设施 292
14.2.2 数据中心硬件 293
14.2.3 数据中心内的数据通信 293
14.3 对人员配置的建议 294
14.4 操作准则 297
14.4.1 一般操作 297
14.4.2 SQL Server 操作 298
14.5 应用服务提供商 302
14.6 小结 303
第15章 高可用性选项 304
15.1 人、策略和过程的重要性 304
15.1.1 有100%完美的解决方案吗 304
15.1.2 满足高运行时间 304
15.1.3 运行时间解决方案和风险管理 305
15.1.4 人:最好的解决方案 305
15.1.5 操作计划的本质 305
15.1.6 规划冗余 306
15.1.7 将解决方案分段 306
15.2.1 可选的硬件 307
15.2 高可用性的技术 307
15.1.9 提高协作意识:通信的重要性 307
15.1.10 高可用性以及移动和断开设备 307
15.1.8 手动过程 307
15.2.2 可选的软件 310
15.2.3 可选择的 SQL Server 316
15.2.4 SQL Server 解决方案的结合 322
15.3 小结 325
第16章 5个9:高可用性的极限 326
16.1 确定所需要9的级别 326
16.2 通过 SQL Server 2000获得高可用性 326
16.2.1 应用程序设计 327
16.2.2 基本的硬件和软件 328
16.3 创建灾难恢复规划 336
16.3.1 准备环境 336
16.3.2 故障转移计划 339
16.3.3 故障恢复计划 339
16.3.4 人员 339
16.3.5 创建 Run Book 339
16.3.6 测试计划 341
16.4 诊断故障 341
16.5.1 有动态内容但没有电子商务 Web 站点的公司 342
16.5 高可用性情况 342
16.5.2 电子商务 Web 站点 343
16.5.3 分区的数据库 345
16.5.4 小型公司 346
16.6 小结 346
第17章 数据仓库设计的考虑事项 348
17.1 数据仓库、OLTP、OLAP 和数据挖掘 348
17.2 设计数据仓库:先决条件 349
17.3 开发数据仓库:详细资料 351
17.3.2 设计维模型 352
17.3.1 识别和收集需求 352
17.3.3 开发体系结构 364
17.3.4 设计关系数据库和 OLAP 立方体 365
17.3.5 开发可操作的数据存储器 366
17.3.6 开发数据维护应用程序 367
17.3.7 开发分析应用程序 367
17.3.8 测试并配置系统 367
17.4 小结 368
第18章 在 SQL Server 2000数据仓库中使用分区 369
18.1 在 SQL Server 2000关系数据仓库中使用分区 369
18.1.1 分区的优点 369
18.1.2 分区的缺点 370
18.1.3 设计考虑事项 371
18.1.4 管理分区的事实表 375
18.2 在 SQL Server 2000 Analysis Services 中使用分区 376
18.2.1 分区优点 377
18.2.2 分区的缺点 378
18.2.3 设计考虑事项 378
18.2.4 管理分区立方体 380
18.3 小结 383
18.4 其他信息 383
18.5 复制分区的 VBScript 代码示例 384
19.1 引言 388
第19章 数据提取、转换和加载技术 388
19.2 ETL 功能元件 389
19.2.1 提取 389
19.2.2 转换 389
19.2.3 加载 390
19.2.4 元数据 390
19.3 ETL 设计的考虑事项 390
19.4 ETL 体系结构 391
19.4.1 同质体系结构 391
19.4.2 多相体系结构 392
19.5.2 开发功能元件 393
19.5.1 识别和映射数据 393
19.5 ETL 开发 393
19.6 SQL Server 2000 ETL 组件 395
19.7 ETL 分段传输数据库 395
19.7.1 服务器配置 396
19.7.2 数据库配置 396
19.8 管理代理键 397
19.9 ETL 代码实例 398
19.9.1 代码实例用到的表 398
19.9.2 插入新的维记录 400
19.9.3 管理缓慢变化维 401
19.9.4 管理事实表 404
19.9.5 高级技术 409
19.9.6 元数据记录 412
19.10 小结 422
第20章 数据仓库中的 RDBMS 性能调整指南 423
20.1 简介 423
20.2 性能调整的基本规则 423
20.2.1 管理性能 423
20.2.2 利用 SQL Server 性能工具 424
20.2.3 影响性能的配置选项 424
20.3.1 传输速率最优化 429
20.3 磁盘 I/O 性能最优化 429
20.3.2 RAID 430
20.4 提高分区操作的性能 436
20.4.1 分区对象的考虑事项 437
20.4.2 并行数据检索 440
20.5 数据载入的最优化 441
20.5.1 选择合适的数据库恢复模型 442
20.5.2 使用 bcp,批量插入或者批量拷贝函数 442
20.5.3 控制锁行为 443
20.5.4 并行载入数据 443
20.5.6 数据载入时 FILLFACOTR 和 PAD_INDEX 的影响 445
20.5.5 载入预排序数据 445
20.5.7 初始数据载入的一般准则 446
20.5.8 增量数据载入的一般规则 446
20.6 索引和索引维护 446
20.6.1 SQL Server 中的索引类型 446
20.6.2 索引如何工作 447
20.6.3 交叉索引 447
20.6.4 SQL Server 中的索引结构 448
20.6.5 聚集索引 448
20.6.7 惟一索引 450
20.6.6 非聚集索引 450
20.6.8 计算列的索引 451
20.6.9 索引视图 452
20.6.10 覆盖索引 454
20.6.11 索引选择 454
20.6.12 索引创建和并行操作 455
20.6.13 索引维护 456
20.7 SQL Server 分析调节工具 458
20.7.1 示例数据和负载 459
20.7.2 SQL Profiler 459
20.7.3 SQL Query Analyzer 462
20.8 监视系统 467
20.9 理解 SQL Server 内部机制 472
20.9.1 工作线程 472
20.9.2 Lazy Writer 473
20.9.3 检查点 473
20.9.4 日志管理器 474
20.9.5 预读管理 474
20.9.6 其他性能调节相关专题 475
20.10 寻找更多的信息 478
21.1.2 分组执行环境 479
21.1.1 编程界面 479
21.1 多相数据提取分析 479
第21章 监视 Visual Basic 中的 DTS 多相数据提取 479
21.1.3 数据提取中的故障定位 480
21.2 多相数据提取的复习 480
21.2.1 基础的多相数据提取过程 480
21.2.2 变换状态 480
21.2.3 多相数据提取的步骤 480
21.2.4 影响步骤的性质 483
21.3 监视解决方案实例 483
21.3.1 方案体系结构 483
21.3.2 COM+事件类:Monitor DTS Events.DLL 484
21.3.3 发布者应用程序:Monitor DTS.DLL 485
21.3.4 用户应用程序:Monitor DTSWatch.EXE 486
21.3.5 DTS 分组:Monitor DTS Samples DTS 488
21.3.6 执行方案 491
第22章 真实世界中的立方体 492
22.1 设计基本原理 492
22.2 维的设计 494
22.2.1 初始化设计的问题 495
22.2.2 维变量 497
22.2.3 维特征 499
22.2.4 维存储和处理 503
22.3 设计立方体 504
22.3.1 立方体变化 504
22.3.2 立方体特性 507
22.3.3 立方体存储和处理 512
第23章 使用 MDX 的商业案例解决方案 516
23.1 常规问题 516
23.1.1 如何从不同立方体中检索数据 516
23.1.2 如何执行基础容器(Basic Basket)分析 517
23.1.3 如何进行复杂的字符串比较 518
23.1.4 如何将百分比显示为测量 519
23.1.5 如何将累积总数显示为测量 520
23.1.6 如何在 WHERE 子句中实现逻辑 AND 和 OR 条件 522
23.1.7 如何在 MDX 中使用定制成员属性 524
23.2 导航问题 525
23.2.1 如何实现多于一级的深探,或者跳过一级 525
23.2.2 如何得到一个体系某个级取最高值的成员 526
23.3 操作问题 528
23.3.1 如何将成员分级或重排序 528
23.3.2 如何在一个维中不同级上使用不同的计算 529
23.3.3 如何为不同的维使用不同的计算 530
23.4.1 如何在 MDX 中使用时段 532
23.4 日期和时间问题 532
23.4.2 如何在 MDX 中使用累计时段 533
23.4.3 如何对不同时段采用不同的计算 534
23.4.4 如何在 MDX 中比较时段 536
第24章 数据挖掘的有效策略 538
24.1 简介 538
24.2 数据挖掘过程 541
24.2.1 数据选择 542
24.2.2 数据清除 544
24.2.4 数据变换 545
24.2.3 数据丰富 545
24.2.5 准备测试集 546
24.2.6 数据挖掘模型结构 547
24.2.7 数据挖掘模型的评估 555
24.2.8 数据挖掘模型的反馈 559
第25章 为客户获取数据 564
25.1 开发 Analysis Services 客户应用 564
25.1.1 处理数据 564
25.1.2 处理元数据 569
25.2 通过 Analysis Services 使用互联网 576
26.1 引言 577
第26章 Analysis Service 性能调整 577
26.2 体系结构 578
26.2.1 概述 578
26.2.2 内存管理 580
26.2.3 线程管理 583
26.2.4 处理交互 586
26.2.5 查询交互 588
26.3 提高全面性能 588
26.3.1 硬件配置 589
26.3.2 维度和立方体的设计 590
26.3.3 存储模式选择 591
26.3.4 聚集设计 592
26.3.5 模式优化 592
26.3.6 分区策略 592
26.4 提高处理性能 594
26.4.1 处理选项 594
26.4.2 内存要求 594
26.4.3 存储要求 595
26.5 提高查询的性能 595
26.5.1 内存要求 595
26.5.2 使用分析和聚集设计 596
26.6.1 Analysis Service 性能计数器 597
26.6 性能评估 597
26.6.2 系统性能计数器 601
第27章 创建交互数字仪表板 605
27.1 简介 605
27.2 必需的软件 606
27.2.1 SQL Server 2000 607
27.2.2 Windows 2000 607
27.2.3 Internet Explorer 5.X 607
27.2.4 数字仪表板资源包 607
27.3.2 为 HTM 和 HTC 文件创建物理的和虚拟的目录 608
27.3.3 为 XML 和 XSL 文件创建物理的和虚拟的目录 608
27.2.5 下载并安装 DDRK 和 SQL Server 实例数字仪表板 608
27.3.1 下载代码实例 608
27.3 设置 608
27.3.4 复制和编辑 HTM 和 HTC 文件 609
27.4 建立仪表板 609
27.4.1 定义仪表板 610
27.4.2 定义 Customer List Web Part 610
27.4.4 对仪表板进行测试 611
27.4.5 检查代码实例 611
27.4.3 定义 Order Chart Web Part 611
第28章 Analysis Services 元数据的数字仪表板浏览器 616
28.1 简介 616
28.2 必要条件 616
28.2.1 Windows 2000 Server 616
28.2.2 具有 Analysis Services 的 SQL Server 2000 617
28.2.3 Digital Dashboard Resource Kit 2.01 617
28.2.4 Internet Explorer 5.5 617
28.3 安装 617
28.3.3 许可授权 618
28.3.2 安装 IIS 虚拟目录 618
28.3.1 复制文件 618
28.4 创建数字仪表板 619
28.4.1 安装仪表板 619
28.4.2 创建 ServerConnect Web Parts 619
28.4.3 创建 DBSelect Web Part 619
28.4.4 创建 CollSelect Web Part 620
28.4.5 创建 MemberSelect Web Part 620
28.4.6 创建 MetaData Web Parts 621
28.4.7 测试仪表板 621
28.5 使用仪表板 621
28.6.1 文本文件(嵌入的内容) 622
28.6 实例文件 622
28.6.2 ASP 文件 623
28.7 已知问题 625
28.7.1 不能连接到注册表 625
28.7.2 Web Parts 的大小 625
第29章 复制中的常见问题 626
29.1 复制和复制选项的类型 626
29.1.1 应当使用哪种类型的复制 626
29.1.2 合并复制和可更新订阅之间的区别 627
29.1.3 当使用事物复制和排队更新时,应该使用 SQL Server 排队还是 Microsoft Message Queuing Services 627
29.2.2 应该使用哪种类型的 Subscription:Push 还是 Pull 628
29.2 执行复制 628
29.2.1 Local Distributor 和 Remote Distributor 的区别 628
29.2.3 如果正在使用拉订阅,应该何时把它们定义为匿名 629
29.2.4 脚本复制的优越性有哪些 629
29.2.5 应该手动应用快照还是自动应用快照 629
29.2.6 可否在 SQL Server 和不同种类的数据库之间复制数据 630
29.2.7 如果正在使用 SQL Server 6.5或 SQL Server 7.0 Subscriber,那么可否使用 SQL Server 2000中的新特征 630
29.2.8 Microsoft SQL Server Desktop Engine 可否参与复制 631
29.2.9 当升级到 SQL Server 2000时,是否需要同时升级所有复制中的服务器 631
29.3.2 复制工作可否在一个群集上 632
29.3 复制和热备份服务器恢复选项 632
29.3.1 是否应该使用复制、日志转移或群集作为故障转移的解决方法 632
第30章 使用 Visual Basic 创建合并复制自定义冲突分解器 633
30.1 使用 Microsoft SQL 复制冲突分解器库 633
30.1.1 向 Visual Basic 中添加 Microsoft SQL Replication Conflict Resolver Library 634
30.1.2 IVBCustomResolver 接口 634
30.1.3 IReplRowChange 和 IConnectionlnfo 接口 635
30.1.4 常量 651
30.2 注册定制冲突分解器 657
30.3 合并复制定制冲突分解器的实例 657
31.2 在 Internet 上生成 XML 661
第31章 使用 XML 向网络展示 SQL Server 数据 661
31.1 使用 SELECT 语句生成 XML 661
第32章 优化实施 English Query 673
32.1 English Query 概述 673
32.2 在开始前 675
32.3 创办一个基本模型 675
32.3.1 编辑实体属性 676
32.3.2 阐明并测试典型性问题 676
32.3.3 使用 Suggestion Wizard 677
32.3.4 添加帮助文本 677
32.4.1 创建好的实体关系 678
32.4 扩展模型 678
32.4.2 首先创建广泛关系,然后处理特殊问题 679
32.4.3 重新测试问题 679
32.4.4 为了实现“Free-Form”文本搜索,启动全文搜索 679
32.4.5 为数据分析问题创建一个 OLAP 模型 680
32.5 配置 English Query 解决方案 681
32.5.1 使用实例应用程序 681
32.5.2 为用户提供实例问题 681
32.5.3 提供问题生成器 681
32.6.1 保持模型一直是最新的 682
32.6 维护和改进模型 682
32.6.2 使用日志来改进结果 683
32.7 故障排除 683
第33章 数据层:优化数据库的途径 685
33.1 新的途径 685
33.2 优化循环 686
33.3 对状态进行评估 687
33.3.1 性能监视工具 688
33.3.2 分段传输测试 690
33.4 监视和优化 692
33.4.1 监视一个系统 692
33.4.2 分析结果:数据库和代码级别 696
33.4.3 优化数据组件 702
33.4.4 优化代码组件 703
33.4.5 优化存储组件 704
33.4.6 优化服务器配置 706
33.5 开发硬件 706
33.5.1 最佳化性能 707
33.5.2 容量规划 707
33.5.3 处理已有的硬件 709
33.5.4 实例服务器配置 712
33.6 小结 716
34.1 安装存储过程 717
第34章 识别一般的管理问题 717
34.2 检查服务器配置(sp_rk_audit_configure) 719
34.2.1 运行 sp_rk_audit_configure 720
34.2.2 sp_rk_audit_configure 的工作方式 721
34.2.3 修改 sp_rk_audit_configure 722
34.3 检查数据库配置(sp_rk_audit_dboptions) 723
34.3.1 运行 sp_rk_audit_dboptions 724
34.3.2 sp_rk_audit_dboptions 的工作方式 725
34.3.3 修改 sp_rk_audit_dboptions_check_l_db 以看到不同值 728
34.4.1 运行 sp_rk_blocker_blockee 730
34.4 应用程序故障排除 730
34.4.2 sp_rk_blocker_blockee 是怎样工作的 731
34.4.3 修改 sp_rk_blocker_blockee 732
第35章 使用 Visual Basic 远程管理 SQL Server 2000 733
35.1 SQL 初级管理员应用程序的内幕 734
35.1.1 用户界面 734
35.1.2 Visual Basic 代码 737
35.2 小结 757
第36章 使用视图查看性能 758
36.1 什么是索引视图 758
36.2 从索引视图中获取尽可能多的信息 759
36.3 设计索引视图 761
36.3.1 设计索引视图的准则 762
36.3.2 使用 Index Tuning Wizard 762
36.3.3 维护索引视图 763
36.4 创建索引视图 763
36.4.1 使用 SET 选项获得一致的结果 764
36.4.2 使用确定性的函数 764
36.4.3 索引视图的附加要求 765
36.5 索引视图实例 766
37.1 什么是 INSTEAD OF 触发器 771
第37章 用 INSTEAD OF 扩展触发器 771
37.2 在 INSTEAD OF 触发器中定制错误消息 772
37.3 使用 INSTEAD OF 触发器创建可更新的视图 774
37.4 在分区视图上的 INSTEAD OF 触发器 778
37.5 设计 INSTEAD OF 触发器准则 779
37.6 INSTEAD OF 触发器的性能准则 780
第38章 在 SQL Server 上进行横向扩展 781
38.1 准备就绪的校验表 782
38.1.1 准备好在 SQL Server 上进行 Scale Out 782
38.1.2 设计注意事项 783
38.1.3 理解联盟 784
38.2 数据分区组件 785
38.2.1 分区视图的工作方式 787
38.2.2 创建分区视图 788
38.2.3 分区的查询计划 789
38.2.4 数据相关的路由选择 791
38.2.5 其他选项 791
38.3 管理考虑事项 792
38.3.1 分区维护 792
38.3.2 灾难恢复和分区 793
38.3.3 高可用性 793
附录 A 关于本书光盘 795