我不清楚如何在企业环境中使用SQL Server 2012/2014中的SSIS新功能。具体来说,我指的是项目部署模型,项目参数,环境等。我们使用三层环境工作流。在开发,测试和分阶段开发质量检查以及生产中的生产。开发人员只能访问开发环境。DBA的代码迁移到其他环境。所有来源都保存在TFS中。
使用这些新功能的预期工作流程是什么?如果开发人员开发了项目/软件包,开发人员是否将项目部署到SSISDB,或者开发人员在检查源后是否停止?DBA从哪里进入图片?哪个环境包含SSISDB?项目/软件包如何部署到其他环境?
似乎在互联网上出版了许多"操作方法",但我正在努力寻找一种处理业务工作流最佳实践的方法。谁能提出有关此主题的文章的链接?
谢谢。
使用这些新功能的预期工作流程是什么?
确定他们将如何使用它们取决于企业。
如果开发人员开发了项目/软件包,开发人员是否将项目部署到SSISDB,或者开发人员在检查源后是否停止? DBA从哪里进入图片?哪个环境包含SSISDB?项目/软件包如何部署到其他环境?
这确实取决于。我主张开发人员在服务器开发层中拥有Sysadmin权利。如果他们将其打破,他们将修复它(或者他们真的仔细研究了它,我们会重新对象)。在这种情况下,他们开发了实施过程,并使用部署进行开发,以模拟DBA部署到所有其他预生产和生产环境时将采取的动作。这通常满足您最喜欢的监管标准(SOX/SAS70/HIPPA/CPI/等),因为创建工作的那些是与安装它的工作相同的。
使用项目部署模型,SSIS软件包的可交付单元是什么?这是一个.ISPAC文件。这是一个自我包含的邮政编码,具有明显的项目级别参数,项目级别连接管理器和SSIS软件包。
您如何产生这取决于您。也许您检查了ISPAC,这就是部署到您的环境中的内容。也许DBA从源控制打开解决方案并构建自己的ISPAC。也许您有连续的集成,CI,运行,然后单击一个按钮,并且某些自动化过程会生成并部署ISPAC。
这是方程的1/3。从SSISDB侧,您可能想创建一个环境并以可变值填充它。诸如连接字符串和文件路径以及用户名&密码。当您开始创建这些内容时,请单击"创建脚本"到新的窗口按钮!否则,当您升级到新的环境时,您将不得不重新输入所有数据。我希望您的开发人员将这些脚本检查到源控制中。对于密码,将值清晰,并在部署清单中做笔记,他们需要在捣碎F5之前对其进行修复。
您还需要SQL脚本来在SSISDB中创建结构(文件夹),以便将其部署到该项目中。部署后,您将需要将上一步中创建的环境值应用于新部署的项目。也保存这些。
我每个环境都包含一个SSISDB。我不希望错过的配置允许生产层中的一个过程到达开发层并提取数据。我已经看到,这不是很漂亮。当将代码部署到QA/阶段层时,我们很快就会发现我们是否错过了连接字符串,因为开发服务器拒绝了QA的连接。这意味着我们的SQL实例并非在同一服务器帐户下运行。每个层都有自己的帐户:domain sqlserver_dev,域 sqlserver_qa,域 sqlserver_prod竭尽所能防止自己度过糟糕的一天。如果您在所有层中使用单个/共享的SSISDB,则可以使用它,但是您将不得不投入更多的能量,以确保包裹始终使用正确的配置环境运行,以免坏事发生。