根据Microsoft documentation on DTEXEC for executing SSIS packages:
使用SQL附带的dtexec实用程序的版本时 Server 2012 Integration Services(SSIS)运行SQL Server 2005 Integration Services(SSIS)或SQL Server 2008 Integration Services (SSIS)包,Integration Services临时升级包 到SQL Server 2012 Integration Services(SSIS)。
运行SSIS包时是否有禁用DTEXEC实用程序这一方面的功能?
我提出这个问题的原因是我有一个脚本任务来重命名SSIS包中的一些文件。这在我的本地计算机和同事本地计算机上工作正常,但在将此SSIS包部署到安装了SQL Server 2012的Windows 2012服务器之后,我收到一条错误消息。我真的很困惑,因为我在SQL Server 2012数据工具中编写了这个包,所以这个任务根本不需要升级/迁移,这就是错误抱怨...
警告:2016-04-06 11:29:58.14
代码:0x00000000
来源:DataMergeScriptTask
描述:找到需要迁移的SQL Server Integration Services 2012脚本任务“my_Script_task”!结束警告
错误:2016-04-06 11:30:03.02
代码:0x00000001
来源:DataMergeScriptTask
描述:调用目标抛出了异常。结束错误
答案 0 :(得分:1)
不幸的是我们没有找到脚本任务没有转换到2012的解决方案,因为这些包都是在Data Tools 2012中编写的,打开/重新启动任务似乎并没有真正升级脚本任务的方式在服务器上解决它。
我的解决方案是使用C#脚本并将其转换为独立的.exe,其中包含一些命令行参数,以传递我们的不同参数,并使用默认值来匹配当前环境。然后我将其设置为由Windows任务调度程序作业调用的批处理脚本执行。
我希望找到一个真正的解决方案,以便更大的包中的脚本任务仍然是桃子,但这可能需要更多的时间或重新安装数据工具...拥有多个版本的SQL Server数据工具/我的工作站上的BIDS可能是这种悲伤的原因。更多测试来了!
答案 1 :(得分:0)