第Ⅰ部分 复制 3
第1章 复制简介 3
1.1 复制模型 4
1.1.1 发布服务器 4
1.1.2 分发服务器 4
1.1.3 订阅服务器 5
1.1.4 发布 5
1.1.5 项目 5
1.1.6 订阅 5
1.2 复制类型简介 6
1.2.1 快照复制 6
1.2.2 事务复制 6
1.2.3 合并复制 7
1.3 复制选项 8
1.3.1 筛选已发布的数据 8
1.3.2 发布数据库对象 8
1.3.3 发布架构对象 9
1.3.4 可更新的订阅 9
1.3.5 转换已发布的数据 9
1.3.6 可选同步伙伴 10
1.4 复制的主要用途 10
1.4.1 报表、决策支持和数据仓库应用程序 10
1.4.2 联机/脱机应用程序 12
1.4.3 基于Web的应用程序 13
1.4.4 使数据更贴近用户 14
1.5 复制原理 14
1.5.1 执行方法 16
1.5.2 代理程序和监视器 18
第2章 为复制制定计划 21
2.1 分布式数据更新要素 21
2.2 评估复制环境 23
2.2.1 商业目标和要求 24
2.2.2 网络考虑事项 25
2.2.3 安全考虑事项 25
2.2.4 数据需要和特性 27
2.2.5 制定应用程序的开发计划 29
2.3 为每种类型的复制制定计划 30
2.3.1 为快照复制制定计划 30
2.3.2 为事务复制制定计划 32
2.3.3 为合并复制制定计划 34
2.4 制定复制选项计划 37
2.4.1 即时更新或排队更新订阅的考虑事项 37
2.4.2 即时更新订阅的其他考虑事项 37
2.4.3 排队更新订阅的其他考虑事项 38
2.4.4 转换发布数据时的考虑事项 38
2.5 合并复制或可更新的订阅 39
2.6 设计复制拓扑 40
第3章 复制类型 47
3.1 快照复制 47
3.2 事务复制 51
3.3 合并复制 56
3.3.1 合并复制工作原理 56
3.3.2 合并复制冲突的检测和解决 64
第4章 复制工具 79
4.1 复制与SQL Senrer Enterprise Manager 79
4.1.1 复制向导 80
4.1.2 复制属性 82
4.2 复制编程接口 86
4.2.1 使用ActiveX控件编制复制 87
4.2.2 使用SQL-DMO进行复制程序设计 88
4.2.3 使用复制分发服务器接口编程复制 88
4.3 Transact-SQL系统存储过程 89
4.4 Windows Synchronization Manager 89
4.5 Active Directory服务 90
4.5.1 向Active Directory中添加或删除服务器对象 90
4.5.2 将发布作为Active Directory对象来添加 91
4.5.3 浏览或订阅Active Directory中的发布 91
第5章 执行复制 93
5.1 配置复制 94
5.1.1 发布服务器、分发服务器和订阅服务器 94
5.1.2 禁用发布和分发 96
5.2 发布数据和数据库对象 96
5.2.1 发布存储过程执行 98
5.2.2 在项目中使用自定义存储过程 100
5.3 订阅发布 102
5.3.1 强制订阅 104
5.3.2 请求订阅 105
5.3.3 匿名订阅 106
5.4 应用初始快照 106
5.4.1 生成初始快照 107
5.4.2 备用快照位置 108
5.4.3 压缩快照文件 108
5.4.4 浏览快照 109
5.4.5 传输快照 109
5.4.6 可连接的订阅数据库 111
5.4.7 提高生成和应用快照的性能 112
5.4.8 在应用快照之前和之后执行脚本 114
5.4.9 重新初始化订阅 115
5.5 同步数据 116
5.5.1 快照复制同步处理 116
5.5.2 事务复制同步处理 116
5.5.3 合并复制同步处理 117
5.5.4 同步处理架构更改 117
5.5.5 按需脚本执行 117
5.6 编写复制脚本 118
5.7 发布数据库上的架构更改 119
5.7.1 添加列 119
5.7.2 其他考虑事项 120
5.7.3 将项目添加到合并发布中 120
5.7.5 如何应用架构更改 121
5.7.6 将架构更改应用于特定的发布 122
5.8 通过Internet执行复制 122
5.8.1 使用VPN通过Internet发布数据 122
5.8.2 使用Microsoft Proxy Server通过Internet发布数据 123
5.8.3 使用TCP/IP和FTP通过Internet发布数据 123
5.9 在不同版本的SQL Server之间进行复制 125
5.9.1 从SQL Server 7.0发布服务器/分发服务器复制到SQL Server 6.5订阅服务器 126
5.9.2 从SQL Server 7.0发布服务器/分发服务器复制到SQL Server 6.0订阅服务器 127
5.9.3 从SQL 6.5发布服务器/分发服务器复制到SQL Server 7.0订阅服务器 127
5.9.4 从SQL Server 6.5发布服务器复制到SQL Server 7.0分发服务器 128
5.10 使用SQL Server 2000 WindowsCE版本进行复制 128
第6章 复制选项 131
6.1 筛选已发布数据 132
6.1.1 行筛选 132
6.1.2 列筛选 134
6.1.3 动态筛选 135
6.1.4 动态快照 137
6.1.5 验证订阅服务器信息 139
6.1.6 联接筛选 140
6.1.7 用户定义函数和静态筛选 143
6.1.8 用户定义函数和动态筛选 143
6.2 可更新的订阅 144
6.2.1 即时更新 144
6.2.2 排队更新 151
6.2.3 在即时更新中将排队更新作为故障转移 160
6.2.4 转换已发布的数据 160
6.3 可选同步伙伴 169
6.4 优化同步 170
第7章 复制数据考虑事项 173
7.1 复制时使用IDENTITY值 173
7.1.1 管理标识值 173
7.1.2 带有即时更新和排队更新的标识范围 176
7.2 管理复制timestamp数据 176
7.3 使用NOT FOR REPLICATION 177
第8章 管理和监视复制 181
8.1 管理和监视复制的工具 181
8.1.1 复制监视器 181
8.1.2 复制代理程序实用工具 182
8.1.3 用于复制的ActiveX控件 183
8.1.4 Windows NT Performance Monitor和Windows 2000 System Monitor 184
8.1.5 设置代理程序参数 184
8.1.6 代理程序配置文件 184
8.2 复制程序 185
8.2.1 独立和共享的代理程序 185
8.2.2 SQL Server代理程序 185
8.2.3 快照代理程序 186
8.2.4 分发代理程序 187
8.2.5 日志读取代理程序 188
8.2.6 队列读取代理程序 189
8.2.7 合并代理程序 189
8.2.8 混杂代理程序 191
8.2.9 查看代理程序历史 192
8.2.10 处理代理程序错误 193
8.2.11 远程代理程序激活 195
8.3 复制警报 197
8.3.1 自动响应警报 199
8.3.2 预定义的响应作业 200
8.4 订阅停用与过期 200
8.4.1 快照和事务复制订阅 200
8.4.2 订阅停用 201
8.4.3 订阅过期 201
8.4.4 合并复制订阅 202
8.4.5 订阅终止 202
8.5 验证复制的数据 203
8.5.1 内嵌数据验证的工作机制 203
8.5.2 验证事务的已复制数据 204
8.5.3 验证校验值 204
第9章 复制和异类数据源 209
9.1 异类订阅服务器 209
9.1.1 Access订阅服务器 211
9.1.2 Oracle订阅服务器 213
9.1.3 IBM DB2/AS400订阅服务器 215
9.1.4 IBM DB2/MVS订阅服务器 216
9.1.5 其他异类订阅服务器 217
9.1.6 实现到Access订阅服务器的合并复制 221
9.2 异类发布服务器 222
第10章 复制安全性 225
10.1 角色要求 225
10.2 连接分发服务器 227
10.3 快照文件夹安全性 227
10.4 发布访问列表 228
10.5 代理登录安全性 228
10.5.1 应用快照 229
10.5.2 事务复制 229
10.5.3 合并复制 229
10.6 安全和复制选项 230
10.6.1 筛选发布数据 230
10.6.2 动态快照 230
10.6.3 即时更新和队列更新 231
10.7 通过Internet进行复制及其安全性 232
lO.7.1 虚拟专用网络 232
10.7.2 Microsoft Proxy Server 232
10.7.3 TCP/IP和文件传输协议 233
第11章 增强复制性能 235
11.1 增强快照复制性能 239
11.2 增强快照和事务复制性能 240
11.3 增强事务复制性能 241
11.4 增强合并复制性能 243
第12章 备份和恢复复制数据库 249
12.1 备份和恢复快照复制的策略 251
12.2 事务复制备份和恢复策略 252
12.3 合并复制备份和恢复策略 257
12.4 将已复制数据库的备份还原到相同的服务器和数据库 261
12.5 将已复制数据库的备份恢复到其他服务器或数据库 262
第Ⅱ部分 自然语言查询 265
第13章 English Query概述 265
13.1 English Query的新增功能 265
13.2 安装要求和考虑 266
第14章 English Query基础 269
第15章 开发和部署English Query应用程序 279
15.1 创建English Query模型 280
15.2 扩展English Query模型 280
15.2.1 创建混和English Query模型 281
15.2.2 为English Query模型启动分析服务 282
15.2.3 为English Query启动SQL 282
15.2.4 为English Query模型允许全文搜索功能 283
15.2.5 在English Query模型中定义实体 283
15.2.6 定义关系句式 287
15.2.7 在English Query模型中使用命令关系 290
15.2.8 使用语义模型格式创作 292
15.3 测试English Query模型 293
15.4 编译English Query应用程序 295
15.5 配置English Query应用程序 295
15.5.1 在English Query应用程序中加入Question Builder 297
15.5.2 问题的自动澄清 298
15.5.3 English Query应用程序的运行环境 299
15.5.4 重新分发English Query运行动态库 300
15.6 示例程序和客户端接口 301
第16章 English Query中的分析服务 303
16.1 OLAP项目向导中的命名实体 303
16.2 在OLAP Project Wizard中建立关系 305
16.3 (All)级别的分析服务要求 307
第17章 对象模型引用 309
17.1 创作对象模型 309
17.1.1 创作对象模型图表 310
17.1.2 创作对象概要 310
17.1.3 创作属性概要 312
17.1.4 创作方法概要 317
17.1.5 创作示例脚本 326
17.2 引擎对象模型 328
17.2.1 引擎对象模型图表 330
17.2.2 引擎对象概要 331
17.2.3 引擎属性概要 342
17.2.4 引擎方法概要 366
17.2.5 引擎集合概要 371
17.2.6 引擎集合属性概要 374
17.3 Question Builder对象模型 375
17.3.1 Question Builder对象模型图表 376
17.3.2 Question Builder对象概要 377
17.3.3 Question Builder属性概要 379
17.3.4 Question Builder方法概要 386
17.3.5 Question Builder集合概要 388
17.3.6 Question Builder Collection方法概要 390
第18章 如何执行普通English Query任务 393
18.1 使用项目 393
18.1.1 如何将新项目添加到解决方案中 393
18.1.2 如何将现成项目添加到解决方案中 394
18.1.3 如何创建新项目 394
18.1.4 如何使用SQL Project向导创建新项目 395
18.1.5 如何使用OLAP Project向导创建项目 396
18.1.6 如何从项目中删除数据库 397
18.1.7 如何从解决方案中删除项目 397
18.1.8 如何创建和修改项目属性 397
18.1.9 如何添加模块 398
18.1.10 如何删除模块 398
18.1.11 如何修改项目数据源 398
18.2 模块的使用 399
18.2.1 如何使用创建语义命令添加实体和关系 399
18.2.2 如何添加或修改SQL连接 400
18.2.3 如何添加或修改Analysis Services(以前的OLAP)连接 400
18.2.4 如何创建混合模型 401
18.2.5 如何从模型中删除字段 401
18.2.6 如何编辑模型中的字段 402
18.3 联接的使用 402
18.3.1 如何添加联接 403
18.3.2 如何删除联接 403
18.3.3 如何编辑联接 403
18.4 表的使用 404
18.4.1 如何在表中添加字段 404
18.4.2 如何添加表 405
18.4.3 如何添加SQL数据源中的表和视图 405
18.4.4 如何修改关系表选项 406
18.4.5 如何删除表 406
18.4.6 如何编辑表 407
18.4.7 如何启动全文字段查找功能 407
18.4.8 如何更新项目中的所有表 408
18.5 实体的使用 408
18.5.1 如何在关系中添加实体 408
18.5.2 如何创建实体 409
18.5.3 如何删除实体 410
18.5.4 如何从关系中删除实体 410
18.5.5 如何编辑实体 411
18.5.6 如何编辑关系中的实体角色 411
18.6 关系的使用 412
18.6.1 如何添加关系 412
18.6.2 如何在关系中添加句式 413
18.6.3 如何添加关系的时间与位置选项 413
18.6.4 如何使用Canvas窗格创建关系 414
18.6.5 如何从Model Test窗口创建关系 415
18.6.6 如何使用Create Relation命令创建关系 415
18.6.7 如何联接英文数据值与关系 416
18.6.8 如何删除关系 416
18.6.9 如何修改关系 416
18.7 字典条目的使用 417
18.7.1 如何添加字典条目 417
18.7.2 如何删除字典条目 418
18.7.3 如何编辑字典条目 418
18.8 命令关系的使用 418
18.8.1 如何在关系中添加句式 419
18.8.2 如何创建命令关系 419
18.8.3 如何创建命令关系的时间和地点选项 420
18.8.4 如何删除命令关系 420
18.8.5 如何编辑命令关系 421
18.9 分析服务(以前的OLAP服务)功能的使用 421
18.9.1 如何在模型中添加分析服务(以前的OLAP)多维数据集 421
18.9.2 如何编辑分析服务(以前的OLAP)多维数据集 422
18.9.3 如何编辑分析服务级别 422
18.9.4 如何编辑分析服务(以前的OLAP)的度量值 423
18.9.5 如何编辑分析服务(以前的OLAP)属性 423
18.9.6 如何启动分析服务(以前的OLAP) 424
18.9.7 如何将OLAP对象手工映射到SQL基础数据库对象上 424
18.9.8 如何删除分析服务(以前的OLAP)多维数据集 425
18.10 模型的测试和创建 425
18.10.1 如何将现成的或新回归测试文件添加到项目中 426
18.10.2 如何建立应用程序 426
18.10.3 如何编辑回归测试文件 427
18.10.4 如何删除回归测试文件 427
18.10.5 如何重命名回归测试文件 427
18.10.6 如何将模型测试信息保存到回归测试文件中 428
18.10.7 如何将回归测试结果保存到回归测试文件中 428
18.10.8 如何设置示例数据选项 429
18.10.9 如何测试模型 429
18.10.10 如何查看当前回归测试文件与回归结果文件的区别 429
18.10.11 如何查看由运行回归命令创建的回归测试输出结果 430
18.10.12 如何在网站上部署应用程序 431
索引 433