【问题标题】:SSIS 2012 Workflow Best PracticesSSIS 2012 工作流最佳实践
【发布时间】:2016-10-19 15:03:54
【问题描述】:

我不清楚应该如何在企业环境中使用 SQL Server 2012/2014 中 SSIS 的新功能。具体来说,我指的是项目部署模型、项目参数、环境等。我们使用三层环境工作流;在开发中进行开发,在 QA 中进行测试和登台,在生产中进行生产。开发人员只能访问开发环境。 DBA 将代码迁移到其他环境。所有源代码都保存在 TFS 中。

使用这些新功能的预期工作流程是什么?如果开发者开发项目/包,是开发者将项目部署到 SSISDB 还是在签入源后停止? DBA 在哪里出现?哪个环境包含 SSISDB?项目/包如何部署到其他环境?

互联网上似乎发布了许多“操作方法”,但我很难找到一个处理业务工作流最佳实践的方法。任何人都可以建议有关此主题的文章的链接吗?

谢谢。

【问题讨论】:

    标签: sql-server tfs ssis bids ssis-2012


    【解决方案1】:

    使用这些新功能的预期工作流程是什么?

    由企业决定如何使用它们。

    如果开发者开发项目/包,是开发者将项目部署到 SSISDB 还是在签入源后停止? DBA 在哪里出现?哪个环境包含 SSISDB?项目/包如何部署到其他环境?

    这确实取决于。我主张开发人员在服务器的开发层中拥有系统管理员权限。如果他们破坏了它,他们就会修复它(或者如果他们真的搞砸了它,我们会重新映像服务器)。在这种情况下,他们开发实施过程并使用部署到开发来模拟 DBA 在部署到所有其他预生产和生产环境时将采取的行动。这通常满足您最喜欢的监管标准(SOX/SAS70/HIPPA/CPI/等),因为创建作品的人和安装作品的人不同。

    使用项目部署模型的 SSIS 包的可交付工作单元是什么?它是一个 .ispac 文件。这是一个包含清单、项目级参数、项目级连接管理器和 SSIS 包的自包含 zip 文件。

    如何生成取决于您。也许您签入了 ispac,这就是部署到您的环境中的内容。也许 DBA 从源代码管理中打开解决方案并构建自己的 ispac。也许您正在运行持续集成、CI,然后单击一个按钮,一些自动化过程会生成和部署 ispac。

    这是等式的 1/3。在 SSISDB 方面,您可能希望创建一个 Environment 并使用变量值填充它。诸如连接字符串和文件路径以及用户名和密码之类的东西。当您开始创建这些东西时,请单击“创建脚本到新窗口”按钮!否则,当您进入新环境时,您将不得不重新输入所有数据。我希望您的开发人员将这些脚本检查到源代码管理中。对于密码,请清除该值并在部署清单中记下他们需要在混合 F5 之前修复该问题。

    您还需要 SQL 脚本在 SSISDB 中创建结构(文件夹),以便将项目部署到其中。部署后,您需要将在上一步中创建的环境值应用到新部署的项目。把那些也存起来。

    我会让每个环境都包含一个 SSISDB。我不希望错过的配置允许生产层中的流程跨越到开发层并提取数据。我看过,不好看当代码部署到 QA/Stage 层时,我们很快就会发现我们是否错过了某个地方的连接字符串,因为开发服务器拒绝了来自 QA 的连接。这意味着我们的 SQL 实例并非都在同一个服务器帐户下运行。每一层都有自己的帐户:domain\SQLServer_DEV、domain\SQLServer_QA、domain\SQLServer_PROD 尽你所能防止自己过得不好。如果您在所有层中使用单个/共享的 SSISDB,它可以工作,但您将不得不投入更多的精力来确保软件包始终在应用正确的配置环境下运行,以免坏事发生了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多