Antes
de mais nada, vamos exclarecer uma coisa. O SQL Server 2005 Express Edition (SQL
Server Express) não é o SQL Server 2005 propriamente dito. O SQL Server
Express é uma plataforma de banco
de dados baseada nas tecnologias do SQL Server 2005 e chega para substituir o
MSDE 2000. Ele é um produto gratuito e possui características de rede e
segurança que o diferenciam das demais edições do SQL Server 2005.
Neste
artigo pretendo fazer uma introdução básica sobre o SQL Server Express 2005,
falando sobre suas principais características e fazendo uma comparação com o
atual MSDE 2000.
Esta
edição do SQL Server Express tem como grande promessa uma superior facilidade de
utilização com um processo de instalação simples e robusto e com uma ferramenta
gráfica (SQL Express Manager), que permitirá realizar a adminsitração do
servidor de uma forma simples e prática. Esta ferramenta gráfica ainda esta em
desenvolvimento e será disponibilizada como um download gratuíto no site da
Microsoft.
O
SQL Server Express foi desenvolvido tendo em mente duas utilizações básicas: A
primeira, como um servidor de produtos, especialmente como um Web Server ou
Database Server. O segundo, como um cliente stand-alone, onde a aplicação não
precise depender de uma rede para obter acesso aos dados.
O Engine
O
SQL Server Express usa o mesmo engine que as demais edições do SQL Server 2005,
mas por ser uma edição digamos, linght, possui algumas limitações. O engine
suporta 1CPU, 1GB RAM e banco de dados com até 4GB. Uma mudança significativa em
relação ao MSDE 2000 é que o engine do SQL Express não possui a limitação de
usuários concorrentes, conhecida como “Concurrent Workload Governor” onde a
performance do MSDE 2000 é extremamente prejudicada na medida em que as conexões
concorrentes de usuários aumentam. Para saber mais sobre esta limitação do MSDE
2000, clique aqui.
O
SQL Server Express até pode ser instalado em máquinas multipracessadas mas
somente 1 CPU será reconhecida pelo engine. Como consequência, características
como execução de consultas em pararelo não é suportado pelo SQL Server
Express.
O
limite de 1GB RAM é apenas para o buffer pool. O buffer pool é usado para o
armazenamento de páginas de dados e outras informações. A memória necessária
para o gerenciamento de conexões, locks e outros não estão incluídos neste
limite de 1GB. Sendo assim, o SQL Express pode ser instalado normalmente em
máquinas com mais de 1GB, mas ele nunca usará mais que 1GB para o buffer pool.
AWE ou /3GB não é suportado.
O
limite de 4GB para o banco de dados é aplicado apenas para o arquivo de dados.
Entretando, não existe limite para o número de banco de dados que você pode
colocar no servidor.
O
SQL Server Express suporta instalação side-by-side com outras versões do SQL
Server, podendo coexistir na mesma máquina junto com instalações do SQL Server
2000, SQL Server 2005 ou MSDE 2000. Suporta um número máximo de 50 instâncias na
mesma máquina desde que cada instância seja unicamente identifica, ou seja, você
pode realizar até 50 instalações do SQL Express desde que cada instância tenha
um nome diferente. Por padrão o SQL Server Express é instalado com uma named
instance chamada SQLEXPRESS.
Ferramentas
Diferente
do MSDE 2000 que não possui ferramenta gráfica, o SQL Server Express possuirá
uma ferramenta gráfica chamada SQL Server Express Manager (XM). Esta, ainda em
faze de desenvolvimento permitirá uma fácil administração dos bancos de dados e
será distribuída separadamente em forma de download.
O
XM suportará conexões para SQL Server Express e outras edições do SQL Server
2005, SQL Server 2000 e MSDE 2000. Uma janela de conexão guiará o usuário
através da seleção de uma instância e o método de autenticação a ser utilizado,
suportando conexões locais ou remotas. Diversas funcionalidades de gerenciamento
de banco de dados estarão disponíveis através do menu de contexto (botão
direito) e wizards. Entre elas podemos citar, criar e modificar banco de dados,
tabelas, usuários e logins. O Query Editor do XM permitirá o desenvolvimento e
execução de instruções T-SQL e scripts.
Algumas da ferramentas inclusas no SQL Server Express são o SQL
Computer Manager, SQL Command e o utilitário BCP. O SQL Computer Manager
substitui os atuais Service Manager, Client Network Utilities e Server Network
Utilities, ele é usado para iniciar/ parar os serviços do SQL Server e para
habilitar e desabilitar os protocolos de rede. O SQL Command (sqlcmd.exe) é uma
versão OLE DB do osql.exe, ele não somente tenta manter as funcionallidades do
osql como também possui suporte aos novos tipos de dados do SQL Server 2005. SQL
Computer Manager e SQL Command são os mesmos em todas as edições do SQL Server
2005.
Suporte a Rede
Embora
o usuário possa habilitar o suporte a protocolos como TCP/IP e Named Pipes , por
padrão o SQL Server Express é instalado apenas com suporte a shared memory. Isto
faz com que por default o SQL Server Express funcione apenas localmente na
máquina onde foi instalado e não suporte conexões de clientes em uma rede. Para
suportar conexões de clientes remotos, é necessário habilitar o suporte a rede
no SQL Server Express. Para habilitar o suporte a rede, você tem as seguintes
opções:
- Usar
o SQL Computer Manager para habilitar os protocolos necessários (normalmente
TCP/IP) e iniciar o serviço SQL Browser.
- Usar
a parâmetro DISABLENETWORKPROTOCOLS=0 na linha de commando no momento da
instalação.
A
figura abaixo mostra o uso do SQL Computer Manager para habilitar protocolos de
rede.
O SQL
Browser é um novo serviço do SQL Server 2005 que identifica as portas que as
named instances estão usando. Este serviço vem desativado por default e deve ser
ativado para que a comunicação entre um cliente remoto e um servidor SQL Server
Express funcione corretamente.