Operações de cópia em massa no SQL Server

O Microsoft SQL Server inclui um utilitário de linha de comando popular chamado bcp para copiar arquivos grandes em massa rapidamente em tabelas ou exibições em bancos de dados do SQL Server. A SqlBulkCopy classe permite que você escreva soluções de código gerenciado que fornecem funcionalidade semelhante. Há outras maneiras de carregar dados em uma tabela do SQL Server (INSERT instruções, por exemplo), mas SqlBulkCopy oferece uma vantagem significativa de desempenho em relação a elas.

A SqlBulkCopy classe grava dados apenas em tabelas SQL Server. A fonte de dados não se limita a SQL Server. Use qualquer fonte de dados que carregue dados na classe DataTable ou os exponha por meio da interface IDataReader.

Com a classe SqlBulkCopy, é possível realizar:

  • Uma única operação de cópia em massa

  • Várias operações de cópia em massa

  • Uma operação de cópia em massa dentro de uma transação

Observação

Para carregar dados de um arquivo acessível ao servidor, execute a instrução Transact-SQL (T-SQL) BULK INSERT com SqlCommand. Essa operação lê o arquivo no servidor, ao contrário de SqlBulkCopy, que envia dados do cliente.

Nesta seção

Instalação de exemplo de cópia em massa Descreve as tabelas usadas nos exemplos de cópia em massa e fornece scripts SQL para criar as tabelas no banco de dados AdventureWorks.

Operações de cópia em massa única Descreve como fazer uma única cópia em massa de dados em uma instância do SQL Server usando a SqlBulkCopy classe e como executar a operação de cópia em massa usando instruções Transact-SQL e a SqlCommand classe.

Várias operações de cópia em massa Descreve como fazer várias operações de cópia em massa de dados em uma instância do SQL Server usando a SqlBulkCopy classe.

Operações de transação e cópia em massa Descreve como executar uma operação de cópia em massa em uma transação, incluindo como confirmar ou reverter a transação.

Consulte também