1

我们在 Visual Studio(2019 社区)中有一个 SSIS 项目,我们使用项目部署将其部署到我们的 SQL 服务器(2016)。我们有几百个包,我们最经常一次部署单个包。

我们一直在一个 Azure Git 主分支中进行大部分开发,因为这些更改与我们的大多数其他开发是分开的。在不同的开发分支中进行了一些更改,然后从那里部署了单个包。它不应该引起问题,因为该单个包是新的并且根本没有在 master 中使用。但是,当部署该单个包时,它从我们的实时服务器中删除了几个新包,这些包已从主分支部署但最初创建时并未在开发分支中。

我认为单个包部署仅部署您选择的单个包或您选择的几个包(如果您选择了其中几个包)。似乎除了部署该软件包之外,它还删除了实时服务器上但不在我们部署的开发分支中的软件包。

我们通过右键单击我们的一个或多个包,然后从上下文菜单中选择“部署包”来从 Visual Studio 进行部署。当我们部署到开发 SQL Server 时,该过程会创建一个 .ispac 文件。该 .ispac 文件被复制到实时服务器,然后直接在实时 SQL 服务器上运行。

这不应该部署所有软件包,对吗?只是那些突出显示的?如果我一次只部署一个包但我在 VS 中的项目中的包与 SSIS 目录中的项目不匹配,它是否会删除丢失的包?

4

1 回答 1

0

这取决于!

对于 2012 年和 2014 年,部署到 SSISDB 的唯一选项是“项目”部署。整个 .ispac 文件将应用于 SSISDB - 无论 package1 是否已更改。

使用 2016+,您可以进行项目或增量包部署。在部署向导的“Review”选项卡的“Summary”部分中,您可以看到命令行指示/ModelType:Package这表明它正在部署包而不是整个项目。参见 https://www.sqlservercentral.com/articles/incremental-package-deployment-%E2%80%93-a-ssis-2016-feature的图 5

如果您从 .ispac 进行部署,那么 Select Source 选项卡中应该有一个选择器(参考文章中未显示),它允许您进行完全或增量部署,但 Review 选项卡中的 ModelType 将确定选择了哪种方法. 我怀疑有人进行了完整/项目部署。

但是,SSISDB 的好处是您可以使用 SSMS 将项目回滚到以前的状态,这样就不会造成伤害、犯规和丢失包。

于 2021-10-08T19:20:36.950 回答