2009-05-13 9 views
5

ich eine Masseneinfügung einer CSV in SQL Server-Datei zu tun 2005 ein SSIS-Paket (nicht von mir gebaut)ist SSIS Bulk einfügen das gleiche wie ein Masseneinfügung

Ich bin mit SQL Profiler und finden sie in der Insert-Anweisung wie:

insert bulk [dbo].[stage_dht](.....) 

aber es gibt keine FROM-Klausel in dieser Aussage, also bin ich gespannt, wie es wird immer seine Daten, und ist diese sogenannte schnell laden sie die beste Weg, um Massendaten in SQL ?

Antwort

4

Ja, der SSIS Bulk Insert-Task verwendet die gleiche Unterstreichungsfunktionalität, die der BULK INSERT-Befehl verwendet.

Sie werden höchstwahrscheinlich Unterschiede in SQL Profiler sehen, da die Task Bulk Insert das Unterstreichungs-COM-Objekt direkt verwendet (was Bulk-Insert unterstützt) und nicht einfach ein GUI-Wrapper für den T-SQL-Befehl ist. Anstatt FROM zu spezifizieren, vermute ich, dass es einen offenen IO-Stream-Pointer an das COM-Objekt übergibt.

Bulk-Einfügung ist so ziemlich der schnellste Weg, um eine Menge Daten in SQL Server zu laden, da es prozessintern ausgeführt wird, "den gleichen Speicheradressraum teilen. Da die Datendateien von einem SQL Server-Prozess geöffnet werden nicht zwischen Clientprozess und SQL Server-Prozessen kopiert ". 1

Die Leistung variiert jedoch, wenn sich die Datei auf demselben Computer wie der SQL Server befindet oder nicht.

1About Bulk Import and Bulk Export Operations

Verwandte Themen