Anda di halaman 1dari 7

O que é a ferramenta SQLCMD?

O SQLCMD é uma ferramenta de linha de comando que serve para executar comandos
e scripts Transact-SQL em instâncias do SQL Server 2008, o SQLCMD substitui o
OSQL do SQL Server 2000.

Vou mostrar duas diferentes formas como se conectar no SQL Server 2008 ou 2008 R2,
no caso mostrar em uma maquina local e como me conectar em um servidor com a
autenticação do próprio SQL Server.

Para se conectar localmente no SQL Server 2008 ou 2008 R2 utilize o seguinte código
no prompt de comandos:

SQLCMD -E -S LOCALHOST\(NOME DA INSTÂNCIA)

As opções de autenticação (-E, -U e -P) que especificam as credenciais que o sqlcmd


usa para se conectar à instância do SQL Server. A opção de servidor (-S) é a que
identifica a instância do Microsoft SQL Server, com qual SQLCMD se conecta.

Antes de apertar a tecla ENTER, preste atenção no ponto marcado em vermelho, ainda
não está no contexto do SQLCMD, como mostra a figura a figura 1:

Figura 1. Janela do Prompt de Comandos.

Neste próximo ponto estaremos no contexto do SQLCMD, como pode ser visualizado
com a marcação em vermelho, como mostra a figura 2:
Figura 2. Janela do Prompt de Comandos no SQLCMD.

Agora vamos para o passo seguinte, conectar no SQLCMD usando o login SA do SQL
Server, para isso a sintaxe é um pouco diferente:

SQLCMD -U SA -P (SENHA) -S LOCALHOST\(NOME DA INSTÂNCIA)

Veja o exemplo de como seria no prompt de comandos, como mostra a figura 3:

Figura 3. Janela do Prompt de Comandos no SQLCMD (outra forma de conexão).

Agora vamos fazer alguns comandos T-SQL utilizando a ferramenta SQLCMD.

Primeiro passo:

Entre no promp de comandos, em seguida digite um dos comandos informados


anteriormente:

SQLCMD -E -S LOCALHOST\(NOME DA INSTÂNCIA


SQLCMD -U SA -P (SENHA) -S LOCALHOST\(NOME DA INSTÂNCIA)
Depois que você se conectar ao SQLCMD, utilize o comando USE para começar a
acessar um banco de dados qualquer, no meu caso vou utilizar o AdventureWorks e
depois aperte a tecla ENTER, como mostra a figura 4:

Figura 4. Janela do Prompt de Comandos no SQLCMD iniciando acesso ao banco.

Ainda não estamos propriamente dito no banco de dados selecionado, temos que colocar
uma palavra reservada do SQL Server chamada GO depois aperte a tecla ENTER, como
mostra a figura 5 :

Figura 5. Janela do Promp de Comandos no SQLCMD já no contexto do banco.

Segundo passo:

Neste momento vamos fazer um SELECT na tabela Person.Contact do banco


AdventureWorks, utilizar o seguinte código:
SELECT * FROM Person.Contact

O resultado sairá um pouco estranho, mas a utilização do SQLCMD em alguns


momentos se torna uma ferramenta indispensável, veja na figura 6:

Figura 6. Janela do SQLCMD mostrando os dados da tabela Person Contact.

Agora vamos criar um banco de dados de exemplo e popular uma ou duas tabelas, logo
abaixo segue o código:

CREATE DATABASE EXEMPLO


GO

Veja na próxima imagem, nunca esqueça da palavra reservada GO, sem ela o seu
comando não vai ser executado, como mostra a figura 7:
Figura 7. Janela do SQLCMD criando um bando de dados.

Em seguinda pode abrir seu Management Studio para confirmar a criação do banco de
dados, caso não apareça, clique com o botão direito na pasta databases e clique em
Refresh, como mostra a figura 8 :

Figura 8. Janela do Management Studio em especifico Object Explorer.


Vamos criar uma tabela no nosso banco EXEMPLO, logo abaixo segue o código de
exemplo:

CREATE TABLE TABELA (


COD INT NOT NULL,
NOME VARCHAR (40),
ENDERECO VARCHAR (60)
TELEFONE INT
)

Agora note como esse código fica no SQLCMD, o visual não é tão agradável mas da
pra trabalhar sem nenhum problema, como mostra na figura 9:

Figura 9. Janela do SQLCMD, criando uma tabela.

Vamos utilizar o comando INSERT, para ver qual a reação do SQLCMD, como mostra
a figura 10:
Figura 10. Janela do SQLCMD, inserindo dados.

Veja agora no Management Studio, se existe algo de errado ou alguma diferença, como
mostra a figura 11:

Figura 11. Janela do Management Studio, com o que foi feito no SQLCMD.

Para quem se interessar de forma mais profunda no assunto, segue alguns links que
encontrei, no caso seriam informações mais detalhadas:

http://msdn.microsoft.com/pt-br/library/ms180944.aspx

http://msdn.microsoft.com/pt-br/library/ms170572.aspx

Leia mais em: SQLCMD – Conceitos e Praticas http://www.devmedia.com.br/sqlcmd-


conceitos-e-praticas/24124#ixzz3okEW7fno

Fonte:

http://www.devmedia.com.br/sqlcmd-conceitos-e-praticas/24124