介绍 在前两个章节我们,建立了一个新的SSIS包,简单的使用了一下scripting还有优先约束,并且测试了MaxConcurrentExecutables 属性.  同时实验了  “On Success”, “On Completion”, 和“On Failure”几种类型的优先约束. 本文中我们继续深入SSIS工作流管理,学习SSIS变量并且通过表达式来处理复杂的优先约束. 关于变量 打开 Precedence.dtsx package,菜单栏点SSIS下拉菜单,然后选Variables.…
介绍 前一个章节我们对SSIS的优先约束做了初步了解,并且实验了MaxConcurrentExecutables 包属性的设置. 本文将测试“On Success”, “On Completion”, 和“On Failure”几种类型的优先约束. 约束评估 On Success 在此就不重复了,请看上篇文章 On Completion 右击优先约束,会显示配置选项: 图 5 点击 Completion, 优先约束的先会由绿色变为黑色: 图 6 当配置选项改为“On Completion”之后,…
简介 在之前的章节中,我们学习了增量载入数据. 本文中.我们通过优先约束(Precedence Constraints)来管理SSIS的工作流. 添加一个SSIS包 图 1 将新建的Package1.dtsx 改为 Precedence.dtsx  : 图 3 添加 Script Task 拖个 Script Task 到Control Flow: 图 5 Script Task估计是SSIS 里面最强大的组件了.你可以创建很多功能. 同样的,你能通过Script Task 控制SSIS工作流.…
介绍 在前一篇中我们组合了已经学过的事件冒泡 event bubbling, 日志记录 logging, 和父子模型 Parent-Child pattern 建立了自定义的SSIS包日志记录. 本文中, 我们会将我们的解决方案升级至 SQL Server 2012 Integration Services 并且展示 SSIS变量 (SSIS variables), 变量(variable configuration), 以及通过表达式处理动态值 (dynamic value managemen…
介绍 在本文中我们会研究SSIS变量姐妹: SSIS 变量. 我们会演示参数配置,通过包参数管理动态属性值,然后会演示SSIS包执行的时候参数怎么被配置的. SSIS Parameters 101 SSIS参数和SSIS变量很像.  在SSIS 2012里面 变量和参数是可以互换的. 不过有重要的不同点: SSIS包开始执行以后,参数是只读的. 参数的作用域为项目或者包级别. 参数有 Sensitive 属性. 参数有 Required 属性. 因为参数在SSIS包执行的之后参数是只读的.所以参…
介绍 在本文中我们将利用SSIS参数,变量 以及 Foreach Loop Container 从多个源动态导入数据. 开始前我们先下载一些数据.WeatherData_Dec08_Apr09.zip  解压以后我们看到有三个目录数据 Figure 1 每个月年目录包含一个子目录 TH.每个TH 目录包含文件 sensor1-all.csv.  这些文件是 December 2008 至 April 2009 温度和湿度数据. February 2009 的文件包括December 2008 至…
介绍 本文中,我们将结合之前学习的时间冒泡,日志记录,以及复制模型.建立一个自定义的SSIS包日志模型. SSIS Task事件回顾    Reviewing SSIS Task Events 在做实验之前我们更改一下 Precedence.dtsx SSIS 包的设置. 把 Precedence.dtsx SSIS 包的 DisableEventHandlers 属性改为True Figure 2 屏蔽内置日志   Disable Built-In Logging 首先我们要移除已经存在的日志…
介绍 在本文中,我们会实验 MaximumErrorCount和ForceExecutioResult 故障容差属性,并且还要学习Control Flow task errors, event handlers 和 containers 的联系 关于 SSIS Task Errors 打开 Precedence.dtsx 包. 你的Control Flow 显示如下: 图 1 再做测试前我们先调整两个优先约束.   Script Task 4 和 Script Task 3  调整如下: 图 2…
介绍 在本文中,我们要创建一个SSIS Catalog 实例,部署我们的项目,并且运行 weather data loader 包. SSIS 2012 部署模型   SSIS 2012 Deployment Models SQL Server 2012 Integration Services 支持两种部署模型: 包部署模型  Package Deployment Model 项目部署模型  Project Deployment Model 包部署模型是向后兼容的,支持SSIS 2012以前的…
介绍 在前一个章节我们讨论了事先行为,分享了如何操作默认的行为和时间冒泡,并且介绍了父子模型. 本文中,我们会配置SSIS日志. 进行简单及高级日志配置,存储,和检索的实验.并且生成自定义日志信息. More About SSIS Task Events 打开 Precedence.dtsx 包,你 Control Flow 界面应该显示如下: 图 1 在测试之前,我们先来验证或修改一些设置.首先点击  Precedence.dtsx 包 Control Flow界面的空白处,然后在属性面板里面…
介绍 在前一篇文章中我们介绍了故障容差相关的 MaximumErrorCount 和 ForceExecutionResult 属性.  同时我们学习了SSIS Control Flow task errors, containers, 和event handlers联系 . 本篇中我们关注事件行为. 我们用两种方法操纵日志传递(冒泡)行为. 同时也介绍父子模式(Parent-Child pattern )并且演示事件在父子模式中的行为. 关于 SSIS 任务事件 About SSIS Task…
在 dbo.Contact中添加一行记录 Use AdventureWorks go Insert Into dbo.Contact (FirstName, MiddleName, LastName, Email) Values ('Andy', 'Ray', 'Leonard', 'andy.leonard@gmail.com') 把 Data Flow Task 改名为 “Insert and Update Rows.” 然后再拖一个 Data Flow task 并改名为 “Delete…
让我们打开之前的项目:My_First_SSIS_Project_After_Step_2.zip 之前项目中我们已经向dbo.contact 导入了19972行,如果再次执行包会重复导入,让我们来解决这个问题. 增量导入目标 (Incremental Load Goals) 在我们批量处理之前,先来明确下增量导入的目标: 如果数据源中有新纪录,我们要把这些记录导入目的地. 如果数据源中有记录变更,我们要把之前导入目的地的相关记录更新. 如果数据源中的记录被删除,我们要把之前导入目的地的相关记录…
介绍 本文中我们会用SSDT把第一个SSIS项目转换为 SSIS 2012, 为什么要升级到2012? 你可能想使用SSIS 2012新的特性. 又或者想使用 SSIS 2012 Catalog. 想要使用 Catalog, 你的项目必须转为 Project Deployment Model 我们会在本片文章中演示. 开发模型  Deployment Models 在Solution Explorer,里面我们注意到一段文字“(package deployment model)” : Figur…
在本文中, 我们说下增量更新数据:即将数据源中更新了的数据替换掉目标表中对应的数据. 更新代码 操作之前我们先把目标表e (dbo.Contact). 的数据改掉 Use AdventureWorks go Update dbo.Contact Set MiddleName = 'Ray' Where MiddleName Is NULL 打开 My_First_SSIS_Project. 点击  Data Flow 标签. 我们把Level 3的项目文件修改下.双击 Lookup Transf…
When you install SQL Server 2012 and you try to connect to SSIS services, you cannot due to that the SSIS service not running. When you manually try to start the SSIS service the service may fail due to login failure of the service account. By Defaul…
本篇文章是Integration Services系列的第十三篇,详细内容请参考原文. 简介在前一篇我们结合了之前所学的冒泡.日志记录.父子模式创建一个自定义的SSIS包日志记录模式.在这一篇,我们将升级我们的解决方案到SQL Server 2012 Integration Services,演示SSIS变量,变量配置和表达式管理动态值.在前面的练习中我们已经使用过变量,但我们没有深入学习,这一篇,我们将关注SSIS变量.……Getting Starting with the Visual St…
本篇文章是Integration Services系列的第十三篇,详细内容请参考原文. 简介在前一篇我们结合了之前所学的冒泡.日志记录.父子模式创建一个自定义的SSIS包日志记录模式.在这一篇,我们将升级我们的解决方案到SQL Server 2012 Integration Services,演示SSIS变量,变量配置和表达式管理动态值.在前面的练习中我们已经使用过变量,但我们没有深入学习,这一篇,我们将关注SSIS变量.……Getting Starting with the Visual St…
本篇文章是Integration Services系列的第三篇,详细内容请参考原文. 增量加载是什么增量加载仅加载与先前加载差异的.差异包括:->新增的行->更新的行->删除的行通过它的性质,一个增量加载是可重复执行的,意味着你可以一遍遍的执行而不会损坏数据.更有意思是,加载被设计为执行多次,而不会引起服务器进行不必要的或重复的工作.在这一篇及接下来的两篇,我们会学习增加加载中的新增.更新.删除行.本篇我们集中在新增上.To The Keyboard让我们打开第二篇SSIS数据泵中的My…
本篇文章是Integration Services系列的第三篇,详细内容请参考原文. 增量加载是什么增量加载仅加载与先前加载差异的.差异包括:->新增的行->更新的行->删除的行通过它的性质,一个增量加载是可重复执行的,意味着你可以一遍遍的执行而不会损坏数据.更有意思是,加载被设计为执行多次,而不会引起服务器进行不必要的或重复的工作.在这一篇及接下来的两篇,我们会学习增加加载中的新增.更新.删除行.本篇我们集中在新增上.To The Keyboard让我们打开第二篇SSIS数据泵中的My…
本篇文章是Integration Services系列的第十五篇,详细内容请参考原文. 简介在前一篇,我们使用SSDT-BI将第一个SSIS项目My_First_SSIS_Project升级/转换到SSIS 2012.在这一篇,我们将探讨SSIS变量的姊妹:SSIS参数.我们将展示参数配置,通过包参数管理动态属性值,以及在SSIS包执行期间参数是如何配置和使用的.首先在SSDT-BI打开转换过的My_First_SSIS_Project,如图15.1所示:图15.1My_First_SSIS_P…
本篇文章是Integration Services系列的第二篇,详细内容请参考原文. 简介SSIS用于移动数据.数据流任务提供此功能.因为这个原因,当介绍SSIS时我喜欢从数据流任务开始.数据流任务的基础知识我认为从SSIS数据流任务的基础开始有利图2.1 数据流任务在图2.1我们看到一个非常简单的数据流任务:通过OLE DB源从数据库读入数据到数据流任务,然后通过OLE DB目标写入到目标数据库.源和目标适配器通过连接管理器与数据库和其他数据存储区进行交互.现在让我们把焦点放在数据流任务的内部…
本篇文章是Integration Services系列的第一篇,详细内容请参考原文. Integration Services是一种在SQL Server中最受欢迎的子系统.允许你在各种数据源之间提取.转换和加载(ETL)数据,以任何你能想到的编程方式更改数据.你可以用SSIS做下面操作:->执行ETL(提取.转换.加载)操作->传输数据->复制数据库对象->执行FTP操作->处理文件"我之前从来没用过SSIS…"你确定你从来没有使用过?是否对下面界面感到…
本篇文章是Integration Services系列的第十篇,详细内容请参考原文. 简介在前一篇, we introduced fault tolerance by examining methods of task execution state management using the MaximumErrorCount and ForceExecutionResult properties.我们还学习了SSIS控制流任务错误.事件处理程序和容器之间的关系.这一篇我们重点关注事件的行为.在…
本篇文章是Integration Services系列的第十五篇,详细内容请参考原文. 简介在前一篇,我们使用SSDT-BI将第一个SSIS项目My_First_SSIS_Project升级/转换到SSIS 2012.在这一篇,我们将探讨SSIS变量的姊妹:SSIS参数.我们将展示参数配置,通过包参数管理动态属性值,以及在SSIS包执行期间参数是如何配置和使用的.首先在SSDT-BI打开转换过的My_First_SSIS_Project,如图15.1所示:图15.1My_First_SSIS_P…
本篇文章是Integration Services系列的第二篇,详细内容请参考原文. 简介SSIS用于移动数据.数据流任务提供此功能.因为这个原因,当介绍SSIS时我喜欢从数据流任务开始.数据流任务的基础知识我认为从SSIS数据流任务的基础开始有利图2.1 数据流任务在图2.1我们看到一个非常简单的数据流任务:通过OLE DB源从数据库读入数据到数据流任务,然后通过OLE DB目标写入到目标数据库.源和目标适配器通过连接管理器与数据库和其他数据存储区进行交互.现在让我们把焦点放在数据流任务的内部…
本篇文章是Integration Services系列的第一篇,详细内容请参考原文. Integration Services是一种在SQL Server中最受欢迎的子系统.允许你在各种数据源之间提取.转换和加载(ETL)数据,以任何你能想到的编程方式更改数据.你可以用SSIS做下面操作:->执行ETL(提取.转换.加载)操作->传输数据->复制数据库对象->执行FTP操作->处理文件"我之前从来没用过SSIS…"你确定你从来没有使用过?是否对下面界面感到…
note:我也是刚入门的菜鸟,让我们大家一块学习SSIS系统,工作中需要用到SSIS.您的浏览是我更新的最大动力,谢谢!  SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案(包括数据仓库的提取.转换和加载 (ETL) 包)的平台.       第一章 其实就是简单介绍下SSIS的前世今生,以及其主要功能,这里我就不多说废话了,       大家可以参考百度百科的介绍网址:http://baike.baidu.com/…
本篇文章是Integration Services系列的第十四篇,详细内容请参考原文. 简介在前一篇,我们查看了SSIS变量,变量配置和表达式管理动态值.在这一篇,我们使用SQL Server数据商业智能工具(SSDT-BI)或Visual Studio 2012将我们的第一个SSIS项目转换为SSIS 2012.为什么你想升级我们的SSIS项目到2012?你可能想使用SSIS 2012中的新特性.你可能还希望利用SSIS 2012目录.要使用目录,你的项目必须遵循项目部署模型,我们也将在这篇文…
本篇文章是Integration Services系列的第十二篇,详细内容请参考原文. 简介在前一篇文章我们配置了SSIS内置日志记录,演示了简单和高级日志配置,保存并查看日志配置,生成自定义日志消息.在第十篇我们讨论了bubbling事件的行为,分享操纵事件冒泡默认行为的方法,并介绍了父子模式.在这一篇,我们将结合已经学到的知识事件冒泡.日志记录.父子模式创建一个自定义的SSIS包日志记录模式.回顾SSIS任务事件打开Precedence.dtsx包.你的控制流面板应该如图12.1所示:图12…