SQL Server 2016 SSIS包失败,出现“意外终止”

时间:2017-12-06 16:47:48

标签: sql-server ssis etl sql-server-2016

我有一个部署到SQL Server 2016的Integration Services项目。 在这个项目中,我使用Oracle Provider for OLEDB从旧的Oracle数据库中提取数据。 extract包基本上截断目标(SQL Server 2016)数据库中的表,然后使用数据流任务提取大约300,000行和大约80列的表(基本上只是在SQL Server上创建一个副本)。

使用Visual Studio运行包时,我们从未遇到过任何问题。但是当从SSISDB运行包大约一半时,包失败并出现“意外错误”。 SSIS日志中没有任何内容。

查看事件日志会发现以下错误:

  

错误应用程序名称:ISServerExec.exe,版本:13.0.4457.0,时间戳:0x5a0384d1   错误模块名称:KERNELBASE.dll,版本:6.3.9600.18666,时间戳:0x58f32841   异常代码:0xc0000005   故障偏移:0x00015608   错误进程id:0x37e8   错误应用程序启动时间:0x01d36de21b43d295   错误应用程序路径:C:\ Program Files(x86)\ Microsoft SQL Server \ 130 \ DTS \ Binn \ ISServerExec.exe   错误模块路径:C:\ Windows \ SYSTEM32 \ KERNELBASE.dll   报告ID:71f91df2-d9d5-11e7-80d7-005056a12e2d   错误包全名:   错误的包相关应用程序ID:

我在SQL Server 2012中发现了此问题的注释,其中包含Microsoft的修补程序,但SQL Server 2016没有。

我尝试过的事情:

  1. 将sql server 2016更新到最新版本
  2. 将sql server agent用户更改为本地管理员。
  3. 更改缓冲区大小和行
  4. 将最大并发执行次数从-1更改为1 (此处我一次不会运行多于1个包)
  5. 我还注意到失败有时会在大约40秒后发生(这也是它成功运行所需的时间),有时它会持续大约8-10分钟,即使错误记录的时间大约是40秒它开始了。

    感谢您的帮助。

    更新 我认为这是一个性能问题。当我将从330K加载的行数减少到20K时,它可以100%的时间工作。 因此我将其更改为逐步加载(对于单个包,我认为添加RAM不是一个好主意。)

    谢谢大家。

0 个答案:

没有答案