Operaciones de copia masiva en SQL Server

Microsoft SQL Server incluye una conocida utilidad de línea de comandos denominada bcp para copiar rápidamente y de forma masiva archivos grandes en tablas o vistas en bases de datos de SQL Server. La clase SqlBulkCopy permite escribir soluciones de código administrado que proporcionan una funcionalidad similar. Hay otras maneras de cargar datos en una tabla de SQL Server (las instrucciones INSERT, por ejemplo) pero SqlBulkCopy ofrece una importante ventaja de rendimiento sobre ellas.

La clase SqlBulkCopy puede usarse para escribir datos solo en tablas de SQL Server. Sin embargo, el origen de datos no está limitado a SQL Server; se puede utilizar cualquier origen de datos siempre y cuando pueda cargarse en una instancia DataTable o leerse con una instancia IDataReader.

Con la clase SqlBulkCopy, puede ejecutar:

  • Una única operación de copia masiva.

  • Varias operaciones de copia masiva.

  • Una operación de copia masiva en una transacción

Nota

Si usa .NET Framework versión 1.1 o anterior (que no admite la clase SqlBulkCopy), puede ejecutar la instrucción BULK INSERT de Transact-SQL de SQL Server mediante el objeto SqlCommand.

En esta sección

Configuración de ejemplos de copia masiva
Describe las tablas usadas en los ejemplos de copia masiva y proporciona scripts SQL para crear las tablas en la base de datos AdventureWorks.

Operaciones de copia masiva únicas
Describe cómo realizar una única copia masiva de datos en una instancia de SQL Server mediante la clase SqlBulkCopy y cómo realizar la operación de copia masiva mediante instrucciones Transact-SQL y la clase SqlCommand.

Varias operaciones de copia masiva
Describe cómo realizar varias operaciones de copia masiva de datos en una instancia de SQL Server mediante la clase SqlBulkCopy.

Transacción y operaciones de copia masiva
Describe cómo realizar una operación de copia masiva en una transacción, incluida la forma de confirmar o revertir la transacción.

Consulte también