【发布时间】:2016-09-22 12:17:48
【问题描述】:
我有一个 ETL 作业正在运行,它计划在每天凌晨 1 点到晚上 9 点每 5 分钟运行一次。通常执行该包需要 10 分钟,但不幸的是,第一个周期,即凌晨 1 点,从最近几天开始需要 2 小时或 3 小时或 4 小时。当我看到来自集成服务目录的报告时,我看到以下消息:
数据流任务:信息:缓冲区管理器调用 65520 字节的内存分配失败,但无法换出任何缓冲区以缓解内存压力。考虑了 74 个缓冲区并锁定了 72 个。没有足够的内存可供管道使用,因为没有安装足够的内存,其他进程正在使用它,或者太多的缓冲区被锁定
然后:
数据流任务:缓冲区管理器已分配 65520 字节,即使已检测到内存压力并且重复尝试交换缓冲区失败
【问题讨论】:
-
我建议您运行 SQL Profiler 以查看当您遇到这些减速时还会发生什么。此外,任何备份同时运行。还有其他工作可能与您的桌子发生冲突吗?
-
我想到了,但它是一个生产服务器,在 dev 中,ETL 作业运行良好......并且没有其他工作与之冲突@BIDeveloper
标签: sql-server performance ssis-2012 sql-tuning