SSIS总共调用四个子包,好像是随机停在任何一个子包上,但是调用一个,两个,
三个包执行的时候能够成功,就是不能四个子包同时调用,服务器内存16G,
分配SQLServer 11G,SQLServer版本SQLServer2012 Enterprise(64-bit)
11.0.3000.0;操作系统Windows Server2012 Datacenter;各位大侠帮帮忙
客官, 上日志……
ssis的。
windows系统的。
Windowns日志
- System
- Provider
[ Name] MSSQLSERVER
- EventID 19019
[ Qualifiers] 16384
Level 2
Task 2
Keywords 0x80000000000000
- TimeCreated
[ SystemTime] 2015-01-22T02:19:56.000000000Z
EventRecordID 76571
Channel Application
Computer h3cfinbi03-db.h3c.huawei-3com.com
Security
- EventData
MSSQLSERVER 服务意外终止.
B9370000190000000E000000480033004300460049004E0042004900300033002D00440042000000070000006D00610073007400650072000000
--------------------------------------------------------------------------------
二进制数据:
以字为单位
0000: 000037B9 00000019 0000000E 00330048
0008: 00460043 004E0049 00490042 00330030
0010: 0044002D 00000042 00000007 0061006D
0018: 00740073 00720065 0000
以字节为单位
0000: B9 37 00 00 19 00 00 00 ¹7......
0008: 0E 00 00 00 48 00 33 00 ....H.3.
0010: 43 00 46 00 49 00 4E 00 C.F.I.N.
0018: 42 00 49 00 30 00 33 00 B.I.0.3.
0020: 2D 00 44 00 42 00 00 00 -.D.B...
0028: 07 00 00 00 6D 00 61 00 ....m.a.
0030: 73 00 74 00 65 00 72 00 s.t.e.r.
0038: 00 00 ..
SSIS日志:
[Analysis Services 执行 DDL 任务] 错误: 内部错误: 操作未能成功,已终止。
[Analysis Services 执行 DDL 任务] 错误: OLE DB 错误: OLE DB 或 ODBC 错误 : [DBNETLIB][ConnectionRead (recv()).]一般性网络错误。请检查网络文档。; 08S01。
[日志提供程序“用于 SQL Server 的 SSIS 日志提供程序1”] 错误: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。
已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“通讯链接失败”。
==============================
@安思竹: 08S01 0x80004005 这些都说明你的网络有问题。
@问天何必: 那为什么单独执行的能够成功,四个子包一起调用的时候网络就会出问题,我理解的是SQLSERVER服务意外停止才会在SSIS里面出现通讯连接失败
@安思竹: 四个子包一起调用, 是怎么调用的?
@问天何必: 不好意思有可能是我描述有问题,放在一个包中分四步依次执行,任意执行其中的一个,两个,三个都可以成功,就是不能同时四个包在同同一个任务中完成
@安思竹: 不知道你包里在干什么? 四个包一起绝对会报错?
@问天何必: 四个包一起就会报错,第一个包是从ERP提取数据到临时资料库,第二个包是将数据从临时资料库导入到ODS资料库,第三个包是将资料导入到DW资料库,第三个包里面有十五个查找,有的关联维度表数据有点大,事实表130多万数据,第四个包是刷新CUBE,CUBE的大小为2G;现在不能确定是否是内存不足的原因,我将第三个包的数据处理直接写在存储过程里面或者是拆成四个包分开处理还是会报错。将CUBE的刷新方式改为只处理更新还是不行,所以现在有点没辙了。
@问天何必: @问天何必: 四个包一起就会报错,第一个包是从ERP提取数据到临时资料库,第二个包是将数据从临时资料库导入到ODS资料库,第三个包是将资料导入到DW资料库,第三个包里面有十五个查找,有的关联维度表数据有点大,事实表一次需要处理130多万数据,第四个包是刷新CUBE,CUBE的大小为2G;现在不能确定是否是内存不足的原因,我将第三个包的数据处理直接写在存储过程里面或者是拆成四个包分开处理还是会报错。将CUBE的刷新方式改为只处理更新还是不行,所以现在有点没辙了。
下面是Windows日志截图,根据这个日志在网上搜了下也没有找到是什么原因造成的,SSIS日志只是记录通讯连接失败。大神求帮忙!
@安思竹: 同个服务器还是远程服务器?
你包里面导数据、分析之类的是自己写的脚本任务?
@问天何必: 同一个服务器,不是脚本任务,使用SSIS自带的组件
@安思竹: 数据库呢? 防火墙呢?
@问天何必: 数据库也在本地
@安思竹: 如果没有这个作业sql是不会停止的?
@问天何必: 我查看Windowns日志发现以前也会出现意外重启的情况,但不知道是不是这个SSIS引起的,那时是别人在负责这个系统,感觉是内存原因,每次执行到可以用内快没有时一会就自动重启了,毕竟只有16G的服务器内存要处理亿级的数据还是有点难度的。
@安思竹: 那你就不要用ssis自带的组件, 自己写脚本, 分析脚本的执行时长,状态, 效率等。 这样可以更快的找出问题。
@问天何必: 测试过了问题依旧,自己写的存储过程处理数据跟使用组件的时间差不多,监控内存时变化与使用组件时的变化基本一样
@问天何必: @问天何必: 之前测试过了问题依旧,自己写的存储过程处理数据跟使用组件的时间差不多,监控内存时变化与使用组件时的变化基本一样
@安思竹: 自己写的存储过程处理数据 还是会让sql 服务终止?
@问天何必: 是的,
@安思竹: 每次处理的数据太多了, 能更细分么? 在流程上操作
@问天何必: 现在正在设计使用循环去处理数据,不过感觉用处不大,因为之前我把处理最大数据量的流程拆分成了四步还是不行,在刷新CUBE的时候还是会重启,
@安思竹: cube是增量更新的吗
@问天何必: 全量更新,我把Cube处理选项改为增量更新(处理数据),维度改为处理更新后还是不行