Partilhar via


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 rapidamente arquivos grandes 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 (instruções INSERT, por exemplo), mas SqlBulkCopy oferece uma vantagem de desempenho significativa sobre elas.

A SqlBulkCopy classe pode ser usada para gravar dados somente em tabelas do SQL Server. Mas a fonte de dados não está limitada ao SQL Server; Qualquer fonte de dados pode ser usada, desde que os dados possam ser carregados em uma DataTable instância ou lidos com uma IDataReader instância.

Usando a SqlBulkCopy classe, você pode executar:

  • 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

Nota

Ao usar o .NET Framework versão 1.1 ou anterior (que não oferece suporte à SqlBulkCopy classe), você pode executar a instrução SQL Server Transact-SQL BULK INSERT usando o SqlCommand objeto.

Nesta Secção

Configuraçã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.

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

Consulte também