SSIS插入体积与BULK插入物相同

Ral*_*ton 5 sql-server ssis

我正在使用SSIS包(不是由我构建)将CSV文件批量插入到SQL Server 2005中

我正在运行SQL事件探查器,并将insert语句看作:

insert bulk [dbo].[stage_dht]( ..... )
Run Code Online (Sandbox Code Playgroud)

但是该声明中没有FROM子句,所以我很好奇它是如何得到它的数据的,这就是所谓的快速加载是将数据批量转换为SQL的最佳方法吗?

edd*_*ves 5

是的,SSIS批量插入任务使用与BULK INSERT命令相同的下划线功能。

您很可能会看到SQL Profiler的不同之处,因为大容量插入任务将直接使用带下划线的COM对象(为大容量插入提供动力),而不是简单地用作T-SQL命令的GUI包装。因此,我猜不是将其指定为FROM,而是将开放的IO流指针传递给COM对象。

批量插入是将大量数据加载到SQL Server的最快方法,因为它在进程内运行,“共享相同的内存地址空间。因为数据文件是由SQL Server进程打开的,所以数据不会在客户端之间复制进程和SQL Server进程”。1个

但是,如果文件与SQL Server位于同一台计算机上,则性能会有所不同。

1 关于批量导入和批量导出操作