Exportando e Importando dados via BCP no SQL Server

24/06/2014 06:51

O SQL Server é uma ferramenta muito amigável e sua interface gráfica facilita operações como exportar ou importar dados, mas hoje veremos que existe uma outra maneira rápida, fácil e pratica de exportar (dump) e importar dados de um banco de dados SQL Server sem usar pesadas ferramentas gráficas.

O utilitário BCP (Bulk Copy Program) permite a exportação e importação de dados através de uma simples linha de comando.

Para facilitar a vida é mais pratico criar arquivos bat, conforme vemos abaixo.

 

Exportação:

 

Set Server=Ip ou nome do servidor
Set Username=Usuario
Set Password=senha
Set Arquivo=localização do arquivo bcp com path
Set Log= localização do arquivo de log  com path

bcp bancodedados..tabela OUT %Arquivo% -o %Log% -S%Server% -U%Username% -P%Password% -c

pause

 

Exemplo de um arquivo .bat de exportação de dados (BCP OUT):

 

Exporta.bat

 

@ECHO OFF

Set Server=webmundi
Set Username=sa
Set Password=1234
Set Arquivo=D:\Webmundi\SQL2008\BCPs\exp_webmundi.bcp
Set Log=D:\Webmundi\SQL2008\BCPs\ exp_webmundi.log

 

ECHO Inicio do BCP...: %TIME%
ECHO Aguarde a exportação dos dados para carga...

 

bcp webmundi.dbo.tbwebmundi OUT %Arquivo% -o %Log% -S%Server% -U%Username% -P%Password% -c

 

ECHO Termino do BCP..: %TIME%
ECHO Log no arquivo %Log%
PAUSE

 

Após execução do arquivo .bat acima será gerado o arquivo exp_webmundi.bcp com todos os dados da tabela tbwebmundi. No exemplo abaixo, iremos importa-la na banco wmundi tabela tbwmundi.

 

Importação:

Set Server=Ip ou nome do servidor
Set Username=Usuario
Set Password=senha
Set Arquivo=localização do arquivo bcp com path
Set Log= localização do arquivo de log  com path

bcp bancodedados..tabela IN %Arquivo% -o %Log% -S%Server% -U%Username% -P%Password% -c

Pause

 

 

Exemplo de um arquivo .bat de importação de dados (BCP IN):

 

Importa.bat

@ECHO OFF
Set Server=webmundi
Set Username=sa
Set Password=1234
Set Arquivo=D:\Webmundi\SQL2008\BCPs\exp_webmundi.bcp
Set Log=D:\Webmundi\SQL2008\BCPs\ imp_webmundi.log

 

ECHO Inicio do BCP...: %TIME%
ECHO Aguarde a carga dos dados...

 

bcp wmundi.dbo. tbwmundi  IN %Arquivo% -o %Log% -S%Server% -U%Username% -P%Password% -c

 

ECHO Termino do BCP..: %TIME%
ECHO Log no arquivo %Log%
PAUSE

 

 

Para maiores informações sobre o BCP, consulte:

msdn.microsoft.com/pt-br/library/aa337544.aspx

msdn.microsoft.com/pt-br/library/ms162802.aspx