Linux Para DBAs SQL Server 06 – Tools BCP

Definitivamente, esta é a segunda ferramenta mais antiga que eu conheço no SQL Server. Lembro dela na versão 6.0 e até hoje é parte integrante do pacote de produtos distribuídos pela Microsoft.

A mesma tem um desempenho significativo e um consumo de memória relativamente baixo pelo seu potencial.

Aqui, tal como acontece no ambiente Windows Server, ao digitar a chamada do comando BCP iremos receber a ajuda referente aos parâmetros. Veja na imagem abaixo:

Para um exemplo de como utilizar o BCP, veja no banco de dados teste a tabela contato que possui a estrutura descrita neste script:

CREATE TABLE [dbo].[contato](
	[cdcontato] [int] NOT NULL,
	[nmcontato] [varchar](200) NOT NULL,
	[nrtelefone] [varchar](100) NOT NULL,
 CONSTRAINT [PK_contato] PRIMARY KEY CLUSTERED 
(
	[cdcontato] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

Na tabela contato, teremos os itens conforme os scripts de insert abaixo:

insert into contato values (1, 'Rodrigo', '54999999990')
GO
insert into contato values (2, 'Tiago', '54999999991')
GO
insert into contato values (3, 'Oberdan', '54999999992')
GO
insert into contato values (4, 'Kelly', '54999999993')
GO
insert into contato values (5, 'Luana', '54999999994')
GO
insert into contato values (6, 'Isadora', '54999999995')
GO
insert into contato values (7, 'Chaiane', '54999999996')
go
insert into contato values (8, 'Luciano', '54999999997')

O exemplo consiste em extrair os dados da tabela de contatos para um arquivo em: /tmp/contato.txt.

Confira o script abaixo:

/opt/mssql-tools/bin# ./bcp teste.dbo.contato out /contato/contato -Slocalhost -T -c -Usa -P{MinhaSenha}

É comum, após fazer a importação dos dados, que você esteja se perguntando como realizar a consulta. Para isso, existe a ferramenta sqlcmd que veremos no próximo post.

Abraço, Rodrigo

Anúncios

Author: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.