SSIS 脚本任务似乎运行,但实际上没有

elt*_*123 5 sql-server ssis

我有一个看起来运行良好的脚本任务,但无论我在里面放什么都没有被执行。我尝试了各种方法:通过内置的 SSIS 日志记录机制进行日志记录,通过附加变量和 SQL 命令任务进行日志记录,但我永远无法弄清楚出了什么问题。我试图放置断点,它在调试过程中不会中断。

这是带有 SQL 2016 的 VS 2015。此问题仅在部署在其中一个 SQL Server上时发生。我以前在该服务器上完全没有问题。我在不同的 SQL 框(相同的配置)上部署了相同的包,它按预期运行。

编辑:为了更好地澄清问题,我启动了一个新的 SSIS 包,其中只有 3 个脚本任务:

测试任务:

    public void Main()
    {
        // TODO: Add your code here

        Dts.TaskResult = (int)ScriptResults.Failure;
    }
Run Code Online (Sandbox Code Playgroud)

测试任务完成后,如果测试成功,则将其链接到“成功任务”,如果失败则链接到“失败任务”。

简单的测试包

在 VS 上,测试任务按预期失败并转到失败任务。但是一旦部署它就停止工作。

VS 上的包执行

SQL 上的包执行

Had*_*adi 3

您可以检查 3 件事:

(1)TargetServerVersion属性

检查您是否选择了合适的TargetServerVersion房产

GoTo Project Properties >> Configuration Properties >> TargetServerVersion
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

(2)ForceExecutionResult属性值

单击Fail Task并按F4显示属性选项卡,检查是否ForceExecutionResult设置为False

(3)以32位模式运行

尝试在 32 位模式下运行该包:

GoTo Project properties >> Debugging >> Run64BitRuntime  = False
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述