SQL Server丢失记录?

时间:2016-10-28 18:45:55

标签: sql sql-server

这里有一个奇怪的问题:当运行BULK INSERT从一个巨大的文本文件中向表中添加2000万条左右的记录时,在它运行一段时间后,就会有2,500,000行。 ..我再看15分钟就有2,200,000行...不久之后有2,000,000行。在BULK INSERT期间,记录的数量如何变为DOWN?我注意到我也收到了几个DISK FULL警告。当驱动器满载时,SQL Server是否以某种方式开始删除记录?救命啊!

1 个答案:

答案 0 :(得分:0)

我会在几百万条记录中尝试这个,看看会发生什么。我是从Microsoft's documentation

中提取的
  

效果注意事项

     

如果要刷新的页数   单批次超过内部阈值,完全扫描缓冲区   可能会出现池以识别批处理时要刷新的页面   提交。此完整扫描可能会影响批量导入性能。可能   当大缓冲区发生超过内部阈值的情况   池与慢速I / O子系统相结合。避免缓冲区溢出   在大型机器上,要么不使用TABLOCK提示(这将是   删除批量优化)或使用较小的批量大小(   保留批量优化)。因为电脑不一样,我们   建议您在数据加载时测试各种批量大小   找出最适合你的方法。

您也可以考虑使用bcp utility