SQL Server 2005 Express – Considerações

16 02 2009

Untitled

O SQL Server 2005 Express Edition (SQL Server Express) é uma é uma tecnologia de base de dados da Microsoft, baseada nas tecnologias do SQL Server 2005. Esta versão vem substituir o MSDE 2000, que também ela é gratuita.

O SQL Server Express 2005 possui características de rede e segurança que o diferenciam das restantes versões.

Embora limitado de certa forma, é um grande avanço em relação ao MSDE (Microsoft DataBase Engine) já que tem um interface gráfico para instalação e administração bastante simples e eficaz. Alem do “motor” existe também o SQL Express Manager também ele gratuito que permite fazer administração das bases de dados. No MSDE não existia nenhum recurso para tal.

Um dos pontos negativos é o facto de esta versão suportar apenas o uso de 1CPU, até 1GB de RAM e o limite por base de dados ser de 4GB (no MSDE são 2GB de limite). Não existe qualquer limitação para o numero de bases de dados. Poderá ser um problema para sistemas onde a quantidade de informação cresça exponencialmente, de forma que deve ser ponderada a opção de comprar uma licença de uma versão que não imponha este limite. Ao contrário do MSDE/SQL Server 2000, esta versão já não suporta o

Windows 98/Me, passando assim a suportar o Windows VISTA. Esta é uma das muitas razões que fazem com que o MSDE deixe cada vez mais  de ser utilizado.

O Suporte a ligações exteriores de rede é também garantido embora esteja inactivo por defeito por questões de segurança. Até que isso seja alterado, não são suportadas conexões de clientes na rede, e todas as tentativas resultarão em erro.

Podem ocorrer os seguintes erros:

  • "SQL SERVER does not allow remote connections";
  • "SQL Network Interfaces, error: 26 – Error Locating Server/Instance Specified";
  • "An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005,this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.(provider:Named Pipes Provider,error:40-Could not open connection to SQL Server))";
  • "Server does not exist or access denied".
De entre os vários factores que podem bloquear a comunicação, os mais comuns são:

Firewall:

Quer seja a firewall do Windows ou de terceiros, ela pode estar a impedir o acesso. O recomendado é desactivar temporariamente a firewall durante a instalação, e posteriormente voltar a activar criando as respectivas excepções para as portas utilizadas, ou para os executáveis.

As excepções na Firewall do Windows podem ser definidas indicando qual o executável da aplicação, ou indicando directamente qual a porta. (Para firewall’s de outros fabricantes terá de consultar a respectiva documentação.)

Caso existam no mesmo computador múltiplas instâncias  será importante definir uma excepção para executável de cada instância, e não pela porta, visto que nesse cenário múltiplas portas são utilizadas para múltiplas instâncias.

Sem título

Para o SQL Server a porta utilizada numa instância default, é a 1433 TCP, e o executável está normalmente em “C:\Programas\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe” .

Para o SQL Browser, a porta por defeito é a 1434 UDP, e o executável está normalmente em “C:\Programas\Microsoft SQL Server\90\Shared\sqlbrowser.exe” . O SQL Browser deverá ser activado e adicionado como excepção quando existe mais do que uma instância na máquina, ou quando a única instância é nomeada e não default. A função deste Serviço (apenas existente na versão 2005 e 2008) é permitir que aplicações clientes se liguem a uma instância nomeada do SQL 2005/2008, sem conheçer a porta TCP/IP atribuida.

O caminho de ambos, poderá ser diferente, dependendo do que foi definido na instalação. O “MSSQL.1” também poderá ser diferente, já que o “1” é um identificador da instância. Se optar por definir o executável, ao invés de definir o numero e protocolo da porta, terá que voltar a repetir os passos para cada instância do SQL instalada, ou seja, para cada pasta “MSSQL.X”, em que X é o ID da instância.

Protocolos/Serviços inactivos:

Em SQL Server 2005 Services, no painel da direita, clicar com o botão direito sobre o serviço SQL Server Browser e seleccione Start (Iniciar). Ainda nas opções, em Properties > Service, configurar em Start Mode para Automatic. Isto fará com que este serviço arranque com o sistema operativo. Poderá também acontecer que o SQL Server Browser já esteja activo quando existir pelo menos uma instância nomeada.

Untitled

É necessário activar todos os protocolos de rede. Terá que ir ao  Menu Iniciar > Microsoft SQL 2005 > Configuration Tools > SQL Server Configuration Manager. Ficará visível a seguinte opção onde terá que mudar todos os protocolos para “Enabled”:

attachment6

Repetir  o procedimento em SQL Native Client Configuration > Client Protocols:

attachment14

Agora terá que ir a Menu Iniciar > Microsoft SQL 2005 > Configuration Tools > Server Surface Area Configuration onde depois de clicar em “Surface Area Configuration for Services and Connections” terá acesso à seguinte janela:

attachment16

Aqui terá que activar a opção “Local and Remote connections” e de seguinda: “Using both TCP/IP and named pipes”.

Ainda que não tenha propriamente a ver com ligações de rede, terá de activar, em Menu Iniciar > Microsoft SQL 2005 > Configuration Tools > Server Surface Area for Features as opções “Enable Xp_CmdShell” e "Enable OPENROWSET and OPENDATASOURCE support", que se encontra no separador “Ah Hoc Remote Queries”.

22attachment16

No final de tudo isto, será bom reiniciar o computador por forma a reiniciar os serviços do SQL.

Conclusão:
Como podemos verificar o SQL Server Express tem várias vantagens, tanto pela simplicidade de administração, tanto pela segurança. No entanto perdeu funcionalidades do MSDE também elas importantes como o SQL Agent que permite agendar rotinas de manutenção, como cópias de segurança. Tal situação pode ser colmatada de forma simples com aplicações de terceiros. Veja o post: Backups em SQL Express 2005/2008

Página do SQL Express 2005 na Microsoft (Inglês): http://www.microsoft.com/Sqlserver/2005/en/us/express.aspx

 

 

invoic€xpress<


Ações

Information

6 responses

23 03 2009
António Coelho

Olá, após efectuar todas as indicações sugeridas neste artigo, quando tento configurar o Primavera Adm, dá-me a indicação de que nao é possivel ligar ao servidor e pede para verificar os dados que introduzi (inclusive tentei com o IP, user:sa e pass:primavera) e pede para verificar o modo de autenticaçãi do sql server, o que devo fazer?
muito obrigado

24 03 2009
XpecialGUEST

Olá.

Partindo do principio que estará a utilizar o Primavera Express, e como o mesmo só permite 1 único posto, não creio que o problema esteja relacionado com as configurações descritas neste post, já que estas indicações são para acessos de rede a um servidor SQL 2005. Ainda assim, confirme o seguinte: se está a instalar a última release do Primavera Express; antes da instalação desactivou o anti-vírus e firewall; se de facto o instalador do Primavera instalou o SQL Express 2005 e se a instancia PriExpress está a correr.

25 05 2009
SQL SERVER – xp_cmdshell « ..::invisible flame light::..

[…] OBS: Ver esta e outras configurações de forma mais detalhada aqui. […]

18 12 2011
Pedro Vasconcelos » Blog Archive » SQL SERVER – xp_cmdshell

[…] OBS: Ver esta e outras configurações de forma mais detalhada aqui. […]

29 03 2012
Joao Santos

Boas
Já agora como posso activar o ““Enable Xp_CmdShell” no sql esxpress 2008
Muito Obrigado

30 03 2012

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s




%d bloggers like this: