随着SQL Server Integration Service(SSIS)2005版本的发布,开发人员将需要丢弃以前有关DTS的知识,并准备好从头开始学习。这是因为SSIS环境已经从原先SQL Server的一个不起眼的特性发展成一个全新的、企业级提取转换加载(Extract Transform Load,ETL)工具。\r\n 本书将帮助你顺利度过最初的学习曲线,这样你可以能够尽快掌握使用SSIS来转换数据、创建工作流或者是维护SQL Server。通过本书提供的实际指导,你将了解到全新领域的集成功能,并且能够从以前复杂逻辑脚本编程解脱出来,转为使用一种功能完备的语言来对任务进行编程。\r\n 本书针对开发人员、DBA以及那些希望在所有.NET语言中编写自定义代码的用户。本书要求读者初步了解如何查询SQL Server的基本知识,并具有一些基本的编程技能。
第1章 欢迎使用SQL Server集成服务 \r\n 1.1 SQL Server 2005 SSIS中的新特性 \r\n 1.2 体系结构 \r\n 1.3 优先约束 \r\n 1.4 容器 \r\n 1.5 变量 \r\n 1.6 数据流元素 \r\n 1.7 错误处理和日志记录 \r\n 1.8 SQL Server 2005的版本 \r\n 1.9 小结 \r\n第2章 SSIS工具 \r\n 2.1 Import and Export Wizard \r\n 2.2 Package Installation Wizard \r\n 2.3 Business Intelligence DevelopmentStudio \r\n 2.4 创建自己的第一个程序包 \r\n 2.5 Solution Explorer Window \r\n 2.6 SSIS Package Designer \r\n 2.7 小结 \r\n第3章 SSIS任务 \r\n 3.1 共享属性 \r\n 3.2 Execute SQL 任务 \r\n 3.3 Bulk Insert任务 \r\n 3.4 使用Bulk Insert和Execute SQL任务 \r\n 3.5 Data Flow任务 \r\n 3.6 Execute Process任务 \r\n 3.7 File System任务 \r\n 3.8 FTP任务 \r\n 3.9 使用File System和FTP任务 \r\n 3.10 Execute Package任务 \r\n 3.11 Script和ActiveX任务 \r\n 3.12 Send Mail任务 \r\n 3.13 Message Queue任务 \r\n 3.14 Web Service任务 \r\n 3.15 WMI Data Reader任务和Event Watcher任务 \r\n 3.16 XML任务 \r\n 3.17 SQL Server Analysis Services Execute DDL和Processing任务 \r\n 3.18 Data Mining Query任务 \r\n 3.19 Expression页面 \r\n 3.20 小结 \r\n第4章 容器和数据流 \r\n 4.1 容器 \r\n 4.2 源 \r\n 4.3 目的地 \r\n 4.4 转换 \r\n 4.5 Data Flow示例 \r\n 4.6 Data Viewer \r\n 4.7 小结 \r\n第5章 创建端到端的程序包 \r\n 5.1 基础转换教程 \r\n 5.2 具有数据清理功能的典型大型机ETL \r\n 5.3 使任务循环并动态执行 \r\n 5.4 小结 \r\n第6章 高级任务和转换 \r\n 6.1 Execute SQL任务 \r\n 6.2 Import Column转换 \r\n 6.3 在SSIS程序包开发过程中使用Temp Tables任务 \r\n 6.4 Export Column转换 \r\n 6.5 Row Count转换 \r\n 6.6 OLE DB Command转换 \r\n 6.7 Term Extraction转换 \r\n 6.8 Term Lookup转换 \r\n 6.9 Fuzzy Lookup转换 \r\n 6.10 Fuzzy Grouping转换 \r\n 6.11 Pivot转换 \r\n 6.12 Unpivot转换 \r\n 6.13 Slowly Changing Dimention转换 \r\n 6.14 数据库对象级的任务 \r\n 6.15 小结 \r\n第7章 在SSIS中进行脚本编程 \r\n 7.1 脚本编程概述 \r\n 7.2 表达式 \r\n 7.3 Script任务 \r\n 7.4 使用.NET程序集 \r\n 7.5 结构化异常处理 \r\n 7.6 Script Component \r\n 7.7 小结 \r\n第8章 访问异类数据 \r\n 8.1 Excel \r\n 8.2 Access \r\n 8.3 Oracle \r\n 8.4 Web Service \r\n 8.5 XML数据 \r\n 8.6 小结 \r\n第9章 可靠性和可伸缩性 \r\n 9.1 重启动程序包 \r\n 9.2 程序包事务 \r\n 9.3 错误输出 \r\n 9.4 规模扩展 \r\n 9.5 小结 \r\n第10章 了解集成服务引擎 \r\n 10.1 集成服务引擎:一个类比 \r\n 10.2 了解SSIS Data Flow和Control Flow \r\n 10.3 使用Control Flow的企业工作流 \r\n 10.4 使用Data Flow的企业数据处理 \r\n 10.5 小结 \r\n第11章 应用集成服务引擎 \r\n 11.1 过去的DTS \r\n 11.2 现在的Integration Service \r\n 11.3 管线性能监视 \r\n 11.4 小结 \r\n第12章 DTS 2000移植和元数据管理 \r\n 12.1 将DTS 2000程序包移植到SSIS \r\n 12.2 使用Package Migration Wizard \r\n 12.3 在SSIS下运行DTS 2000程序包 \r\n 12.4 数据包元数据以及存储管理 \r\n 12.5 小结 \r\n第13章 错误和事件处理 \r\n 13.1 优先约束 \r\n 13.2 事件处理 \r\n 13.3 断点 \r\n 13.4 Checkpoint \r\n 13.5 日志记录 \r\n 13.6 小结 \r\n第14章 对SSIS进行编程和扩展 \r\n 14.1 示例组件 \r\n 14.2 管线组件方法 \r\n 14.3 创建组件 \r\n 14.4 调试组件 \r\n 14.5 小结 \r\n第15章 在组件中添加用户界面 \r\n 15.1 三个关键步骤 \r\n 15.2 创建用户界面 \r\n 15.3 进一步的开发 \r\n 15.4 小结 \r\n第16章 外部管理和WMI任务实现 \r\n 16.1 使用托管代码的外部管理 \r\n 16.2 Application对象维护操作 \r\n 16.3 程序包日志提供程序 \r\n 16.4 程序包配置 \r\n 16.5 WMI任务 \r\n 16.6 小结 \r\n第17章 通过外部应用程序使用SSIS \r\n 17.1 从RSS输入,从Reporting Services报表输出 \r\n 17.2 InfoPath 文档 \r\n 17.3 ASP.NET应用程序 \r\n 17.4 小结 \r\n第18章 SSIS软件开发生命周期 \r\n 18.1 软件开发生命周期介绍\r\n 18.2 版本和源代码管理 \r\n 18.3 代码部署和从开发到测试,再到投入生产的升级过程 \r\n 18.4 小结 \r\n第19章 案例研究:一个编程示例 \r\n 19.1 背景 \r\n 19.2 业务问题 \r\n 19.3 解决方案概述 \r\n 19.4 解决方案体系结构 \r\n 19.5 数据体系结构 \r\n 19.6 CaseStudy_Load程序包 \r\n 19.7 CaseStudy_Process程序包 \r\n 19.8 在SQL Agent中运行 \r\n 19.9 小结
Brian Knight是SQL Server Mvp、MCSE、MCDBA,他是SQLServerCentral.com的共同创办人,目前在Professional Association for SQL Server(PASS)的董事会任职。他在佛罗里达州的Jacksonville开办了一个本地SQL Server用户组(JSSUG)。Brian是SQL Server Standard的专栏作家,同时还维护一个针对数据库Web站点SQL ServerCentral.com的专栏。他是Admin911:SQL Server(由Osborne/McGraw-Hill出版)的作者,同时是Professional SQL Server Dts和Professional SQL Serfer 2005 SSIS(由Wiley出版)的合著者。Brian曾在诸如PASS、SQL Connections和TechEd等大会上做技术演讲。
献给我具有无限耐心的妻子Jennifer
关 于 作 者
Brian Kight是SQL Server MVP、MCSE、MCDBA,他是SQLServerCentral.com的共同创办人,目前在Professional Association for SQL Server(PASS)的董事会任职。他在佛罗里达州的Jacksonville开办了一个本地SQL Server用户组(JSSUG)。Brian是SQL Server Standard的专栏作家,同时还维护一个针对数据库Web站点SQLServerCentral.com的专栏。他是Admin911:SQL Server(由Osborne/McGraw-Hill出版)的作者,同时是Professional SQL Server DTS和Professional SQL Server 2005 SSIS(由Wiley出版)的合著者。Brian曾在诸如PASS、SQL Connections和TechEd等大会上做技术演讲。可在以下网站访问他的博客:
www.whiteknighttechnology.com
Allan Mitchell 是一家基于英国Konesans的咨询公司的共同所有者,专门研究ETL实现和设计。他现在忙于为英国一家顶级投资银行完成一个全国信用卡风险模型项目,同时为客户设计自定义的SSIS组件。
Darren Green是一家基于英国Konesans的顾问公司的共同所有者,专门研究SQL Server,以及DTS和SSIS解决方案。他管理过从版本6.5以来的各种SQL Server数据库系统,在SQL Server的许多方面拥有丰富经验。他同时还负责一个资源站点SQLDTS.com以及SQLIS.com,同时也是一位Microsoft MVP。
Douglas Hinson是任职于Jacksonville,Florida的Hinson&Associates Consulting公司的一位高级架构师,他对数据库开发和软件开发两方面都很精通。Douglas专门研究在多种开发环境下概念化并构建针对薪水扣减、收费、付款、索赔处理等操作的保险业后端解决方案。他还开发过后勤和邮政服务应用程序。
Kathi Kellenberger是一位数据库管理员,任职于Bryan Cave LLP公司,该公司是一家总部位于密苏里州圣路易斯市的国际化法律公司。Kathi多年前在大学里第一次使用Radio Shack TRS-80时便和计算机结下了不解之缘。在从事目前这份工作之前她曾经在卫生保健领域工作了16年。她目前和她的丈夫Dennis、上大学的儿子Andy和一些宠物居住在伊利诺伊州的Edwardsville,她的女儿Denise则和她比邻而居。工作之余,她会为SQLServerCentral.com工作或撰写文章,而其他的空暇时间,她会和她的姐妹们一起徒步旅行、骑自行车或者是在本地的卡拉OK厅唱歌。
Andy Leonard是一位SQL Server DBA、MSCD和工程师,他居住在佛罗里达 州的Jacksonville。Andy管理一个SQL Server DBA团队。他善于开发各种类型的企业 级解决方案,并热衷于开发工业企业的业务智能解决方案。有关他的更多内容可以访问www.andyleonard.net,并且可以通过andy@andyleonard.net来联系他。
Erik Veerman是Solid Quality Learning公司的顾问,该公司位于佐治亚州的亚特兰大市。自从在SQL Server 7.0中第一次发布DTS和OLAP Server起,Eirk便开发过基于Microsoft产品的业务智能以及基于ETL的解决方案,并且与各种客户和各个领域打过交道。他在业界的声誉包括Microsoft世界级BI解决方案年度大奖,以及SQL Server Magazine颁发的Innovator Cup大奖得主。Erik领导了Integration Service第一个产品实现的ETL体系结构和设计工作,并通过Microsoft的SQL Server 2005 reference initiative即REAL项目参与了开发ETL标准以及针对Integration Service的最佳开发方法。
Jason Gerard是Object Future Consulting公司的董事长,该公司是一家软件开发和咨询公司,位于佛罗里达州的Jacksonville(www.objectfuture.com)。Jason是.NET和J2EE技术方面的专家,并且开发过针对卫生保健、金融和保险领域的企业级应用程序。在工作之余,Jason则和他的妻子Sandy、儿子Jakob以及他家的懒狗Tracker一起共享天伦之乐。
HaidongJi(季海东)是MSCD和MCDBA,他是一位在伊利诺伊州芝加哥市工作的高级数据库管理员。他负责管理企业SQL Server系统以及一些位于Unix和Linux平台上的Oracle以及MySQL系统。在从事目前这份工作之前,他是一个专注于Visual Basic、COM和COM+以及SQL Server等领域的开发人员。他还是SQLServerCentral.com网站的专栏作家,这个网站是一个著名的SQL Server门户网站。
Mike Murphy是一位.NET开发人员和MCSD,他以前是一位自动控制系统工程师,目前居住在佛罗里达州的Jacksonville。Mike喜欢跟踪计算机技术的最新进展,和Jacksonville Developer User Group大会(www.jaxdug.com)的同事们交流,并且在时间允许的情况下,驾驶R/C直升机。要联系Mike,可以发电子邮件到mike@murphysgeekdom.com或访问www.murphysgeekdom.com。
致 谢 名 单
责任编辑
Bob Elliott
开发编辑
Brian MacDonald
技术编辑
Slobodan M. Bojanic
James K. Howey
Ted Lee
Runying Mao
Ashwani Nanda
Ashvini Sharma
制作编辑
William A. Barton
文字编辑
出版服务部
编辑经理
Mary Beth Wakefield
制作经理
Tim Tate
副总裁和执委会出版人
Richard Swadley
副总裁和出版人
Joseph B. Wikert
项目协调人
Ryan Steffen
图形和制作专家
Denny Hager
Joyce Haughey
Jennifer Heleine
Barbara Moore
Alicia B. South
质量控制技术员
John Greenough
Brian H. Walls
媒体开发专家
Angela Denny
校对和索引编制
TECHBOOKS制作服务部
致 谢
首先也是最重要的,我要感谢我的妻子在我编写本书的几个月里细心照料我的两个小孩。在此照例要说的是,如果没有我的妻子Jennifer,我什么事也干不成。我很遗憾我能献给她的只是一本技术图书。我要感谢我的两个孩子Colton和Liam,他们和父亲——我在一起时是如此耐心。还要感谢Microsoft的所有朋友(特别是Ash)在我编写本书时所提供的技术帮助。在我们优秀的开发编辑Brian MacDonal的帮助下,本书的质量得以大大提高。再一次,我必须感谢百事可乐公司在我这段时间的日日夜夜给我提供的充足咖啡因。
——Brian Knight
我要感谢我的妻子,有了她一切都变得可能,还感谢我们的孩子Eawn,他是世界上最可爱的宝贝,我可以这么说,不可以吗?我还要感谢Microsoft的SSIS团队,尤其是Donald Farmer、Ashvini Sharma和Kirk Haselden,因为如果没有他们的工作,本书便没有编写的必要。
——Allan Mitchell
我要感谢我的妻子Teri是如此的耐心,而且在我专注编写本书时主动减少了外出购物时间。我还要感谢位于Redmond的团队为我解答了所有的问题,并且如此慷慨地奉献他们的宝贵时间。
——Darren Green
首先,我要感谢上帝给予我的不断祝福。对于我美丽的妻子Misty,感谢你在这个项目期间给予我的支持和理解。你是一位我永远可以依赖的优秀妻子和孩子他妈。对于我的儿子Kyle和女儿Mariah,你们是我的灵感,我爱你们。对于我的父母,我要感谢他们灌输给我关于坚持不懈和辛勤工作的价值观。感谢你Jenny,我的妹妹兼朋友,还要感谢所有其他的家庭成员给予我的爱和支持。谢谢Brian MacDonald、Ashvini Sharma和Allen Mitchell辛勤阅读了我写的章节内容并提供了你们的建议和观点。我要非常感谢本书的作者团队和Brian Kight邀请我加入这个项目并给我这个机会,我十分享受这个过程。
——Douglas Hinson
我要感谢我的家人、朋友和同事给予我的鼓励并和我一起分享我参与此项目的兴奋和喜悦。谢谢Doug Wilmsmeyer在十年前建议我学习VB和SQL Server。感谢我的兄弟Bill Morgan, Jr,他在1996年教授我编程逻辑,并让我第一次尝试ASP编程
无封面