Sql server 用于执行任务的SSIDB v MSDB部署

Sql server 用于执行任务的SSIDB v MSDB部署,sql-server,database,deployment,ssis,Sql Server,Database,Deployment,Ssis,我从上次的数据仓库实现中获得了一些旧的SQL server 2012解决方案文件,并决定尝试在SQL 2019中使用它们。整个部署过程都不起作用,所以我升级了所有包&然后制定了一个新的2019解决方案,并开始添加所有现有包 问题是,我是在Cognos工具中开发DWs的,所以我当时正在掌握MS的工作方式&基于包的配置部署是原始设置,我不知道它们是否已导入到新解决方案中的包或项目部署模型中,但我已将它们部署到IS目录SSIDB中 我从来没有真正理解过整个部署,因为为什么要创建一个要部署到的SSIDB

我从上次的数据仓库实现中获得了一些旧的SQL server 2012解决方案文件,并决定尝试在SQL 2019中使用它们。整个部署过程都不起作用,所以我升级了所有包&然后制定了一个新的2019解决方案,并开始添加所有现有包

问题是,我是在Cognos工具中开发DWs的,所以我当时正在掌握MS的工作方式&基于包的配置部署是原始设置,我不知道它们是否已导入到新解决方案中的包或项目部署模型中,但我已将它们部署到IS目录SSIDB中

我从来没有真正理解过整个部署,因为为什么要创建一个要部署到的SSIDB(似乎是在解决方案文件中单击鼠标右键),但当您在包中放置“执行包任务”时,您必须从本地文件或MSDB上的包存储中选择包。。。为什么不从SSIDB执行包?这意味着现在必须将所有这些软件包逐个复制到MSDB软件包存储中,并制定维护计划将所有软件包修改部署到SSIDB,然后还要记住将其上载到MSDB

有谁能证实我的理解是正确的,我们到底为什么要这样做?
谢谢你的帮助,这里有很多东西要打开

SSIDB SSIDB是一个定制数据库,用于管理项目部署模型包。其中的许多好处包括:版本化部署、本机包执行、统一的日志记录方法以及简化且安全的配置方法

SSIDB存储一个项目(可部署单元具有.ispac扩展名)。项目是包、项目参数、项目级连接管理器(如果有)和元数据文件。MSDB存储软件包

部署包部署模型的机制是进程
dtutil.exe
。部署项目部署模型的机制是过程
ISDeploymentWizard.exe
Visual Studio将提供将项目部署模型部署到SSIDB的功能,但在幕后,过程将是ISDeploymentWizard

我不理解您部署到msdb以运行部署到SSIDB的维护计划。这不是我15年来使用SSIS和8年来使用项目部署模型所遇到的问题。您只需将项目部署到SSIDB

执行包任务 执行包任务是一个包运行另一个包的机制。在包部署模型中,必须指定通过文件连接管理器或数据库(此处按内存)查找包的位置。当您启动它时,您可以指定它是在进程中(等待它完成)还是在进程外(启动并忘记)

在项目部署模型中,您还有一个项目参考包的附加选项。当您使用它时,您不会指定包的位置,因为它就在这里,在我们的.ispac文件的可部署量程中

如果您考虑软件包部署模型,我可能有10个软件包,它们都集中在VisualStudio项目中的一个销售功能上。他们只是“在一起”,因为我有他们这样。一旦VisualStudio关闭,它们之间就没有强制/信任关系。我可以将3个包部署到文件系统,3个部署到SSIS包存储(也是文件系统,但是预定义的位置),4个部署到msdb。或者只需为每个包创建一个自定义文件夹,并将所有文件部署到文件系统。关键是,package1不能假定package2位于与其相对的位置

项目部署模型确保关系存在于SSIS项目范围之外。这使您能够设计在运行或使用共享资源(如连接管理器或项目范围的属性(参数))时使用参数的包

您可以拥有一个包部署模型包,该包期望传入一个运行时变量来覆盖一个设计时变量,但执行包任务不允许这样的粒度级别

但是我想执行一个不同项目中的包,并使用项目部署模型 在这个场景中,您没有到达执行包任务。相反,您需要一个OLE/ADO/I-guess-ODBC-will-work-but-will-not-recommended连接管理器来管理SSIDB,然后启动正确的TSQL语句


  • 如果要等待子包运行,则可能需要其中至少有一个参数具有同步设置。否则,当它完成时,您将不知道它是否完成。也许这对你的工作没关系。

    这是最初的大脑转储,我需要回去工作,但我很高兴通过更有针对性的解释来完善/增强这一点。感谢billinkc的输入,很多都是我无法理解的,比如说参数,我现在甚至不知道这是否是一个项目部署模型,或者,这是否意味着如果它已经进入了SSIDB,那么它肯定是项目部署模型?这是否意味着我有一个ispac文件?但是,我从您所说的中得到的第一件事是基本上不使用执行包任务,而是使用执行sql任务连接到SSIDB,这正是我所做的&从那里执行包的存储过程。与所有链接到integration services仪表板的系统日志记录和报告一起工作非常有魅力……如果您拿走建议以避免执行包任务,那不是我的意图。很抱歉我在这件事上沟通不好。如果你能知道为什么你认为执行包任务有什么好处,我会很高兴的?如果使用execute package task,则不会从目录中执行该包,这意味着它不会绑定到integration services仪表板中,这是非常有用的