我的 SSIS 包的 SQL Server 版本是什么?

问题描述 投票:0回答:1

是否有

PackageFormatVersion
的 SSIS 包及其兼容的 SQL Server 版本的列表?

我有一个

.dtsx
包要从 SQL Server 2008 中的作业在 SQL Server 2012 中运行。

但它显示此错误:

所以我将其从版本 8 迁移到版本 6。这有效吗?

.dtsx
软件包版本的完整列表吗?

sql-server ssis jobs
1个回答
0
投票
  • SQL Server 2005,运行 SQL Server 2005 包。
  • SQL Server 2008/2008 R2 运行 SQL Server 2008/R2 包,如果存在 SQL Server 2005 包,则会将内存中的它们更新为 2008 格式,执行它们,然后丢弃升级的包信息
  • SQL Server 2012,运行 2012、2008/R2、2005 包
  • SQL Server 2014 RTM 运行 2014、2012、2008/R2、2005 包
  • SQL Server 2016 引入了向前和向后兼容包的功能(如果适用)。开发人员很高兴,因为他们只需要当前版本的 Visual Studio 和 SSIS 工具,并且可以只针对旧版本。瞧,大家都很高兴,人们确实享用了羔羊、树懒、鲤鱼、凤尾鱼、猩猩、早餐麦片和果蝠……

在您的错误消息中,您正在运行 SQL Server 2008 R2(如 10.50.6560 所示)dtexec.exe 进程,并且它正在尝试运行该包的 2012 版本,这不是一个选项。

我认为你有两个选择。第一个是在 2008 年重写 2012 年的软件包,因为没有降级选项。这飞跃太大了。以前,我会告诉人们将包逆向工程到 Biml 中,然后在 Visual Studio 2008/2010 中发出包(无论它是什么),看看是否有效。但我认为 Varigence 不再支持 2008 目标,您需要 SQL Server 2008 R2 安装介质才能在计算机上安装 Business Intelligence Design Studio (BIDS) 来编写包。

希望选项 2 实际上适合您。如果该软件包安装在 2012 年的计算机上,并进一步假设它位于 SSISDB 目录中,那么您只需解决在 2012 年运行 2008R2 的存储过程的问题。 https://learn.microsoft.com/en-us /sql/integration-services/system-stored-procedures/catalog-create-execution-ssisdb-database?view=sql-server-ver16 这可能是一个链接服务器,但您可以通过作业实现它。 2008R2 盒子将负责告诉您需要运行的包,但您必须确保执行 SSIS 包的位源自 2012

最后,虽然 SQL Server 2008 R2 不再受支持,但他们今年确实为其发布了安全补丁,将其升级到 10.50.6785.2 https://support.microsoft.com/en-us/help/5021112

© www.soinside.com 2019 - 2024. All rights reserved.