Operazioni di copia di massa in SQL Server

Microsoft SQL Server include una popolare utilità della riga di comando denominata bcp per eseguire rapidamente la copia bulk di file di grandi dimensioni in tabelle o viste nei database di SQL Server. La classe SqlBulkCopy consente di scrivere soluzioni di codice gestito che offrono funzionalità simili. Esistono altri modi per caricare dati in una tabella di SQL Server (ad esempio, istruzioni INSERT) ma SqlBulkCopy offre un significativo vantaggio in termini di prestazioni.

La classe SqlBulkCopy può essere usata per scrivere dati solo in tabelle di SQL Server. 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.

Con la classe SqlBulkCopy è possibile eseguire:

  • Una singola operazione di copia bulk

  • Più operazioni di copia bulk

  • Un'operazione di copia bulk all'interno di una transazione

Nota

Con .NET Framework versione 1.1 o precedenti (in cui non è supportata la classe SqlBulkCopy), è possibile eseguire l'istruzione BULK INSERT di SQL Server Transact-SQL usando l'oggetto SqlCommand.

In questa sezione

Creazione di esempi di copia di massa
Descrive le tabelle usate negli esempi di copia bulk e fornisce script SQL per la creazione delle tabelle nel database AdventureWorks.

Singole operazioni di copia di massa
Viene descritto come eseguire una singola copia bulk dei dati in un'istanza di SQL Server usando la classe SqlBulkCopy e come eseguire l'operazione di copia bulk usando istruzioni Transact-SQL e la classe SqlCommand.

Più operazioni di copia di massa
Viene descritto come eseguire più operazioni di copia bulk dei dati in un'istanza di SQL Server usando la classe SqlBulkCopy.

Transazioni e operazioni di copia bulk
Viene descritto come eseguire un'operazione di copia bulk all'interno di una transazione e come eseguire il commit o il rollback della transazione.

Vedi anche