Esta documentação tem como objetivo descrever passo-a-passo o processo de instalação do SQL Server Express, um produto gratuito baseado na tecnologia do SQL Server 2005.
Introdução
O SQL Server Express ( sucessor do MSDE), é um banco de dados gratuito e fácil de usar, ele é baseado na tecnologia do SQL Server 2005. Foi desenhado para proporcionar uma plataforma de banco de dados que oferece alta simplicidade de uso, habilitando uma distribuição rápida nos seus cenários alvo. A sua facilidade de uso começa com uma interface gráfica simples e robusta que guia o usuário durante o processo de instalação, nós falaremos mais deste processo em outro capítulo deste documento. O SQL Express traz também ferramentas gratuitas de uso incluindo o SQL Server Management Studio Express, interface gráfica usada para a administração, e o SQL Server configuration Manager. Estas ferramentas simplificam as operações básicas de administração. O desenvolvimento e design das aplicações que utilizam bancos de dados ficaram mais fáceis com a integração com projetos do Visual Studio.
O SQL Express utiliza a mesma tecnologia das outras versões do SQL Server 2005, possiblitando apresentar uma alta performance e confiabilidade. É também acessível através das mesmas APIs de dados como ADO.NET, SQL Native Client e T-SQL. Na realidade é diferenciado das outras versões do SQL Server 2005 somente pelos seguintes ítens:
· Ausência do suporte a algumas funções corporativas
· Limitado a uma CPU
· Limitado a um GB de memória para o buffer pool
· Os bancos de dados podem ter no máximo 4GB de tamanho
Funções como o Auto Close e a habilidade de copiar os bancos de dados como se fossem arquivos são habilitados por padrão no SQL Server Express, enquanto funções como Alta Disponibilidade e Business Intelligence não estão disponíveis. O processo de crescimento, quando necessário, fica bastante facilitado pois aplicações desenvolvidas para utilizar o SQL Express irão trabalhar da mesma forma com as versões Standard ou Enterprise do SQL 2005.
Cenários alvo
O SQL Server Express foi desenvolvido tendo duas utilizações distintas como objetivo. A primeira é como um produto para servidores, especialmente um servidor Web ou um servidor de banco de dados. A segunda é como um cliente local para o armazenamento de dados onde a aplicação não depende de acesso a uma rede local. A facilidade de uso e simplicidade foram objetivos chaves no seu design.Os três principais cenários de uso para o SQL Server Express são:
· Desenvolvedores construindo aplicações baseadas na Web
· Empresas desenvolvedoras de programas que redistribuem o SQL Server Express para armazenamento de dados seja como cliente ou servidor de baixo custo.
· Hobistas que criam aplicações cliente/servidor básicas
O SQL Sever Express proporciona uma plataforma de banco de dados confiável e fácil de utilizar que cobre bem os cenários apresentados acima.
Instalando e Configurando o SQL Server 2005 Express
A partir deste parágrafo iremos descrever passo-a-passo o processo de instalação do SQL Server 2005 Express. Quando você instala o SQL Express, os protocolos de rede são desabilitados por padrão, isto faz com que ele não aceite conexões vindas de outras estações de uma rede. Sendo assim, descreveremos também como configurar o SQL Express para permitir a comunicação entre ele e suas aplicações.
Requisitos Necessários
Antes de iniciar a instalação do SQL Server 2005 Express, é importante observar que para instalar e funcionar adequadamente alguns requisitos são necessários como:
Processador: Pentium III ou compatível 500Mhz, recomendado 1Ghz
Sistema Operacional:
Memória RAM: Mínimo de 192MB, recomendado 512MB ou superior
Windows Server 2003 SP1,
Windows Server 2003 Enterprise Edition SP1,
Windows Server 2003 Datacenter Edition SP1,
Windows Small Business Server 2003 Standard Edition SP1,
Windows Small Business Server 2003 Premium Edition SP1,
Windows XP Professional SP2,
Windows XP Home Edition SP2,
Windows XP Tablet Edition SP2,
Windows XP Media Edition SP2,
Windows 2000 Professional Edition SP4,
Windows 2000 Server Edition SP4,
Windows 2000 Advanced Edition SP4,
Windows 2000 Datacenter Server Edition SP4,
Espaço em disco: 600MB livres
Software:
- Microsoft .NET Framework 2.0 (2.0.50727.42)
- Windows Installer 3.1
- Microsoft Internet Explorer 6.0 SP1 ou superior
Nota: O Microsoft .NET Framework 2.0 e o Windows Installer 3.1 não são instalados juntos com o SQL Express. Sendo assim, certifique-se de estar com o .NET Framework 2.0 e Windows Installer 3.1 instalados antes de iniciar a instalação do SQL Express.
Instalação Lado-a-Lado com o SQL Server 2000
Se você pretende instalar o SQL Express em um computador que já tenha o SQL Server 2000 ou MSDE instalado, garanta que o SQL Server 2000 ou MSDE esteja atualizado com o SP3 ou superior. Versões anteriores ao SP3 não compartilham apropriadamente a porta UDP 1434 e pode fazer com que sua instância do SQL Express não esteja disponível para as aplicações clientes.
Embora você possa alterar a ordem de inicialização dos serviços para que o serviço SQL Browse inicie antes do SQL Server 2000 ou MSDE, o recomendado é que você atualize todas as versões do SQL Server 2000 ou MSDE para o SP3 ou superior. Para fazer download do Service Pack mais recente, veja site do Microsoft SQL Server.
(http://www.microsoft.com/technet/prodtechnol/sql/2000/downloads/default.mspx)
O Serviço SQL Browser
O serviço SQL Browser (sqlbrowser) permite que aplicações clientes se conectem a uma instância do SQL Server 2005 ou SQL Server 2005 Express sem conhecer a porta TCP/IP atribuída para a instância.
Nota: Por razões de segurança, o SQL Express não inicia automaticamente o serviço SQL Browser durante a instalação.
Como o Serviço SQL Browser trabalha
Quando uma instância do SQL Express é iniciada, ela é atribuída a um número de porta TCP/IP. Esta porta será usada pela instância para se comunicar ou trocar dados com as aplicações clientes. Devido este número de porta ser geralmente desconhecido para as aplicações, o serviço SQL Browser atua como um tradutor,traduzindo o nome de instância passado pela aplicação, para o número de porta TCP/IP apropriada. Para fazer isso, o serviço SQL Browser fica escutando por
requisições de rede nas portas TCP/IP 1433 e 1434.Por default, o serviço SQL Browser está desativado. Se você esta acessando um cópia local do SQL Express, você não necessitará iniciar este serviço. Entretanto, se você precisa que sua aplicação acesse o SQL Express através da rede, você deverá primeiro habilitar um dos protocolos de rede e então iniciar o serviço SQL Browse.
Instalando o SQL Server Express
Para iniciar o processo de instalação do SQL Express, efetue duplo-clique sobre o arquivo SQLEXPR.EXE
Nota: Se preferir, é possível extrair os arquivos de instalação para um diretório temporário utilizando a sintaxe SQLEXPR.EXE /X via linha de comando.
Na janela End User License Agreement, leia a licença de uso e selecione o check box I accept the licensing terms and conditions. Clique em Next para prosseguir.
O SQL Server Component Update é executado e instala os requisitos necessários para a instalação do SQL Express, como o Microsoft SQL Native Client e Microsoft SQL Server 2005 Setup Support Files.
Na janela Welcome to the Microsoft SQL Server Installation Wizard clique em Next para prosseguir.
No próximo passo o SQL Express apresenta a janela System Configuration Check (SCC). Da mesma forma como no SQL Server 2005, o SQL Express faz uma verificação em busca de possíveis problemas (requisitos mínimos de hardware e software) que possam impedir a instalação do SQL Express. Caso algum problema seja encontrado, você terá a opção de visualizar o relatório sobre o problema encontrado e possível solução.
Na janela Registration Information entre com as informações solicitadas e clique em Next.Algumas observações importantes devem ser feitas aqui:
a) Devido ao SQL Express ser um produto gratuito, não existe solicitação para o Product Key.
b) Se você selecionar a opção Hide advanced configuration options, a janela Service Account - a qual permite definir qual conta de usuário será usada para iniciar os serviços do SQL Express, e a janela Collation Settings - o qual permite informar qual Collation e Code Page o SQL Express deverá utilizar, não serão apresentadas. Neste caso o SQL Server Express será instalado com sua configuração padrão.
Na janela Feature selection, selecione os componentes que deseja instalar e clique em Next para prosseguir.
A janela Instance Name (não será apresentada se você selecionar a opção Hide advanced configuration options), permite que você selecione uma Default Instance ou Named Instance para sua instalação.
Quando o SQL Server 2005 é instalado como Default Instance, ele não requer que o cliente especifique o nome da instância para fazer a conexão. O cliente necessita conhecer apenas o nome do servidor SQL ao qual deseja se conectar.Uma Named Instance é identificada pelo nome do servidor mais o nome da instância que você especificou durante a instalação. O cliente necessita conhecer o nome do servidor e o nome da instância para se conectar.Por default, o SQL Server é instalado como Default Instance (não nomeada) a menos que você especifique um nome de instância durante a instalação.
Ao contrário do SQL Server, o SQL Server Express é por default instalado como Named instance,tendo como nome padrão para a instância o nome “SQLExpress”. Se você não informar um nome para a instância durante a instalação ou não desmarcar a opção Hide Advanced configuration options, o nome padrão será usado. Neste caso, você deverá acessar o SQL Express como Nomedocomputador\SQLExpress.
Você também pode instalar o SQL Express como Default Instance (não nomeada), se nenhuma outra versão do SQL Server já estiver instalada no servidor como Default Instance. Para fazer isso, instale o SQL Express como Named Instance usando como nome para a instância o nome MSSQLSERVER.
Nota: Para que o SQL Express permita informar um nome diferente para a instância, desmarque a opção Hide Advanced configuration options na janela Registration Information no início da instalação.
A janela Service Account (não será apresentada se você selecionar a opção Hide advanced configuration options), permite que se atribua a conta local system (local system account) ou uma conta de usuário de domínio (domain user account) para iniciar os serviços SQL Server Express.
Por default o SQL Server Express é instalado tendo a conta de sistema Network Service como conta para a inicialização dos serviços. Entretanto, a recomendação é que se use uma conta de domínio ou então se crie uma conta local específica para a inicialização dos serviços.
Na janela Authentication Mode especifique o modo de segurança que deverá ser utilizado para se conectar ao SQL Express e clique em Next.Recomendo deixar como autenticação mista, assim, caso possua alguma aplicação que utilize autenticação do SQL você não terá problemas.
Na janela Collations Settings selecione o Collation e o sort order desejado e clique em Next para continuar.
Nota: Por padrão o SQL Express é instalado como case-insensitive, accent-sensitive,ou seja, não faz restrição a maiúsculas e minúsculas, mas faz restrição a acentuação. Com isso, durante uma pesquisa, "João" e "joão" são a mesma coisa mas "João" e "Joao" ou "joão" e "joao" NÃO são. Para evitar futuros problemas com acentuação ou caracteres maiúsculos e minúsculos, recomendo que você selecione o Collate conforme tela acima. A não ser é claro, que você precise manter a compatibilidde de collate com outos servidores. Neste caso, selecione seu collate conforme o collate das versões anteriores.
A próxima janela apresentada, refere-se às permissões do usuário.Caso esteja instalando o SQL no Windows Vista, ou com usuário sem permissão de administrador, marque esta opção.Ela adicionará seu usuário ao grupo Administradores do SQL.
Na janela Error Reporting, selecione se você deseja reportar erros para o SQL Express e seus componentes à Microsoft. Esta opção é habilitada por padrão.
Na janela Ready to Install , clique em Install para iniciar o processo de instalação do SQL Express.Assim como no SQL Server 2005, a janela Setup Progress permite acompanhar o processo de instalação de cada componente.
Instalando o SQL Server Express via linha de comando
Para aqueles que estão acostumados a instalar o MSDE 2000 via linha de comando, verão que instalar o SQL Server Express via linha de comando é tão simples quanto instalar o MSDE. Inclusive, a sintaxe e os parâmetros de instalação são bem semelhantes.Antes de iniciar o processo de instalação do SQL Express via linha de comando, é preciso extrair os arquivos de instalação para um caminho temporário. Para extrair os arquivos de instalação, execute o pacote do SQL Express com a opção /X e informe o caminho onde os aquivos deverão ser extraídos.
Exemplo: C:\SQLEXPR.EXE /X
Depois de extraído os arquivos, a instalação do SQL Express via linha de comando pode ser realizada de duas formas bastante simples:
Chamando o setup.exe e especificando os parâmetros desejados na própria linha de comando.
Exemplo:
start /wait <caminhotemporario>\setup.exe /qb ADDLOCAL=ALL INSTANCENAME=SQLEXPRESS SECURITYMODE=SQL SAPWD=pass SQLCOLLATION="SQL_Latin1_General_CP1_CI_AI" SQLAUTOSTART=1 DISABLENETWORKPROTOCOLS=0
Criando um arquivo de configuração e especificando o mesmo na linha de comando .
Caso você não queira executar o setup especificando os parâmetros, uma alternativaé executá-lo informando um arquivo .ini, o qual deverá conter todos os parâmetros a serem utilizados durante a instalação.
O arquivo .ini é um arquivo texto que pode ser criado usando o NotePad e deve ser salvo com a extensão .ini. A primeira linha do arquivo deve ser [Options], depois se devem especificar os parâmetros sendo um em cada linha. Depois de criado o arquivo .ini, execute o setup usando a opção /settings para informar o arquivo .ini.O exemplo abaixo utiliza o arquivo setup.ini para executar o setup.exe e informar os parâmetros desejados.
Exemplo:
start /wait <caminhotemporario>setup.exe /qb SAPWD=pass /settings<caminhotemporario>\setup.ini
Conteúdo do arquivo setup.ini
[Options]
ADDLOCAL=ALL
INSTANCENAME=SQLEXPRESS
SECURITYMODE=SQL
SQLCOLLATION="SQL_Latin1_General_CP1_CI_AI"
SQLAUTOSTART=1
DISABLENETWORKPROTOCOLS=0
ADDLOCAL=ALL : informa ao setup do SQL Express que devem ser instalados todos os seus componentes.
INSTANCENAME: indica o nome da instância
SECURITYMODE: indica que o modo de autenticação a ser utilizado é o SQL Authentication, SQLCOLLATION: informa o collation default a ser utilizado pelo SQL Express
SQLAUTOSTART: informa ao setup para configurar o serviço do SQL Express para inicialização automática,
SAPWD: informa a senha para o usuário sa e o parâmetro
DISABLENETWORKPROTOCOLS: indica quais os protocolos deverão estar habilitados.
É importante ficar atento ao valor informado no parâmetro DISABLENETWORKPROTOCOLS, o qual por default é 1. O valor 1 informa ao SQL Express para desativar os protocolos TCP/IP e Named Pipes. Como conseqüência o SQL Express não aceitará conexões vindas de outras máquinas da rede. Os possíveis valores para o parâmetro podem ser.
DISABLENETWORKPROTOCOLS = 0; Shared Memory= On, Named Pipe= On, TCP=On
DISABLENETWORKPROTOCOLS = 1; Shared Memory= On, Named Pipe= Off (Local Only),TCP= Off
DISABLENETWORKPROTOCOLS = 2; Shared Memory= On, Named Pipe= Off (Local Only), TCP= On
Ao utilizar um dos dois métodos de instalação apresentados acima, as contas de serviço SQL Server Express e SQL Server Browser serão iniciadas com o usuário de sistema NT AUTHORITY\NetworkService. Para especificar uma conta de serviço diferente, acrescente os parâmetros abaixo:
SQLACCOUNT=<domain\user>
SQLPASSWORD=<domainuserpassowrd>
SQLBROWSERACCOUNT=<domain\user>
SQLBROWSERPASSWORD=<domainuserpassowrd>
Para obter uma lista completa de todos os parâmetros que podem ser utilizados na instalação via linha de comando e seus respectivos significados, após extrair os arquivos do SQL Express para um caminho temporário, leia o arquivo template.ini.
Configurando o SQL Express para a Rede
Se você esta desenvolvendo ou possui uma aplicação que irá se conectar a uma instância do SQL Express através da rede, existem várias considerações que se deve estar ciente:
Por razões de segurança, os protocolos de rede são desabilitados por padrão.Você pode habilitar os protocolos individualmente durante a instalação (quando instalando o SQL Express via linha de comando) ou após a instalação.
Por padrão, o SQL Express é instalado como Named Instance.
O serviço SQL Browser é usado por alguns protocolos de rede para associar instâncias nomeadas com números de portas TCP/IP. Entretanto, se o SQL Express é instalado no mesmo computador que uma versão anterior ao SP3 do MSDE ou SQL Server 2000, pode ocorrer alguns conflitos.Quando você instala o SQL Express, os protocolos de rede são desabilitados por padrão. Isto faz com que após a instalação, o SQL Express não aceite conexões vindas de outras estações de uma rede. Apenas a conexão local (na própria máquina onde o SQL Express foi instalado) é permitida. Para permitir que o SQL Express se comunique com suas aplicações através de uma rede, você deve primeiro habilitar um dos protocolos de rede e então iniciar o serviço SQL Browser.
O SQL Express suporta os seguintes protocolos de rede:
Protocolo de rede
Descrição
Padrão
Shared Memory
Permite conectar a uma instância do SQL Express rodando no mesmo computador. Não pode ser usado para acesso de outras estações da rede.
Habilitado
TCP/IP
Permite que outras estações se conectem ao SQL Express por especificar o nome do servidor e o nome da instância (default SQLExpress) ou o endereço IP e o nome da instância.
Desabilitado
Named Pipes
Permite que outras estações se conectem ao SQL Express por suportar vários protocolos de rede, incluindo NetBEUI,TCP/IP e IPX/SPX. Ele seleciona o protocolo de rede automaticamente baseado na configuração do cliente.
Desabilitado
Habilitando os protocolos de Rede
Demonstrarei aqui como habilitar e configurar o protocolo TCP/IP no SQL Express usando o utilitário SQL Server Configuration Manager.
Nota: Você deverá reiniciar o serviço do SQL Express após fazer alterações para os protocolos de rede. Também é recomendado a reinicialização do serviço SQL Browser.
Para habilitar o protocolo TCP/IP:
1) No menu Iniciar selecione Programas, Microsoft SQL Server 2005 e então clique sobre SQL Server Configuration Manager.
2) Expanda SQL Server 2005 Network Configuration e clique sobre Protocols for InstanceName. No painel da direita, clique com o botão direito sobre o protocolo TCP/IP e selecione Enable.
Para configurar o protocolo TCP/IP:
1) No SQL Server Configutation Manager, clique com o botão direito sobre TCP/IP e selecione Properties (Propriedades).
2) Na guia IP Addresses, para IPAll coloque 1433 em TCP Port.
3) Clique em OK para fechar a janela e salvar as alterações.
Nota: O procedimento acima configurou a porta 1433 para todos os IP configurados em sua máquina. Caso você deseje configurar uma porta apenas para um IP específico, localize o IP desejado (IP1, IP2...) e siga o mesmo procedimento.
Iniciando o serviço SQL Browser
Para iniciar o serviço SQL Browser, estando no SQL Server Configuration Manager:
1) Selecione SQL Server 2005 Services
2) No painel da direita, clique com o botão direito sobre o serviço SQL Server Browser e selecione Start (Iniciar).
3) Para fazer com que o serviço seja iniciado automaticamente, clique com o botão direito e Selecione Properties (Propriedades)
4) Na guia Services (Serviços), em Start Mode selecione Automatic (Automático)
5) Clique em OK para fechar a janela e salvar as alterações.
Testando a Conectividade com o SQL Server Express
Uma das maneiras mais simples de testar a conectividade com o servidor SQL Express é utilizando o utilitário de linha que comando sqlcmd.exe. Este utilitário é instalado junto com o SQL Express e para testar a conectividade, abra uma janela DOS e execute o comando
sqlcmd -E -S<servidorSQLExpress>
Caso você tenha selecionado Mixed Mode como método de autenticação ao SQL Express, então também pode utilizar o comando:
sqlcmd -Usa -Psenha_do_sa -S<servidorSQLExpress>
Se o prompt de comando ficar como 1>, é sinal de que a conexão foi estabelecida com sucesso.
Além do utilitário sqlcmd.exe, também é possível testar a conectividade remota com o SQL Express utilizando o utilitário PortQry. O PortQry é um utilitário de linha de comando (também existe uma opção gráfica) que você pode utilizar na solução de problemas de conectividade com o protocolo TCP/IP. Ao ser executado ele mostrará o status da porta TCP ou UDP, seja para um computador local ou remoto. O PortQry pode ser executado sobre o Windows Server 2003/XP e 2000.
Quando executado sobre a porta UDP 1434, o PortQry consulta todas as instâncias do SQL Server que estão rodando no computador.Para testar a conectividade utilizando o PortQry, supondo que o utilitário esteja na raiz do disco C:\.
1. Abra uma janela DOS e digite:
“C:\portqry -n NomedoServidor_ou_IP -e 1434 –p udp”
Um retorno semelhante ao abaixo garante que a porta está funcionando corretamente:
Querying target system called:
Svr2003
Attempting to resolve name to IP address...
Name resolved to 192.168.131.66
querying...
UDP port 1434 (ms-sql-m service): LISTENING or FILTERED
Sending SQL Server query to UDP port 1434...
Server's response:
ServerName WINXPTMP
InstanceName SQLEXPRESS
IsClustered No
Version 9.00.852
tcp 1433
==== End of SQL Server query response ====
2. Para testar a conectividade com a porta TPC/IP 1433 digite
“C:\portqry –n nomedoServidor_ou_IP -e 1433 -p tcp”
Um retorno semelhante ao abaixo garante que a porta está funcionando corretamente:
Querying target system called:
winxptmp
Attempting to resolve name to IP address...
Name resolved to 192.168.131.66
querying...
TCP port 1433 (ms-sql-s service): LISTENING