【问题标题】:SSIS Package Execution taking long time (Not frequently)SSIS 包执行需要很长时间(不经常)
【发布时间】: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


【解决方案1】:

您能否停止您的 SSIS 包或 SQL 作业一段时间并在您的数据库服务器上执行 Pro 缓存刷新;完成后可以尝试重新运行包吗?

否则尝试与 DBA 团队联系并在 TempDB 中执行一些清理,尝试找出 TempDB 中是否有足够的空间;如果不尝试缩小 TempDB 中的空间并尝试手动运行 SSIS 包?

如果一切都失败了,请检查您的 Prod DB 服务器是否有内存压力/RAM 使用/CPU 处理时间?

【讨论】:

    猜你喜欢
    • 2021-12-11
    • 2012-12-03
    • 2011-03-14
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多