SSIS 2012工作流程最佳实践

时间:2016-06-17 17:36:10

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

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

使用这些新功能的预期工作流程是什么?如果开发人员开发项目/包,开发人员是否将项目部署到SSISDB,或者在检查源代码后开发人员是否停止? DBA在哪里?哪个环境包含SSISDB?项目/包如何部署到其他环境?

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

感谢。

1 个答案:

答案 0 :(得分:2)

  

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

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

  

如果开发人员开发项目/包,开发人员是否将项目部署到SSISDB,或者在检查源代码后开发人员是否停止?   DBA在哪里?哪个环境包含SSISDB?项目/包如何部署到其他环境?

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

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

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

这个等式的1/3。从SSISDB方面,您可能希望创建一个Environment并使用变量值填充它。像连接字符串和文件路径和用户名和&密码。当您开始创建这些东西时,请单击“创建脚本到新窗口”按钮!否则,当您升级到新环境时,您将不得不重新输入所有数据。我希望您的开发人员将这些脚本检查到源代码管理中。对于密码,请清空值并在部署清单中做出注释,以便在粘贴F5之前修复它们。

您还需要SQL Scripts在SSISDB中创建要部署的项目的结构(文件夹)。部署后,您将要将在上一步中创建的环境值应用于新部署的项目。保存这些。

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