我有一个SSIS包,每天运行几个月没有问题。突然间,每天都出现上述错误。据我所知,没有对程序包或它运行的存储过程进行任何更改,也没有对数据库环境进行任何更改,包括拥有该作业的服务帐户的权限。
这是一个连接到SQL Server 2008 R2数据库的SQL Server 2008程序包。配置是通过ssisconfig表,它通过环境变量定义要使用的服务器。
有问题的组件正在使用存储过程。在proc中,所有字段都显式地转换为数据正在暂存的表的相同数据类型。该过程本身运行良好。这是一个相对复杂的proc,它有两个表变量和一个CTE。
我不能在prod上从我的本地运行它并且dev没有失败。如果我在设置为作业所有者使用的环境变量时打开prod SSIS包,则不会在此组件上收到验证错误。此组件的ValidateExternalMetadata设置为true。但是,对于整个包,Delay Validation设置为True。我确实得到了一个验证错误,该错误是在使用在早期任务中动态设置的变量的任务上预期的。但是,此错误比当前失败的步骤要晚许多步骤。
通常在过去,当我们遇到这种非特定错误时,我很容易就能看到导致突然失败的数据问题。但是,对于为该字段的staging表定义的数据类型,proc结果集中的数据都没有接近错误。所有必填字段都没有丢失数据。
我不知道还有什么可以看的。如果环境没有改变,实际代码没有改变,数据看起来正确,还有什么可以尝试?