Você está na página 1de 8

FACTDATA - Business Intelligence & Data Warehouse

Trabalhando com Transact-SQL


O SQL Server Management Studio (SSMS), como visto no módulo anterior, é a nova
ferramenta de desenvolvimento e administração de banco de dados disponibilizada pelo SQL Server
2005.
Apesar deste curso estar focado no uso dessa ferramenta para o gerenciamento e
desenvolvimento de bancos de dados relacionais, o SSMS possibilita o trabalho com arquivos de
diferentes tipos, tais como:

- T-SQL: Transact Structured Query Language.


- MDX: Multi-dimensional Expressions.
- XMLA: XML for Analysis Specification.
- XML: Arquivos XML.
- SQL Mobile: SQL para edições do SQL Server Móbile.
- SQLCMD: Comandos que podem ser rodados a partir do prompt do DOS.

Escrevendo T-SQL offline


O SSMS possibilita o desenvolvimento de scripts sem a necessidade de estar conectado a
um servidor SQL Server.

O objetivo de escrever uma comando T-SQL não estando conectado ao servidor de banco é
que desta forma é possível escolher em que banco de dados ou servidor se deseja conectar para
executar o referido comando. A versão do SQL Server 2000, ou Query Analyser, fazia com que
fosse necessária a existência de uma conexão entre o cliente e o servidor de banco para poder
escrever os comandos T-SQL.

Dentre as características que podem ser destacadas estão:

• O servidor de banco de dados não precisa estar online para que o comando T-SQL seja
escrito e incluído em uma solução ou projeto.
• Diminuir a carga de trabalho que está sendo exigida do servidor de banco de dados.
• Diminuir o tráfego de rede.
• Editar comandos T-SQL em uma janela e selecionar em que servidor executar somente
trocando a conexão do editor.

Todos os direitos reservados a FACTDATA – Business Intelligence & Data Warehouse


23
FACTDATA - Business Intelligence & Data Warehouse

Exemplo: Executando um comando T-SQL offline e depois conectado ao um servidor de


banco de dados.

1. Inicialize o SSMS clicando em Iniciar, Programas, Microsoft SQL Server 2005 e


SQL Server Management Studio.
2. Clique Cancel na janela de escolha de conexão com um servidor. A tela ficará sem
conexão conforme a figura 2.1 a seguir.

(Figura 2.1)

3. Clique em File, New e Database Engine Query.


4. Clique em Cancel na janela de escolha de conexão com um servidor se ela abrir.
5. O editor estará aberto e um indicativo de que uma conexão não está estabelecida
aparecerá na aba superior da área de edição.

(Figura 2.2)

6. Digite o comando T-SQL a seguir para verificar a data do servidor.


a. SELECT GETDATE()
7. Clique na tecla F5 para executar o comando.

Todos os direitos reservados a FACTDATA – Business Intelligence & Data Warehouse


24
FACTDATA - Business Intelligence & Data Warehouse

8. Quando a janela de conexão for apresentada, escolha o servidor no qual deseja


executar o comando.
9. O comando será executado e a data e hora do servidor serão apresentados nos
resultados logo abaixo da área de edição.
10. É possível alterar rapidamente a conexão clicando na barra de ferramentas referentes
ao SQL Editor.

(Figura 2.3)

11. É possível conectar, desconectar e trocar a conexão através dos botões da barra de
ferramentas mostrados na figura 2.3.
12. É possivel fazer essas operações clicando em Query, Connection e depois em uma
das opções disponíveis mostradas na figura 2.4.

(Figura 2.4)

Execute os passos acima para o comando SELECT @@VERSION e será possível ver a
versão do SQL Server que está rodando no servidor. Através destes procedimentos é possível
apenas trocar a conexão para verificar a versão dos SQL Server em diferentes servidores.

Todos os direitos reservados a FACTDATA – Business Intelligence & Data Warehouse


25
FACTDATA - Business Intelligence & Data Warehouse

Gerando Scripts de Objetos


O ato de gerar script de objetos é uma função extremamente útil para um administrador de
dados. Usando essas característica do SSMS é possível salvar versões de objetos de banco antes de
efetuar uma alteração ou transferir toda a estrutura de um banco do servidor A para o servidor B
somente salvando o arquivo com o script.

A geração do script de uma tabela através do SSMS é feito da seguinte forma:

1. No SSMS conectar a um servidor para visualiza-lo no Object Explorer.


2. Expanda a pasta Databases, expanda uma base de dados e expanda a pasta Tables.
3. Clicar com o botão direito sobre uma tabela e posicione o mouse sobre a opção Script
Table as e observar as opções disponíveis.
4. Selecionar SELECT to e em seguida New Query Window.
5. Observar que uma nova janela de edição será aberta com a conexão na base da tabela
contendo o T-SQL do comando desejado.

Ainda é possível gerar o script de modificação de objetos utilizando o SSMS. Essa opção é
útil para que o administrador ou desenvolvedor efetuar uma última verificação no procedimento
que está sendo realizado.

A geração de script de alteração de objetos é realizado da seguinte forma:

1. No SSMS clicar sobre a pasta Tables com o botão direito do mouse e clicar em New
Table.
2. Criar uma tabela conforme a figura 2.5.

(Figura 2.5)

3. No menu clicar em Table Designer e Generate Change Script.


4. Salvar o script e depois clicar em File, Open e File.
5. Conectar no servidor e selecionar a base para executar o script.

Todos os direitos reservados a FACTDATA – Business Intelligence & Data Warehouse


26
FACTDATA - Business Intelligence & Data Warehouse

6. O código salvo será mostrado no editor conforme mostra a figura 2.6.

(Figura 2.6)

7. Executar o script clicando F5.


8. Clicar em Tables no Object Explorer e clicar F5 para atualizar a lista de tabelas.
9. Sobre a tabela criada clicar com o botão direito do mouse e clicar em Design do menu
aberto.
10. Alterar a tabela incluindo uma nova coluna conforme mostra a figura 2.7.

(Figura 2.7)

11. Repita a operação do item 3 e salve o script de alteração da tabela abrindo o mesmo em
uma nova janela de edição.

Exercite a geração de scripts através dos seguintes objetos e explore todas as opções
disponíveis.
a. Uma Stored Procedure.
b. Uma View.
c. Uma base de dados.

Todos os direitos reservados a FACTDATA – Business Intelligence & Data Warehouse


27
FACTDATA - Business Intelligence & Data Warehouse

Usando o modo SQLCMD


O SQLCMD é um modo de execução de scripts de banco de dados que permite a utilização
de comandos do DOS junto com comandos T-SQL. É análogo ao OSQL da versão do SQL Server
2000. O SQLCMD permite que o administrador ou desenvolvedor trabalhe através de linha de
comando do DOS ou diretamente de dentro do SSMS integrando diferentes comandos.

O SQLCMD pode ser chamado basicamente de duas formas. A primeira por linha de
comando do DOS clicando em Iniciar, Executar, digitando CMD e depois no prompt digitando
SQLCMD. A outra forma de chamar é através do SSMS clicando em na barra de ferramentas
Query e depois em SQLCMD Mode. A figura 2.8 mostra o procedimento.

(Figura 2.8)

O SSMS estará trabalhando aceitando comandos do DOS dentro do editor. Um dos


exemplos de uso é o que segue:

1. No SSMS abrir uma nova janela de edição de consulta.


2. Ativar o modo SQLCMD.
3. Na janela de edição digitar:

:out C:\meuServidor.txt
SELECT @@VERSION As 'Server Version'
!!DIR
!!:GO
SELECT @@SERVERNAME AS 'Server Name'
GO
!!notepad C:\meuServidor.txt
GO

Todos os direitos reservados a FACTDATA – Business Intelligence & Data Warehouse


28
FACTDATA - Business Intelligence & Data Warehouse

4. Clicar F5 para executar o script.


5. O resultado no bloco de notas será:

(Figura 2.9)

IMPORTANTE:
Observar que o bloco de notas será aberto mas a execução no SSMS continuará rodando.
Somente fechando o bloco de notas fará com que a execução seja finalizada com sucesso. Isso
server para mostrar então, que é importante tomar cuidado ao gerar conjuntos de comandos T-SQL
e DOS que invoquem programas onde a intervenção de um operador seja necessária. Suprimindo a
penúltima linha do script do item 3 o resultado seria gerado da mesma forma no arquivo sem a
abertura do bloco de notas.

Todos os direitos reservados a FACTDATA – Business Intelligence & Data Warehouse


29
FACTDATA - Business Intelligence & Data Warehouse

Anotações e Dúvidas

Todos os direitos reservados a FACTDATA – Business Intelligence & Data Warehouse


30