【发布时间】:2021-05-21 13:16:41
【问题描述】:
我遇到了 SSIS 数据流问题。我只是想将平面文件加载到表中。从一个 6 列 2600 行的小文件加载到一个完全相同的表是非常简单的。没有转型,直接上桌。
问题是,对于数据流,加载文件需要 6 分钟。如果我用 SQL Server 文件导入器导入它,只需要几秒钟。
为了解决问题,我尝试在数据流上将延迟验证设置为 true。我已在平面文件源和 OLE DB 目标上将 ValidateExternalMetadata 设置为 false。我什至尝试将 Data Flow Transactions 属性从 Serializable 设置为 Read Committed 和 Read Uncommitted。
在执行日志中,我只看到一个警告并且没有错误。警告是:
[SSIS.Pipeline] 警告:警告:无法打开全局共享内存 与性能 DLL 通信;数据流性能计数器 不可用。要解决,请以管理员身份运行此包, 或在系统的控制台上。
我所读到的有关此警告的任何信息都不会表明它会影响性能。今天晚些时候,我将尝试在 DBA 可用时以管理员身份运行它。
有趣的是,它看起来像是立即将行发送到缓冲区,但在 6 分钟内没有将它们写入表。请参阅下面的屏幕截图。
【问题讨论】:
标签: sql-server ssis sql-server-2016