Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql CDC的SSIS包内存问题_Sql_Sql Server_Ssis_Cdc - Fatal编程技术网

Sql CDC的SSIS包内存问题

Sql CDC的SSIS包内存问题,sql,sql-server,ssis,cdc,Sql,Sql Server,Ssis,Cdc,我们最近在SQLServer2008中实现了CDC。直到最后一周,死刑执行情况良好。但前天,服务器出现内存不足问题。它说从CDC创建的临时文件使服务器硬盘满了。我们有解决这个问题的办法吗。CDC一完成,临时文件就会被删除,但由于这会创建大量临时文件,因此会出现输出或内存问题 是否可以优化CDC软件包,使其在进行大量更新时消耗更少的内存。您的软件包使用的内存超过了服务器可以分配的内存。当这种情况发生时,它会在磁盘上创建临时文件以应对内存情况。默认情况下,这将写入数据流任务中的BufferTempS

我们最近在SQLServer2008中实现了CDC。直到最后一周,死刑执行情况良好。但前天,服务器出现内存不足问题。它说从CDC创建的临时文件使服务器硬盘满了。我们有解决这个问题的办法吗。CDC一完成,临时文件就会被删除,但由于这会创建大量临时文件,因此会出现输出或内存问题


是否可以优化CDC软件包,使其在进行大量更新时消耗更少的内存。

您的软件包使用的内存超过了服务器可以分配的内存。当这种情况发生时,它会在磁盘上创建临时文件以应对内存情况。默认情况下,这将写入数据流任务中的
BufferTempStoragePath
值。如果未提供此值,则这些文件将默认为操作系统的临时文件位置。这是典型的C:填充时会导致不稳定。那太糟糕了(tm)

发生这种情况时,您有4个选项

  • 更改每个数据流任务的属性,以明确定义BufferTempStoragePath的位置。这通常对进程的影响最小,但不能解决分页到磁盘的根本原因
  • 重新编写整个包,以便在触发此数据流时不会发生并行操作
  • 将BufferRows(近似值)调整为较小的数字,以允许较少的行进入管道,从而减少分页
  • 修改数据流以使用更少的异步转换。这是识别内存密集型转换的良好起点
  • 关于缓冲区位置的引用