sqlcmd

Instalar o MSSQL-CLI

Já tem um tempo que a Microsoft disponibilizou via github outro cliente para administrar o SQL Server o MSSQL-CLI. Esse cliente, como o SQL Ops Studio, vem com o conceito de multi plataforma (Linux, Windows e Mac). Mas ao invés de focar em uma interface gráfica ele é a evolução do SQLCMD (para a alegria … Continuar lendo

Short Script – Dezembro – 2015

Bom dia, Comunidade. Good Morning Everyone!!!!! Como diria aquele apresentador “O louco meu…..”, 2015 esta chegando ao seu final parece que foi ontem que publiquei o primeiro post deste ano, realmente o tempo esta passando de forma assustadora e não estamos dando conta do quanto estamos vivendo, ou melhor sobrevivendo as loucuras do mundo. Mantendo […]

Perdeu uma base de sistema?

Talvez por administrar um grande parque de servidores de diferentes empresas de diversos portes, tive a oportunidade de atuar na recuperação de algumas bases de sistema e aqui vai um passo a passo que pode economizar bastante tempo. As causas são muitas e na maioria das vezes os sintomas são de arquivos corrompidos com logs […]

Dicas para gerenciar o SQL Server por prompt de comando (Parte 4)

     Vamos para a última parte pessoal, bom, agora vem outra coisa legal que podemos fazer diretamente no Windows em relação ao SQL Server, Dentro do próprio SSMS podemos parar ou reiniciar a nossa instancia com alguns cliques, mas e se não tivermos o SSMS para isso, e se de alguma forma não for possível acessar o SQL Server Configration Manager para parar ou iniciar o SQL Server em modo gráfico.
     Neste caso tem-se a opção de fazer isso por linha de comando através do prompt de comando do Windows, com o comando “Net”, este comando nos da a opção de pausar, continuar, parar e iniciar o serviço do SQL Server caso tenhamos a necessidade de dar manutenção na mesma.


O comando net permite fazer muitas outras coisas, mas vou me focar somente no SQL Server.


Sintaxe: 
net <ação> "SQL Server (<instancia>)"

net stop "SQL Server (sql2xxx)"

ou
net stop MSSQLSERVER

net stop servidor.

net <ação> "SQL Server (<instancia>)"

net start "SQL Server (sql2xxx)"

ou
net  start  MSSQLSERVER

net start servidor.

net <ação> "SQL Server (<instancia>)"

net pause "SQL Server (sql2xxx)"

ou
net   pause   MSSQLSERVER


net pause no servidor.


net <ação> "SQL Server (<instancia>)"

net continue "SQL Server (sql2xxx)"

ou
net    continue    MSSQLSERVER


net continue no servidor.

     Vejam que é possível fazer muita coisa por meio do prompt de comando quando se trata da administração do banco de dados do SQL Server, dei apenas alguns exemplos.

Até a próxima.






Referências:


Dicas para gerenciar o SQL Server por prompt de comando (Parte 3)


     Olá pessoal, agora que já sabemos nos conectar no SQL Server via prompt de comando, verificar quais bancos temos em nossa instancia e verificar suas tabelas. Vamos fazer algo muito importante quanto temos uma base de dados, fazer o backup.
     Usamos o seguinte comando para fazer um backup simples do banco de dados do SQL Server, lembrando que existem N opções para fazer backup, estou usando bem simples apenas para exemplificar o backup via linha de comando.

--SINTAXE

BACKUP DATABASE [nome do banco de dados] TO  DISK = N'caminho do banco de dados\nome do backup.bak'


--BACKUP SIMPLES DO BANCO DE DADOS

BACKUP DATABASE [test] TO  DISK = N'C:\Users\simplus\Meus documentos\backup.bak'

go


Se tudo deu certo, você visualizará uma tela parecida com a abaixo.

Backup do banco Test.

    Agora vamos tirar a prova se o backup que foi feito está bom, vamos usar o comando <Restore>  para restaurar o banco que havíamos feito o backup.
Antes disso vamos no banco Test e irei apagar uma tabela do mesmo.

Primeiro darei um select no banco de dados para ver suas tabelas:

SELECT NAME FROMSYS.TABLES


Lista de tabelas do banco Test.

Depois me certifico que estou no banco certo e deleto a tabela “Tabela”
USE TEST

GO

Select name from sys.tables
GO
DROP TABLE TABELA

GO


Se dermos um <Select> no banco agora, veremos que a tabela “Tabela” não existe mais.
SELECT NAME FROMSYS.TABLES


Tabela dropada.


É hora então de realmente usar o <Restore>.

--SINTAXE

RESTORE DATABASE [banco de dados] FROMDISK = N'caminho do banco de dados\nome do arquivo.bak'


--RESTORE SIMPLES DO BANCO DE DADOS

RESTORE DATABASE [test] FROM DISK = N'C:\Users\simplus\Meus documentos\backup.bak'

Go

-- QUANDO O BANCO DE DADOS AINDA NÃO EXISTE



--CASO O BANCO DE DADOS JÁ EXISTA, PODEMOS USAR

RESTORE DATABASE [test] FROM DISK = N'C:\Users\simplus\Meus documentos\backup.bak'

WITH REPLACE

GO

-- ASSIM SUBSTITUIMOS O BANCO DE DADOS ATUAL PELO BACKUP


Banco restaurado.


Se dermos um <Select> agora no banco de dados “Test”, veremos que a tabela que havia deletado está de volta, graças à restauração que foi feita.


USE TEST

GO

SELECT NAME FROMSYS.TABLES


Select no banco restaurado.

Dessa forma foi possível ver como fazer um backup e restaurar o mesmo por meio de um prompt de comando, até a próxima.


Dicas para gerenciar o SQL Server por prompt de comando (Parte 2)


     Bom, neste momento já estou conectado à instancia principal do meu SQL Server, vamos supor que não saiba o nome exato do banco que quero acessar por exemplo, então faço da seguinte forma para descobrir os bancos de dados que estão na instancia que estou no momento.
     Farei um <Select> em uma tabela interna do SQL Server que vai me mostrar os bancos de dados que tenho em minha instância, mas posso ver diversas outras informações sobre o banco de dados, isso vem a partir do SQL Server 2005, seriam as seguintes:

Tabela.........................................Descrição
sys.databases..............................Bancos de dados do SQL Server
sys.tables.....................................Tabelas
sys.columns................................Colunas das tabelas
sys.objects...................................Objetos do banco de dados corrente
sys.triggers..................................Triggers

sys.indexes..................................Índices

sys.index_columns....................Colunas dos índices
sys.foreign_keys.........................Chaves estrangeiras
sys.foreign_key_columns.........Colunas das chaves estrangeiras

Bom, para verificar quais bancos de dados tenho em minha instância, faço da seguinte forma:
1> select name from sys.databases

2> GO


Lista com bancos de dados da instancia principal.

Agora que já sabemos quais bancos de dados temos, podemos nos conectar a um deles da seguinte forma:
Use [nome do banco de dados]
1> use [test]


Tabelas do banco teste.

Também utilizei um select no sys.tables para verificar as tabelas do meu banco de dados Test, cuja sintaxe foi a seguinte:
2> select name from sys.tables
Assim pude verificar quais tabelas tenho no banco que estou conectado.




Dicas para gerenciar o SQL Server por prompt de comando (parte 1)


     Olá pessoal, todos sabemos que o SSMS (SQL Server Management Studio) é uma ótima ferramenta para gerenciamento de banco de dados do SQL Server, torna a nossa vida muito mais cômoda, eu que o diga, mas imaginem um dia precisar tratar determinadas questões num cliente, por exemplo, que usa uma versão do SQL Server Express 2005 que não tenha o SSMS instalado.

SQL Server Management Studio.

     Que sinuca de bico não acham? Pois é, eu também achei e resolvi pesquisar um pouco e cheguei nas seguintes dicas que podem ajudar quem está iniciando no SQL Server.
     Apesar de eu ser um profissional relativamente novo em banco de dados, já tenho uma certa experiência com T.I. (Tecnologia da Informação), com isso já cheguei a lidar muito com prompt de comando do windows, aquela telinha preta que muita gente tem medo de mexer. 
     A primeira coisa a ser feita é ir no menu iniciar, se o seu Windows for o Vista ou 7, basta digitar “cmd” que logo vai aparecer o executável do mesmo e basta clicar para chamar o prompt de comando do Windows, caso seja uma outra versão como o XP por exemplo, vá em executar e digite “cmd” e de <enter> ou ainda faça o caminho mais longo, vá em iniciar, depois acessórios e depois cliquei no ícone do prompt de comando.

 Windows CMD command line.

     Para se conectar ao SQL Server, se ele for o 2000, deve-se usar o comando <osql> que é um utilitário do SQL Server 2000 para gerenciamento dos bancos de dados via linha de comando.
Para versões a partir do 2005, o ideal é utilizar o <sqlcmd> que veio substituir o <osql>.
Para se conectar ao servidor, o usuário terá que ter um usuário habilitado para isso, o comando ficaria da seguinte forma:
C:\Users\computador>osql -Uuser -Psenha –Sinstancia
ou
C:\Users\computador>sqlcmd -Uuser -Psenha –Sinstancia

Exemplo: 
“C:\Users\pc>sqlcmd -Usa –P12345 -S.\sql2005”
Ou “C:\Users\pc>sqlcmd -Usa –P12345 -S.\” caso seja a instancia principal

Utilitário sqlcmd.

A opção “-U” serve para dizer ao comando que vamos entrar com um usuário;
A opção “-P” serve para dizer ao comando que vamos entrar com a senha;
A opção “-S” serve para dizer ao comando que vamos entrar na instancia;

Lembrando que as opções (-U,-P,-S) acima devem estar em caixa alta;

     Lembrem-se que quando digitar qualquer comando no prompt de comando dentro do sqlcmd, para que ele possoa entender que finalizou o comando e deve executar o mesmo deve-se digitar “go”.
Se tudo der certo, vai aparecer logo abaixo algo como “1>” no prompt de comando e estaremos conectados à instancia do SQL Server.

Utilitário sqlcmd.

Bom pessoal, por hora é isso, no próximo post continuo.




Referências:






Go to Top