Operazioni di copia di massa in SQL ServerBulk Copy Operations in SQL Server

Microsoft SQL Server include una popolare utilità della riga di comando denominata bcp per rapidamente la copia di massa file di grandi dimensioni in tabelle o viste nei database di SQL Server.Microsoft SQL Server includes a popular command-line utility named bcp for quickly bulk copying large files into tables or views in SQL Server databases. La classe SqlBulkCopy consente di scrivere soluzioni di codice gestito che offrono funzionalità simili.The SqlBulkCopy class allows you to write managed code solutions that provide similar functionality. Esistono altri metodi per caricare dati in una tabella SQL Server (ad esempio con l'istruzione INSERT) ma SqlBulkCopy offre prestazioni molto più vantaggiose.There are other ways to load data into a SQL Server table (INSERT statements, for example) but SqlBulkCopy offers a significant performance advantage over them.

La classe SqlBulkCopy consente di scrivere dati solo su tabelle SQL Server.The SqlBulkCopy class can be used to write data only to SQL Server tables. Tuttavia l'origine dati non si limita a SQL Server ed è possibile usare qualsiasi origine i cui dati possano essere caricati in un'istanza DataTable oppure letti con un'istanza IDataReader.But the data source is not limited to SQL Server; any data source can be used, as long as the data can be loaded to a DataTable instance or read with a IDataReader instance.

Con la classe SqlBulkCopy è possibile eseguire le seguenti operazioni:Using the SqlBulkCopy class, you can perform:

  • Copia di massa singolaA single bulk copy operation

  • Più copie di massaMultiple bulk copy operations

  • Copia bulk all'interno di una transazioneA bulk copy operation within a transaction

Nota

Quando si utilizza .NET Framework versione 1.1 o precedente (che non supporta il SqlBulkCopy classe), è possibile eseguire SQL Server Transact-SQL BULK INSERT istruzione tramite il SqlCommand oggetto.When using .NET Framework version 1.1 or earlier (which does not support the SqlBulkCopy class), you can execute the SQL Server Transact-SQL BULK INSERT statement using the SqlCommand object.

In questa sezioneIn This Section

Creazione di esempi di copia di massaBulk Copy Example Setup
Vengono descritte le tabelle usate negli esempi di copia di massa e vengono forniti gli script SQL per la creazione di tabelle nel database AdventureWorks.Describes the tables used in the bulk copy examples and provides SQL scripts for creating the tables in the AdventureWorks database.

Singole operazioni di copia di massaSingle Bulk Copy Operations
Viene descritto come eseguire una copia di massa singola di dati in un'istanza di SQL Server usando la classe SqlBulkCopy e come eseguire la copia di massa con istruzioni Transact-SQL e con la classe SqlCommand.Describes how to do a single bulk copy of data into an instance of SQL Server using the SqlBulkCopy class, and how to perform the bulk copy operation using Transact-SQL statements and the SqlCommand class.

Più operazioni di copia di massaMultiple Bulk Copy Operations
Viene descritto come eseguire più copie di massa di dati in un'istanza di SQL Server usando la classe SqlBulkCopy.Describes how to do multiple bulk copy operations of data into an instance of SQL Server using the SqlBulkCopy class.

Transazioni e operazioni di copia bulkTransaction and Bulk Copy Operations
Viene descritto come eseguire una copia bulk all'interno di una transazione e come eseguire il commit e il rollback della transazione.Describes how to perform a bulk copy operation within a transaction, including how to commit or rollback the transaction.

Vedere ancheSee Also

SQL Server e ADO.NETSQL Server and ADO.NET
Provider gestiti ADO.NET e Centro per sviluppatori di set di datiADO.NET Managed Providers and DataSet Developer Center