我们将包从 Visual Studio 2012 迁移到 2017 ssis 工具箱中没有 cdc 源组件:
cdc 源组件如下所示:
而且也打不开。
如果我创建一个新的 Visual Studio 2017 项目,它在 ssis 工具箱中有 cdc 源组件:
我可以使用它:
我们将包从 Visual Studio 2012 迁移到 2017 ssis 工具箱中没有 cdc 源组件:
cdc 源组件如下所示:
而且也打不开。
如果我创建一个新的 Visual Studio 2017 项目,它在 ssis 工具箱中有 cdc 源组件:
我可以使用它:
我对这个问题进行了一些研究,发现有些人只需将软件包的目标版本从 2012 年更改为 2016 年,就可以成功迁移软件包。看看这篇博文以了解它的实际效果。
首先,把升级结果贴出来比较好,这样可以更清楚的说明问题。此外,升级操作并不总是 100% 工作,升级包后我遇到了很多问题,这在很多时候导致从头开始重新创建包。
.dtsx 文件以 XML 编写
我可以建议的一件事是,创建一个包含具有相同配置的 CDC Source 的 ssis 2017 包,并使用文本编辑器打开两个 dtsx 文件(新包和升级包),并比较两种 XML 语法CDC Source
,我可以引导你对问题的原因
比较 PackageFormatVersion、VersionBuild 和其他属性可能会导致问题
也尝试比较两个包的版本信息,所以从PackageFormatVersion
(如果两个包之间相同,这意味着它们都针对 SQL Server 2012,所以你需要在解决方案属性中更改目标版本)和其他字段,你可以了解是否有任何差异,否则可能会导致您遇到问题。
在我对以下问题的回答中阅读有关获取包信息的更多信息:Automate Version number Retrieval from .Dtsx files
另请阅读此Microsoft 文章- Integration Services 项目中的版本目标部分中有关更改目标版本的更多信息
如果第一个建议都没有将您引向问题原因,那么我没有找到确切的原因。但是我发现一些链接在升级 SQL Server 或部署在具有不同 SQL Server 版本的机器上时显示了一些问题——我不能肯定这是 100% 正确的——但我认为关于 CDC 的许多问题不是由微软修复。
您可以从以下链接中看到这一点,例如: