有没有将2GB csv文件导入SQL Server 2008的快速方法?

时间:2017-05-19 06:31:23

标签: sql-server sql-server-2008 csv

我是数据库新手,我使用ssms 2008r2从CSV文件导入2GB数据。

导入 115分钟

它有9列没有任何约束,没有索引,没有触发器。它是一个简单的表。

代码:

BULK INSERT MyTempfile
FROM 'C:\CSVData\cvfile.csv'
WITH
(
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = '\n',   --Use to shift the control to next row
    TABLOCK
)

有人能让我知道减少这种导入的更好方法吗?

提前致谢

2 个答案:

答案 0 :(得分:2)

一些建议:

  1. 在导入期间禁用任何参照完整性和自动键插入列,并在完成后重新启用
  2. 如果有触发器,请查看是否可以在此期间禁用触发器并在之后启用。当然,可能无法禁用触发器,因为它们可能包含逻辑。
  3. 将文件缩小为更小的块
  4. 仅导入必要的列

答案 1 :(得分:0)

确保您的数据库处于SIMPLE恢复模式。

您可以使用以下命令切换到SIMPLE恢复模式。

JsonReader

确保在操作后切换回旧的恢复模式,
并在之后进行新的完全备份。