Desenvolvimento - SQL

Conhecendo o SQL Server 2005 Express Edition

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.

por Nilton Pinheiro



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.

Funcionalidades

O SQL Server Express suporta a maioria das funcionalidades do SQL Server 2005. A tabela abaixo mostra algumas características e componentes suportados.

Stored Procedures

A tabela abaixo destaca os principais componentes do SQL Server 2005 que não são suportados nesta versão do SQL Express Edition:

  • Reporting Services
  • Notification Services
  • Analysis Services
  • SQL Agent
  • Full text search
  • DTS
  • OLAP Services / Data Mining
  • English Query

A tabela seguinte também destaca algumas características do SQL Server 2005 e do SQL Server 2000 que não são suportadas nesta versão do SQL Express:

Comparando o SQL Express com o MSDE

O SQL Express Edition é o successor do MSDE e está baseado nas caracterísrticas do SQL Server 2005. Este, possui características não presentes no MSDE como um robusto e simples setup GUI, suporte a CLR, ferramentas gráficas e integração com o Visual Studio. Entretanto, algumas características foram removidas do SQL Server Express como, suporte a DTS, replication publishing e SQL Agent. A limitação de conexões concorrentes do MSDE foi removida e ao invés disso o SQL Server Express usa as limitações de CPU, RAM e banco de dados para se diferenciar das outas edições.

A tabela abaixo faz uma comparação entre as limitações do MSDE 2000 e o SQL Express Edition 2005:

1

Nilton Pinheiro

Nilton Pinheiro - Graduado em Análise de Sistemas e possui pós-graduação em Redes Corporativas. Trabalhou vários anos como desenvolvedor em Microsoft Access e Visual Basic. Posteriormente trabalhou também como Adminstrador de Redes em uma Solution Provider Microsoft.
A 6 anos trabalhando com SQL Server, a 5 trabalha como DBA em uma conceituada instituição financeira em São Paulo. Seu foco está na admimistração de servidores corporativos sendo 90% deles, instalação em cluster Ativo/Ativo. Nilton é um Beta Tester Microsoft e está trabalhando em laboratório com o SQL Server 2005 desde seu Beta1, também é um Microsoft Certified Professional, Microsoft Certified Systems Engineer e Microsoft Certified Database Administrator.
Administrador do site MCDBA Brasil (
http://www.mcdbabrasil.com.br/).