Partilhar via


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

O Microsoft SQL Server inclui uma utilidade popular de linha de comandos, nomeada bcp para copiar rapidamente em massa ficheiros grandes em tabelas ou vistas em bases de dados 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

Observação

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

Na presente seçã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 na base de dados AdventureWorks.

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

Múltiplas Operações de Cópia em Massa Descreve como realizar múltiplas operações de cópia em massa de dados para uma instância do SQL Server usando a SqlBulkCopy classe.

Transações e Operações de Cópia em Massa Descreve como realizar uma operação de cópia em massa dentro de uma transação, incluindo como comprometer ou reverter a transação.

Ver também