第1章 绪言 1
1.1选择合适的工具 1
数据仓储ETL 4
数据集成 6
SSIS管理 6
1.2 SSIS的回顾 6
创建连接管理器 7
使用控制流 7
使用数据流 8
优先级约束 14
程序包执行 16
容器 18
回顾总结 19
1.3小结 19
第2章 扩展SSIS中的脚本 21
2.1 Script Tasks和自定义库 22
用户定义的变量 22
通过代码检索变量 24
访问数据流中的变量 26
2.2构建一个自定义程序集 26
通过HTTP下载文件 29
将程序集添加到GAC 29
2.3使连接成为可配置的和动态的 35
2.4引发错误事件 37
2.5通过Script Component加密数据 39
2.6数据剖析 49
2.7小结 53
第3章 数据提取 55
3.1程序包连接和数据流源 56
源适配器 57
高级功能和概念 63
优化的数据分段方法 66
3.2增量数据提取 68
使用一个变化标识符值增量提取 69
从不带有触发器的SQL Server中进行增量提取 79
使用SSIS处理增量提取的各方面 81
3.3跟踪数据谱系标识符 85
3.4小结 87
第4章 使用SSIS进行维度ETL 89
4.1维度ETL概览 89
4.2维度基本知识 90
4.3维度ETL的挑战 93
为维度ETL准备数据 94
维度变化类型 98
4.4 SSIS的Slowly ChangingDimension Wizard 103
SCD的高级属性和其他输出 114
渐变维度向导的优缺点 115
优化内置的渐变维度支持 116
带有渐变维度支持的高级维度处理 118
4.5创建一个自定义的渐变程序包 127
连接源数据和维度数据 128
确定维度变化 131
处理维度插入和更新 132
4.6小结 135
第5章 事实表ETL 137
5.1事实表概览 137
映射维度键 138
计算度量 138
添加元数据 139
事实表类型 139
5.2事实表ETL 140
5.3事实表ETL的难点 140
5.4事实表ETL的基础知识 141
获取维度代理键 141
度量计算 150
管理事实表变化 153
5.5高级事实表ETL概念 163
管理事实表粒度 163
粒度改变的SSIS示例 165
处理缺少维度查找 170
处理迟到事实 175
高级事实表加载 177
5.6小结 177
第6章 通过SSIS处理Analysis Services对象 179
6.1 SSAS ETL处理和管理概述 179
SSAS对象和处理基础 180
通过SSIS处理SSAS对象的方法 185
分区的创建和修改 186
6.2 SSIS中SSAS集成的基础知识 186
SSAS的控制流任务 187
SSAS对象的数据流目标 192
6.3高级处理和分区管理的示例 195
维度的处理 195
分区的创建和处理 198
分区管理 205
处理来自非SQL Server源的SSAS立方体 208
特性关系上类型1、类型2以及推断成员的含义 209
6.4小结 211
第7章 程序包的可靠性 213
7.1错误和事件处理 213
事件处理程序的类型 213
通过事件处理程序进行审核 214
禁止事件处理功能 217
将快照集成到SSIS中 218
7.2日志记录 222
创建唯一的日志文件 225
关于日志记录提供器的报告 226
7.3检查点文件 227
动态化检查点文件名 230
错误逻辑的测试 230
7.4事务 232
7.5原始文件 235
7.6前摄的WMI集成(Proactive WMI Integration) 240
7.7 File Watcher Task的构建 241
7.8小结 243
第8章 部署 245
8.1与SSIS中的团队一起工作 245
源控制集成 245
添加新项目 246
8.2可重用的程序包 250
8.3程序包模板的创建 250
8.4程序包的配置 251
SSIS程序包配置 251
配置知识库 256
8.5部署实用程序 266
8.6小结 270
第9章 SSIS的管理 271
9.1 Package Store 271
SSIS中央服务器的创建 274
SSIS的群集 275
文件系统或msdb部署 277
9.2 Management Studio 278
9.3通过DTExecUI来运行程序包 280
9.4安全性 286
9.5防火墙问题 288
9.6命令行实用程序 288
DTExec.exe 288
DTUtil.exe 289
9.7程序包的调度 290
9.8代理账户 292
9.9 64位的问题 295
9.10性能计数器 297
9.11小结 298
第10章 异构数据和不寻常数据的处理 299
10.1不寻常数据流的情形 299
通过列来创建行 299
单个文件中的多个记录类型 303
原始文件的使用 310
10.2 Oracle 313
从Oracle中读取数据 313
把数据写到Oracle中 317
10.3其他的数据源 318
DB2 318
VSAM 319
10.4小结 320
第11章 从DTS迁移到SSIS 321
11.1 SQL Server 2005 DTS的向后兼容性 321
11.2 DTS程序包的管理和编辑 321
11.3从DTS升级 325
Upgrade Advisor 326
Migration Wizard 327
11.4例外情况的处理 330
Dynamic PropertiesTask 331
Complex Transform DataTasks 333
Flat File ConnectionManager 336
ActiveX Script Task 337
11.5小结 338
第12章 扩展SSIS 339
12.1概述 339
12.2 SSIS可伸缩性的基础 339
SSIS服务的状态 340
确定任务的持续时间 340
内存的利用率 343
SQL操作和数据流之间的平衡 346
12.3数据流的优化 348
管道体系结构的回顾 348
普通的管道优化 351
数据流的属性 355
目标的优化 357
12.4程序包执行的原则 363
“程序包的存储位置”对“执行位置” 363
Execute SQL Task和BulkInsert Task Execution 364
程序包执行和数据流 364
源或目标服务器上的程序包执行 364
单独的SSIS服务器 366
分布式的程序包执行 367
12.5小结 369