Instalando o SQL Server 2008 Express

Posted in Tutorial on June 11th, 2009 by Mendes – 13 Comments

Hoje vou descrever os passos BÁSICOS para a instalação do SQL Server 2008 Express, esta que é a edição gratuita do SQL Server e atende muito bem pequenas aplicações (além de ser uma ótima opção pra quem quer estudar esse banco).

Na edição gratuita do SQL Server 2000 (conhecida por MSDE) até mesmo alguns DBAs sofriam para instalá-la. De lá pra cá muita coisa mudou e hoje você já conta com ferramentas gráficas para instalar e gerenciar sua instância. Essa edição do SQL Server suporta 1 CPU (com suporte a multi-core), 1 GB de RAM e bases de dados de até 4 GB, e ao contrário do que muitas pessoas dizem, as edições Express tem suporte a rede; o fato é que essa opção vem desabilitada, mas é muito simples ativá-la.

Nesse post vou demonstrar a instalação do SQL Express + ferramentas. Se você desejar o mesmo, ao realizar o download escolha a opção Microsoft SQL Server 2008 Express with Tools (executável: SQLEXPRWT_x86_ENU.exe); o tamanho do executável é de aproximadamente 220 MB. Segue abaixo o link para download: http://www.microsoft.com/brasil/servidores/sql/editions/express.mspx Antes de iniciar a instalação do SQL Server Express você deverá verificar:

Após as devidas verificações e atualizações, podemos iniciar a instalação. Execute o arquivo SQLEXPRWT_x86_ENU.exe e observe que do lado esquerdo da tela que é apresentada existem as opções Planning, Installation, Maintenance e etc. Na guia Planning escolha a opção System Configuration Cheker.

tela1_sql2008

Neste momento será feita uma breve verificação para indicar se falta algo para o andamento da instalação. Obtendo um retorno positivo clique em Ok e selecione na guia Installation a opção New SQL Server stand-alone installation or add features to an existing installation (Nova instalação ou adiciona opções para uma instalação já existente).

tela3_sql2008

O instalador fará uma nova verificação, se estiver tudo certo (para ver os detalhes dessa verificação clique no botão Show Details) clique no botão OK.


tela4

Na próxima tela clique em Install para instalar os arquivos que darão suporte ao restante da instalação. Clique Next.

Na tela Product Key clique em Next (observe que você não precisa de uma chave já que é esta é uma versão free). Marque a opção: “I accept the license terms” e clique em Next. Quando esta etapa finalizar, você irá escolher o que deseja instalar. Marque somente a opção Database Engine Services. Essa opção instalará o engine do SQL Server Express. Se desejar instalar também as ferramentas marque a opção Management Tools – Basic

tela5

Na próxima tela você deverá escolher por uma instância padrão (Default Instance) ou uma instância nomeada (Named Instance). Esta etapa define o nome pelo qual seu servidor SQL irá responder. Se escolher pela instância padrão o SQL terá o mesmo nome de seu servidor, se for uma instância nomeada o SQL irá atender por: NOME_SERVIDOR\NOME_SQL. 

tela6

Clique em Next.

A próxima tela traz um resumo sobre o espaço em disco que será utilizado. Clique em Next.

A seguir você deverá informar sob qual conta do Windows rodarão os serviços do SQL Server. No meu caso, como estou instalado no notebook, na caixa Account Name vou escolher a conta AUTORIDADE NT\SYSTEM para o serviço do SQL e o padrão para o SQL Browser. Em casos onde seu SQL Server utilizar recursos de rede será importante utilizar uma conta de domínio.

Clicando em Next você deverá optar pelo modo de autenticação no SQL. As duas opções são:

Windows Authentication Mode – Nessa opção, apenas contas do Windows poderão autenticar no seu SQL.

Mixed Mode – Nessa opção, poderão autenticar tanto contas Windows e contas criadas posteriormente dentro do SQL.

A Mixed Mode é a mais utilizada (apesar de não ser a recomendada pela Microsoft).

Nesse post vou escolher a opção Mixed Mode e definir uma senha para a conta system administrator (SA). Também irei adicionar uma conta Windows ao grupo de administradores do SQL. Você pode adicionar uma conta de administrador e também o usuário atual clicando no botão Add Current User. 

tela7

O SA é o usuário master do seu SQL Server, por isso não atribua uma senha fraca a ele e não ESQUEÇA essa senha .

Se estiver em dúvida sobre o modo de autenticação que deve usar, fique tranqüilo, essa configuração pode ser alterada depois. Como estamos realizando uma instalação padrão, neste momento ignore as abas Data Directories e FILESTREAM. Clique em Next.

A próxima tela pergunta se você deseja enviar automaticamente relatórios de possíveis erros para a Microsoft. Faça sua escolha e clique em Next. Agora o instalador faz uma nova verificação para validar os parâmetros informados até aqui. Se estiver tudo ok, clique em Next.

Verifique o resumo da instalação e finalmente clique em Install. Agora é só aguardar a finalização da instalação.

Considerações: Se você realizar essa instalação numa maquina com Windows XP em português, ao final poderá encontrar o seguinte erro na instalação:

tela8

Segundo a Microsoft isso não é efetivamente um erro. Isso ocorre quando tentamos instalar uma versão inglês do SQL Server (2005 ou 2008) num Windows XP SP3 não-inglês (como já comentei neste post).

Neste texto abordei somente os passos básicos para a instalação do SQL Server 2008 Express. Pretendo detalhar outras opções nos próximos posts… no próximo iremos habilitar o acesso a rede, por enquanto, bom trabalho e bons estudos.

Veja como habilitar suporte a rede aqui.

Em breve: SQL Server 2008 R2 CTP

Posted in Bla bla bla on May 13th, 2009 by Silas Mendes – 1 Comment

Além das novidades sobre o Windows 7, Office 2010 e Windows Server 2008, no TechEd que está acontecendo hoje em LosAngeles, Bill Veghte, vice-presidente da Microsoft, anunciou que o CTP do Microsoft SQL Server 2008 R2 (conhecido pelo code-name Kilimnajaro) será liberado no 2º semestre  de 2009. Veghte destacou que essa atualização irá focar no (já muito anunciado) BI self-service.

Havia boatos de que o Kilimnajaro tratava-se de uma nova versão do SQL Server, ou seja, um possível SQL Server 2010. Eu particularmente gostei de saber que será apenas uma atualização.

Existem pessoas que acharam o tempo de desenvolvimento entre o SQL Server 2000 e 2005 muito grande… ok, concordo um pouco com isso, mas de dois em dois anos também não é um tempo que dá para o mercado respirar. No “mundo real” eu vejo a quantidade de clientes que pretendiam dar um upgrade no SQL Server 2000 para o 2005 e desistiram em decorrência dos anúncios sobre o lançamento do 2008.

Então é isso, quem está com planos para upgrade, certificações e etc, o SQL Server 2008 continua como a melhor pedida.

:)

Propriedades do arquivo

Posted in Vida Real on March 5th, 2009 by Silas Mendes – Be the first to comment

No SQL Server 2000 existe uma procedure não documentada que traz as propriedades de um arquivo, como data de criação, data de alteração e etc; sem dúvidas um recurso bastante interessante.

Veja um exemplo da chamada:

xp_getfiledetails ‘C:\WINDOWS\EXPLORER.EXE’

Problemas? Sim… essa proc não está mais disponível a partir da versão 2005.
Esse sem dúvidas é um bom motivo para não nos apegarmos à funcionalidades não documentadas… depois dá uma dor de cabeça enorme e um monte de DBA indignado correndo atrás de uma solução similar.

(Bom, mas pra quem continua com o SQL Server 2000, ainda é uma ótima opção! :D )

Problemas no Database Mail

Posted in Erros $#$%!, Vida Real on February 9th, 2009 by Silas Mendes – Be the first to comment

Você configurou o Database Mail, criou operadores, foi na propriedade Notifications do job e definiu um operador pra receber e-mail na ocorrência de uma falha; no entanto o e-mail não é enviado.

Você resolve dar uma olhada no log pra entender o que está acontecendo e então encontra a seguinte mensagem:

NOTE: Failed to notify ‘nome_do_operador’ via email.

Pra acertar isso va na propriedade Alert System do Sql Server Agent e marque a opção Enable mail profile. Pronto. Agora é só reiniciar o agent e seguir em frente :)

(Não esqueça de reiniciar o agent!)

Bom trabalho!

Verificando espaço em disco

Posted in Vida Real on January 19th, 2009 by Silas Mendes – Be the first to comment

 

Para verificar o espaço livre nos discos do seu servidor de banco de dados, dentro do Query Analyser ou Management Studio execute esta procedure:

xp_fixeddrives

O resultado será algo parecido com este aí:

drive    MB free
C        38177
D        130733
X        138790
Y        8140
Z        57013

(5 row(s) affected)

Até +

Erro na instalação do SQL 2008 (Parte II)

Posted in Erros $#$%!, Vida Real on November 4th, 2008 by Silas Mendes – 2 Comments

Depois de mais um tempo ausente volto pra falar sobre o erro da instalação do SQL Server 2008 no Windows XP (veja link do post aqui). Claro que esse não é o cenário ideal para instalação do SQL Server, mas se você quer instalá-lo no seu notebook ou PC, pra conhecer, estudar ou etc, então pode se deparar com o seguinte erro:

The Windows Installer service cannot update the system file C:\WINDOWS\system32\msxml6r.dll because the file is protected by Windows.  You may need to update your operating system for this program to work correctly.

Isso aconteceu comigo e depois de muitas pesquisas, agora em Outubro a Microsoft liberou um artigo falando sobre este erro.

Segundo o artigo, o erro ocorre quando tentamos instalar uma versão inglês do SQL Server (2005 ou 2008) num Windows XP SP3 não-inglês.

Solução? Não existe uma propriamente dita até o momento, mas se ao verificar o arquivo de log da instalação do SQL Server (na busca do Windows procure por SQLSetup*MSXML6*) você encontrar uma mensagem como está: “MSXML 6.0 Parser — Installation completed successfully.”, você poderá ignorar este erro.

Para ler o artigo na integra, acesse este link: http://support.microsoft.com/kb/958897

Bom trabalho, bons estudos!

Tutorial: Instalando o SQL Server 2008 Express.

DTS no SQL 2005

Posted in Vida Real on October 19th, 2008 by Silas Mendes – 1 Comment

Muitas pessoas ao migrarem para o SQL Server 2005 encontram dificuldades para trabalhar com pacotes DTS do SQL 2000. Inicialmente posso dizer que SIM, é possível importar seus pacotes DTS do 2000 para o 2005, e o processo é até bem simples:

Dentro do Management Studio, já conectado à sua instância SQL, no Object Explorer clique na opção Management, subopção Legacy. Dentro dessa ramificação clique com o botão direito em Data Transformation Services e escolha a opção Import Package File (conforme imagem abaixo).

Importar DTS para SQL Server 2005

Importar DTS para SQL Server 2005

Daí pra frente o processo é bem intuitivo.

Depois que o DTS é importado, surgem novas perguntas e uma delas é:

É possível realizar modificações no DTS importado?

Sim. Para isso é preciso instalar o package da Microsoft: SQLServer2005_DTS.

Esse package está disponível para download aqui (link inclui outros packages para o SQL Server 2005)

Depois de instalado, basta escolher a opção Open clicando com o botão direito no DTS importado, e realizar as alterações necessárias.

Trarei mais informações sobre DTS em outros posts.

Bom trabalho!

Novos projetos

Posted in Bla bla bla on October 11th, 2008 by Mendes – 1 Comment

Estou trabalhando num novo projeto e infelizmente não tenho encontrado muito tempo pra escrever por aqui. Tenho várias novidades pra postar e até semana que vem teremos novos posts.

Por enquanto um bom fim de semana pra todos :)

Certificações MCAD, MCSD, MCDBA

Posted in Bla bla bla on September 9th, 2008 by Silas Mendes – Be the first to comment

 

Pra você que ainda não concluiu e quer obter as certificações MCAD, MCSD ou MCDBA fique atento pois os exames para estas certificações estarão disponíveis somente até 31 de Março de 2009.

A boa notícia é que a Microsoft está oferecendo um desconto de 40% para esses exames; sem dúvidas uma ótima motivação :)

 

Bom estudo!

 

Consultando objetos do banco

Posted in Vida Real on September 2nd, 2008 by Silas Mendes – Be the first to comment

 

Durante o processo de desenvolvimento é comum realizar consultas a metadados, ou seja, consultas que retornam informações sobre o próprio banco; algo como a consulta abaixo,  que retorna todas as tabelas de um determinado banco, junto com o nome de suas colunas e o tipo de dados:

SELECT

t.name nome_tabela,

c.name nome_coluna,

ty.name tipo_dado

FROM

sysobjects t, syscolumns c, systypes ty

WHERE

t.id = c.id AND

t.type = ‘U’ AND

c.xtype = ty.type

 

Isto está errado?

Não.

No entanto não é uma boa prática realizar consultas diretamente nas tabelas de sistema. Além do esforço em entender a estrutura dessas informações e construir a query, existe a possibilidade de no futuro a Microsoft descontinuar ou alterar a estrutura de umas dessas tabelas. E aí? O que acontece com sua aplicação que estava buscando dados naquela estrutura?

Para evitar esse tipo de problemas, a partir da versão 7 do Microsoft SQL Server surgiram as Information Schema Views, um catálogo de views de metadados desenvolvidas de acordo com padrões ISO, onde a idéia é que os dados serão retornados, independente da versão do SQL Server, logo se houverem mudanças nas tabelas de sistema, sua aplicação não será afetada porque ela está buscando dados de uma view, além disso, a forma de consulta é muito simples. Veja:

Se você quer obter os mesmos dados da consulta acima utilizando uma dessas views, precisa somente disto:

SELECT

TABLE_NAME, COLUMN_NAME, DATA_TYPE

FROM

INFORMATION_SCHEMA.COLUMNS

 

Veja como é mais simples.

Quer consultar todas as tabelas de sua base que comecem com tb_pedido? Então tente isso:

SELECT

TABLE_NAME

FROM

INFORMATION_SCHEMA.TABLES

WHERE

TABLE_NAME like ‘tb_pedido%’

 

 

Se quiser consultar todas as procedures que iniciam com ‘listar%’ utilize:

SELECT

*

FROM

INFORMATION_SCHEMA.ROUTINES

WHERE

SPECIFIC_NAME like ‘listar%’ and ROUTINE_TYPE = ‘PROCEDURE’

 

Além destas existem outras views que podem te auxiliar na consulta a metadados. Veja uma  lista completa aqui.

Bom trabalho!

 

Convertendo dados

Posted in Vida Real on August 27th, 2008 by Silas Mendes – Be the first to comment

Já ouvi diversas pessoas perguntarem a diferença entre o CAST e CONVERT e as vezes coisas comuns passam despercebidas. A idéia é a mesma: as duas funções permitem converter um tipo de dado em outro, no entanto a função CAST é padrão ANSI, então teoricamente ela pode ser usada em qualquer SGBD. Já a função CONVERT é uma função T-SQL, ou seja, específica do Microsoft SQL Server. Além desta diferença, a função CONVERT tem um opcional que permite a conversão do dado e a possibilidade de formatar o resultado, é o que chamamos de estilo, e isso pode ser bem útil, principalmente quando você está trabalhando com datatypes datetime e money/float.

Então, por exemplo,  se você quiser converter uma data e deixá-la no formato dd/mm/aaaa, deve usar o CONVERT:

select CONVERT(varchar(60), current_timestamp, 103)

No exemplo acima estamos convertendo a data atual para VARCHAR e formatando a data como dd/mm/aaaa. A formatação neste caso está utilizando o estilo 103.

Uma tabela completa com os estilos disponíves pode ser acessada neste link: http://msdn.microsoft.com/en-us/library/ms187928.aspx

Bom trabalho :)

Erro na instalação do SQL 2008 (Parte I)

Posted in Erros $#$%!, Vida Real on August 21st, 2008 by Silas Mendes – 2 Comments

Ontem baixei a versão final do SQL Server 2008 e instalei aqui.

A versão é a Enterprise (Trial) e tive dois problemas durante a instalação.

Um foi bem curioso, antes de iniciar a instalação o instalador informou que não poderia prosseguir porque existiam ferramentas do SQL Server 2005 Express instaladas e que para continuar a instalação eu deveria removê-las. O detalhe é que eu nunca instalei nenhuma versão Express nessa estação(!).

“The SQL Server 2005 Express Tools are installed. To continue, remove the SQL Server 2005 Express Tools.”

Ok… numa pesquisa rápida no fórum da Technet encontrei outros caras que já tiveram o mesmo problema e fiquei surpreso ao saber que o problema era devido a uma ferramenta que instalei, a SQL Prompt da Red Gate (essa ferramenta adiciona Intellisense no Query Analyser e SSMS). Bom, removi a ferramenta e o processo continuou normalmente…

…até eu encontrar outro erro:

The Windows Installer service cannot update the system file C:\WINDOWS\system32\msxml6r.dll because the file is protected by Windows.  You may need to update your operating system for this program to work correctly.

Nas buscas pelo google e technet vi que o assunto está sempre relacionado ao Windows XP e o SP2… vou começar alguns testes hoje a tarde. Se alguém aí já viveu essa situação e tem uma sugestão de como resolver deixe sua contribuição :)

Editado: Solução para este problema neste post:

Tutorial: Instalando o SQL Server 2008 Express.