Exportando e Importando dados via BCP no SQL Server

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: