Executando comandos shell no MS SQL Server 2005

 

Olá pessoal, esse é o meu primeiro artigo, espero que gostem!

 

Atualmente quando desenvolvemos softwares, sempre aparece uma rotina batch para executarmos, sendo assim, vou demonstrar uma outra maneira de executar um comando shell utilizando o Ms Sql Server 2005.

 

Exemplo: Imaginem um cenário onde teremos que copiar um arquivo texto de um determinado local para outro, onde o sistema deverá ler o arquivo e importar para o banco de dados.

 

Arquivo.bat à arquivo contendo as instruções batch

 

F: à Selecionando a unidade

Cd SAP\integração à Seleciona a pasta integração do sistema SAP

Copy Clientes.txt C:\ SSP\Importação à copia o arquivo a ser importado para a pasta importação do sistema SSP

 

Nesse ponto o sistema SSP pega o arquivo Clientes.txt e importa para sua base.

 

Vamos utilizar uma stored procedure chamada "xp_cmdshell" contida no banco de dados máster.

* Nesse artigo estou utilizando o MS Sql Server standard edition  2005 win32.

 

Vamos as configurações necessárias do Ms Sql Server 2005.

*Levo em consideração que o MS Sql Server 2005 já está instalado.

 

1 – Liberar a stored procedure “xp_cmdshell” para executar.

*Por questões de segurança vem desabilitada.

 

Vamos ao Sql Server Surface Área Configuration, demonstrado na figura abaixo.

 

rvmssqlfig1.jpg

 

Agora vamos clicar em “Surface area configuration for features”

 

rvmssqlfig02.jpg 

 

Selecione a stored procedure “xp_cmdshell” e clique em “Enable xp_cmdshell” e em seguida “Apply” e “OK”.

 

rvmssqlfig03.jpg 

 

Nesse ponto estamos com a stored procedure “xp_cmdshell” Liberada para executar os comando shell.

 

Vamos abrir o “MS Sql Server Management Studio” e adionar uma nova query.

 

Agora vamos montar um simples comando shell.

 

Vamos testar o comando “ping”

* O ping é um comando que basicamente verifica se sua conexão de rede está disponível.

 

rvmssqlfig04.jpg 

 

Apos a execução do comando, e apresentado na guia results o resultado da execução.

 

Então pessoal, vocês podem executar qualquer comando shell, através do MS Sql Server 2005.

 

Bem pessoal, por hoje ficaremos aqui.

 

Espero que tenham gostado.

 

Um grande abraço.