【问题标题】:What is the current trend for SQL Server Integration Services?SQL Server 集成服务的当前趋势是什么?
【发布时间】:2009-04-14 11:45:52
【问题描述】:

谁能告诉我 SQL Server 集成服务的当前趋势是什么?它是否比市场上其他可用的 ETL 工具(如 Informatica、Cognos 等)更好?

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    几周前我被介绍给 SSIS。执行摘要:我不太可能在未来的项目中考虑它。

    1. 我很确定,除了极少数情况外,流程图(即非结构化)长期以来一直被认为是一种有效的编程范式。

    2. 如果用户仍然需要像程序员一样思考才能知道将箭头拖到哪里,那么用彩色连接点替换干净的文本(源代码)界面是没有意义的。

    3. 除非通过一种规定的方法,否则您无法访问的程序设计(例如全文搜索、使用替代方法导航、有效的版本控制......)是一个巨大的生产力杀手。也是 RSI 的绝佳来源。

    可能有一个特定的利基市场恰到好处,但我想大多数 ETL 任务很快就会超过它。

    【讨论】:

    • 我经常使用脚本任务。就好像整个代码都是 C#。我问自己,如果是这样,那我为什么还要使用 SSIS 呢?为什么不在 C# 或 VB 中完成所有工作?仅仅通过熟悉 C# 并且手头有一个好的 IDE,我就可以节省很多时间。但是,SSIS 通过执行所有连接处理、结果集缓存等确实节省了时间。这对于只了解基本编程的人尤其有用。从公司的角度来看,他们不必为 ETL 聘请有经验的程序员是件好事。具有基本 SSIS 和 ETL 知识的普通 C# 编码人员即可。
    • 重复性劳损 -- 每天点击 SSIS 中的第 15 个嵌套对话框一千次,您的手臂/手/手指会受到什么伤害。
    【解决方案2】:

    根据我的经验,SSIS 不适用于生产应用程序,原因如下:

    1. 要远程调用 SSIS 包,您必须调用存储过程,该过程调用作业,调用 SSIS
    2. 使用上述方法,不能传入参数。
    3. 传递参数意味着您必须调用本地服务器上的 SSIS - 这意味着运行在远程服务器上的代码必须调用运行在 SQL 服务器上的代码才能执行包。

    我总是更愿意编写特定的代码来处理 ETL 并使用 SSIS 进行一次性转换。

    【讨论】:

    • 刚刚注意到这些反对意见都不是真的(在 2009 年 4 月也不是真的。)
    【解决方案3】:

    在我看来,这是一个相当不错的平台,而且我看到了它的良好进展。许多 2005 版本的 drwabacks 以及社区抱怨的问题,都已在 2008 年得到纠正。

    在我看来,最好的事情是您可以根据需要以有组织的方式使用 SQL 或 .NET 代码对其进行扩展和补充。

    例如,您可以决定在您的解决方案中是需要 80% 的 c# 代码和 20% 的 ETL 组件,还是需要 5% 的 c# 代码和 95% 的 ETL 组件。

    【讨论】:

    • 如果他们有这样的功能就好了——当你点击一个组件时,突出显示与该组件相关的变量。我有更多的想法。但是,我怀疑如果他们添加这些功能,那么该工具可能会变得太慢和令人困惑。它已经是选项和设置的复杂组合。
    【解决方案4】:

    免责声明 - 我为微软工作

    现在是答案

    SSIS 或 SQL Server 集成服务是用于 ETL 操作的出色工具,在市场上有很多应用。除了许可 SQL Server 之外没有额外费用,您还可以使用 .Net 语言编写任务。 http://www.microsoft.com/sqlserver/2008/en/us/integration.aspx http://msdn.microsoft.com/en-us/library/ms141026.aspx

    【讨论】:

      【解决方案5】:

      我会列出好处:

      • 您将 SSIS 用于较大的项目,可能/最好是一次或一次运行,然后使用集成项目数月并进行细微更改;任务、包和一般的一切都很容易阅读(当然,取决于视角)
      • 该工具本身处理计划的运行,向您发送带有日志的邮件,并且 - 只要我的经验达到 - 它与所有其他工具(如 SSAS、SQL Server Management Studio、Microsoft Office Excel、 Access 等,以及其他非 Microsoft 工具)
      • 手动、详细配置的任务似乎在所有方面都承担了责任,只让出错的机会很小
      • 如前所述,新版本修正了许多以前的问题

      我会推荐它用于 ETL,尤其是如果您要继续分析流程,因为 SSIS、SSAS 和 SSRS 工具可以非常顺利地融合在一起。

      缺点:在您习惯之前,调试/查找错误有点困难。

      【讨论】: