Utilitário sql server bcp

Utilitário sql server bcp

O SQL Server é um dos bancos de dados SQL mais extensos e robustos da era moderna. Não apenas pode lidar com quantidades ridículas de dados, mas também fornece ferramentas poderosas que tornam o trabalho com bancos de dados SQL mais fáceis e muito agradáveis.

Esta postagem abordará uma dessas ferramentas no ecossistema SQL Server; Utilitário bcp. Discutiremos o utilitário BCP, a instalação e vários cenários que você pode usar.

Vamos pular.

Qual é o utilitário BCP?

Programa de cópia em massa, ou BCP para abreviação, é um poderoso utilitário de linha de comando que permite copiar dados em massa entre duas ou mais instâncias do SQL Server ou um arquivo de dados em um formato específico.

A seguir, são apresentadas algumas das ações que você pode executar usando o utilitário BCP no SQL Server:

  1. Exportar dados em massa de uma tabela para um arquivo de dados específico em um formato definido.
  2. Exportar dados em massa de uma consulta para um arquivo de dados definido.
  3. Buk Data Import do arquivo de dados para uma tabela de servidor SQL.

Outra vantagem do utilitário BCP é que ele não exige que você esteja familiarizado com o comando transact-sql. No entanto, ao exportar dados de uma consulta usando o parâmetro de Queryoption, você precisará usar comandos transact-sql.

Instalando o utilitário BCP no Windows

Dependendo do SQL Server instalado e do método de instalação, pode ser necessário instalar o utilitário BCP manualmente. Para instalar, faça o download do utilitário BCP no link abaixo:

https: // vá.Microsoft.com/fwlink/?linkId = 2142258 (x64)

https: // vá.Microsoft.com/fwlink/?LinkId = 2142257 (x86)

NOTA: Os utilitários da linha de comando do SQL Server são embalados por padrão no SQL Server 2019 e acima.

Quando o download estiver pronto, abra o pacote do instalador e clique em Avançar para iniciar o processo.

Aceite a licença de software fornecida e prossiga.

Por fim, defina a opção de instalação para o instalador para configurar as ferramentas de linha de comando do SQL Server em sua máquina.

Para confirmar que o utilitário BCP está disponível, inicie o prompt de comando e execute o comando:

BCP -V

O comando retornará a versão BCP instalada como:

BCP - Programa de cópia em massa para Microsoft SQL Server.
Copyright (C) Microsoft Corporation. Todos os direitos reservados.
Versão: 15.0.2000.5

Para visualizar todas as opções de comando, execute o comando bcp sem parâmetros:

$ BCP

Saída:

Uso: BCP dbtable | Query in | out | Queryout | formato DataFile
[-m maxerrors] [-f formatfile] [-e errfile]
[-F Firstrow] [-l lastrow] [-b BatchSize]
[-n Tipo nativo] [-c Tipo de caractere] [-w Tipo de caractere amplo]
[-N Mantenha o nativo não-texto] [-v Format Versat] [-q Identificador citado]
[-C Código Página Especificador] [-t Terminador de campo] [-R ROW Terminator]
[-i inputfile] [-o outfile] [-a packetsize]
[-S Nome do servidor] [-u Nome de usuário] [-p Senha]
[-T Connection Connection] [-v versão] [-r Regional Enable]
[-k Mantenha os valores nulos] [-e Mantenha os valores da identidade] [-Autenticação do Active Directory do Azure Active]]
[-h "Carregar dicas"] [-x Gere o arquivo de formato XML]
[-D Nome do banco de dados] [-k Aplicativo Intent] [-l Login Timeout]

O comando fornece opções e parâmetros extensos para várias operações que você deseja executar.

Tabela de exportação do servidor SQL para o arquivo de dados usando o utilitário BCP

O exemplo abaixo ilustra o uso do utilitário BCP para exportar as entradas da tabela do banco de dados do Resolver. O comando armazena a tabela nas entradas.Arquivo de dados DAT.

Entradas do BCP "C: \ Usuários \ User \ Documents \ Entradas.dat "-c -t -d resolver -u nome de usuário -t

Vamos quebrar as opções no comando acima.

Começamos invocando o utilitário BCP, seguido pelo nome da tabela que desejamos exportar.

  1. O parâmetro out nos permite especificar o caminho para o arquivo de dados.
  2. -c permite que o utilitário execute a operação de exportação usando o tipo de dados do caractere. Isso é usado apenas para tipos de armazenamento sem prefixos e com o caractere \ t como o separador.
  3. -t especifica o terminador de campo.
  4. -D Defina o nome do banco de dados de destino.
  5. -U o nome de usuário a ser usado para conectar -se ao servidor.
  6. -T Use a conexão confiável.

O comando acima deve retornar a saída como:

Cópia inicial…
6 linhas copiadas.
Tamanho do pacote de rede (bytes): 4096
Hora do relógio (MS.) TOTAL: 1 média: (6000.00 linhas por segundo.)

Verifique se o caminho para o arquivo de dados de destino existe antes de executar o comando.

Servidor SQL Exportar os resultados de uma consulta para o arquivo de dados

Também podemos exportar os resultados de uma determinada consulta, conforme mostrado na consulta de exemplo abaixo:

BCP 'SELECT * FROM ENTRADAS' QUERSYOUT "C: \ Users \ User \ Documents \ Query.dados "-t -d resolver -c -t

A opção de consultas nos permite armazenar o resultado de uma consulta Transact-SQL em um arquivo especificado. Nós incluímos a consulta que desejamos executar em um par de marcas de aspas para evitar conflitos com os parâmetros do comando bcp.

SQL Server Import Data Arget to Table

Se você tiver um arquivo de dados, pode importá -lo para uma tabela ou outra, como ilustrado abaixo.

Comece criando um banco de dados simples.

soltar o banco de dados se existir BCP_DEMO;
criar banco de dados BCP_DEMO;
Emirados Árabes Unidos BCP_DEMO;

Em seguida, crie uma tabela com uma estrutura semelhante à dos dados no arquivo:

Crie amostras de tabela (
Id int não identidade nula (1,
1) chave primária,
Server_name Varchar (50),
Server_address Varchar (255) não nulo,
compressão_method Varchar (100) padrão 'nenhum',
size_on_disk float não nulo,
Size_Compressed Float,
Total_records int não nulo,
init_date data
);

Por fim, importe o arquivo de dados para a tabela como:

BCP BCP_DEMO.DBO.Amostras em 'C: \ Usuários \ User \ Documents \ Entradas.dat '-c -t

Isso deve buscar os dados do arquivo de dados na tabela. Um exemplo de saída:

Cópia inicial…
SQLSTATE = S1000, NativeError = 0
Erro = [Microsoft] [Driver ODBC 17 para SQL Server] EOF inesperado encontrado no arquivo de dados BCP
0 linhas copiadas.
Tamanho do pacote de rede (bytes): 4096
Hora do relógio (MS.) TOTAL: 1

E você importou com sucesso os dados do arquivo de dados.

Fim da jornada

Este artigo ensinou a você os fundamentos do uso do utilitário BCP para liberar dados de importação e exportação de e para instâncias do SQL Server e arquivos de dados.

Obrigado por dar um passeio conosco nas funcionalidades do utilitário BCP. Sinta -se à vontade para explorar os documentos para obter informações mais extensas. Te vejo na próxima.