SSIS 2012 工作流最佳实践

SSIS 2012 Workflow Best Practices

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

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

Internet 上似乎发布了很多“操作方法”,但我正在努力寻找处理业务工作流最佳实践的方法。谁能建议 link 关于这个主题的文章?

谢谢。

What is the intended workflow using these new features?

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

If a developer develops the project/package, does the developer deploy the project to the SSISDB or does the developer stop after checking in the source? Where does the DBA come into the picture? Which environment contains SSISDB? How does the project/package get deployed to the other environments?

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

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

如何生成取决于您。也许您签入了 ispac,这就是部署到您的环境中的内容。也许 DBA 从源代码控制中打开解决方案并构建他们自己的 ispac。也许你有持续集成,CI,运行ning,你点击一个按钮,一些自动化流程生成并部署 ispac。

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

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

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