none
作业调度ssis包,最好要使用的包源是:文件系统。这是我痛苦经历后得到的结论。 RRS feed

  • 常规讨论

  • 这段时间使用作业调度ssis包,被折磨的够呛。数据库是sql2008R2。每天需要准时调度抽取数据到sql2008。

    sql2008提供了3种存储方案: SQL SERVER ;文件系统;ssis包存储区。

    我的做法是连接integration servies,然后在已存储的包,导入包。然后在作业中,来调度在存储区的包。

    刚开始一切ok,随着时间推移,问题来了,因为业务变动要修改包,比如,新加了一张数据表,以及处理过程。结果到第二天一看竟然没有任何变化。根本就没有处理。左想右想搞不明白。

    把微软的文档看了又看,才发现点问题,在vs2008中开发的ssis包,被存储为sql server或者包存储区后,就当前的包完全脱离了关系,所以,无论我如何编辑当前的包,都不回影响这2个存储区的包信息,坑爹的事。

    最后,将作业调度全部的包源改为文件系统,即直接指向vs2008的包,这样,在修改编辑包后,就能直接使用到最新的。

    2014年1月2日 3:25

全部回复

  • 是这样的,如果保存在MSDB当你更新包之后需要重新导入,但是这样也有一个好处,如果你开发环境和部署环境配置不同,你就可以直接导入到MSDN而不用关心Package的具体存储位置。另外数据库迁移也不需要做修改,因为Package本身是存在MSDB的。


    Please Mark As Answer if it is helpful.

    2014年1月2日 3:35
  • 管理的业务库不多的时候,存储在DB中有好处,但是如果比较多业务库的时候,就比较麻烦了,得一个个库去导,不知道有没有简便的办法

    tk

    2014年1月2日 6:50
  • 可以用dtutil 来管理,看到一篇博客借助dtutil 制作的工具完成点击就可以部署的,或许可以帮助你。One-click Deploy SSIS Package from Visual Studio to SQLServer


    Please Mark As Answer if it is helpful.

    2014年1月2日 8:51
  • 我只能呵呵了

    你编辑后,都不deploy的吗?用不着什么工具,Visual Studio/SSDT自己就可以部署的,当然没有One-click那么简单,不过也很简单。

    用Visual Studio写的SSRS, database, cube或者c#project,大家都知道要deploy。


    想不想时已是想,不如不想都不想。

    2014年1月6日 7:22
    版主
  • 我只能呵呵了

    你编辑后,都不deploy的吗?用不着什么工具,Visual Studio/SSDT自己就可以部署的,当然没有One-click那么简单,不过也很简单。

    用Visual Studio写的SSRS, database, cube或者c#project,大家都知道要deploy。


    想不想时已是想,不如不想都不想。

    让你见笑了,以前用sql2000的dts编辑后,就直接可以使用, 这种思路多少对使用ssis有所影响,归根结底,还是学得太少。
    但是,就这个问题而言,我觉得使用包存储区,麻烦修改要导出导入,不如文件系统来得直接,来得快。而且对于客户那边而言到系统报废也不会有迁移的情况。

    2014年1月8日 3:45