如何解决数据流任务失败,因为TempDB已满
我的OLE DB源查询如下所示:
select a,b,sum(c)
from(select a,c from t1 union all
select a,c from t2 union all
select a,c from t3) a
inner join t2 on ...
group by a,b
它给了我以下错误:
SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E14。 OLE DB记录可用。源:“ Microsoft SQL Server本机客户端11.0”结果:0x80040E14说明:“警告:通过聚合或其他SET操作消除了空值。 OLE DB记录可用。源:“ Microsoft SQL Server本机客户端11.0”结果:0x80040E14说明:“由于文件组'DEFAULT'中的磁盘空间不足,无法为数据库'TEMPDB'分配新页。通过在文件组中删除对象来创建必要的空间,并添加文件组中添加其他文件,或为文件组中的现有文件设置自动增长。”
源表并不大,它们之间大约有3M行。知道我该如何处理tempdb错误吗?
解决方法
预聚合表可能帮助:
select a,b,sum(c)
from ((select a,sum(c) as c
from t1
group by a,b
) union all
(select a,sum(c) as c
from t2
group by a,sum(c)
from t3
group by a,b
)
) t inner join
t2
on ...
group by a,b;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。