XT-INDENT: 0cm">
Clique aqui para ler todos os artigos desta edição
SQL Server 2005
por Paulo Ribeiro
A Microsoft liberou recentemente a versão Beta-2 do futuro substituto do Microsoft SQL Server 2000 Desktop Engine (MSDE), agora conhecido por SQL Server 2005 Express Edition. Com a versão Express temos uma prévia do engine do banco, que por sinal agradou bastante. A mudança começa pelo nome – muitas pessoas não sabiam que o MSDE era uma versão light do SQL Server – e avança por um campo bastante amplo, que inclui inúmeras inovações no código T-SQL. Começaremos com um passo-a-passo da instalação, depois faremos um tour pelo Query Analyzer validando novos comandos e procedimentos.
Nota 1
Vale ressaltar que o Query Analyzer é uma ferramenta de apoio e não faz parte do kit de instalação da versão Express. Portanto, para acompanhar os exemplos dessa matéria você precisará de uma máquina pré-configurada com o client tools do SQL Server 2000. O client tools pode ser encontrado nas versões pagas Developer, Personal, Standard ou Enterprise.
O client tools pode ser encontrado nas versões Developer, Personal, Standard ou Enterprise Edition.
Um detalhe importante: como o próprio nome sugere, a versão Beta-2 ainda não é a versão final do produto, estando sujeita a alterações sem prévio aviso. Essa versão, em particular, expira em 18 meses; portanto utilize-a somente para fins de testes de avaliação.
Instalando e Configurando o SQL Server 2005 Express
Comece fazendo o download do produto em: http://www.microsoft.com/downloads/details.aspx?FamilyId=62B348BB-0458-4203-BB03-8BE49E16E6CD&displaylang=en.
Para que o SQL Server 2005 Express Edition consiga interagir com linguagens CLR (=Common Language Runtimes como C# ou Visual Basic .NET), é necessário instalar previamente o .NET Framework versão 2.0, cujo link você encontra na mesma página anterior, ou se preferir http://www.microsoft.com/downloads/details.aspx?familyid=B7ADC595-717C-4EF7-817B-BDEFD6947019&displaylang=en.
Após a instalação do .NET Framework 2.0, inicie o processo de instalação do SQL Express executando o pacote SQLExpr.Exe; você precisará de 80 Mb livres. As telas serão apresentadas e comentadas a seguir.
Inicialmente confirme os termos de licença do produto e clique em next. Feito isto será apresentada a Figura 1. Neste ponto, clique em finish. Se você se deparar com o erro apontado na Figura 2, isto indica que a versão beta-2 não suporta línguas diferentes do inglês. Se esse for o seu caso – sua versão do Windows é em português –, dê uma olhada no Box 1.
Figura 1. Tela inicial de instalação de componentes do SQLExpress.
Figura-2. Erro “Failed to load SqlSpars.dll”.
Clique em next mais duas vezes até que a tela de informações gerais (Figura 3) seja
apresentada. Nessa tela, além das informações de registro, existe uma terceira opção “um pouco escondida” na forma de um check box: Hide advanced configuration option, que na verdade quer dizer instalação padrão. Na instalação padrão (Hide Configuration Options está marcado), o SQL Server 2005 será instalado como uma instância, mesmo que essa seja a única versão instalada na máquina. Na versão customizada (Hide Configuration Options está desmarcado) você poderá alterar essa entre outras regras. Portanto, aconselho o formato de instalação customizada.
Nota 2
Até a versão 7.0 era possível manter uma e somente uma instância do SQL Server por servidor. Se você tentasse realizar uma nova instalação sem desinstalar a anterior o processo era abortado com uma mensagem de erro. A partir da versão 2000 surgiu o conceito de instância: você pode configurar uma máquina para receber mais de uma instalação do SQL Server; para isso basta definir um nome diferenciado para a segunda instância no momento da instalação. Por exemplo, no servidor chamado SrvSQLMagazine a primeira instância é referenciada pelo próprio nome do servidor (=SrvSQLMagazine). Se chamarmos a segunda instância de Inst_2, no momento da conexão deveremos especificar o nome do servidor como SrvSQLMagazine\Inst_2
Figura 3. Informações gerais.
Desmarque essa opção para instalação Customizada.

Na próxima tela você deverá selecionar quais componentes você deseja instalar. Certifique-se de que todos estão marcados. Troque o
Figura 4. Assinale os componentes que você deseja instalar.
A seguir você deverá definir se o SQL Server 2005 Express será instalado como uma instância ou no formato padrão. Escolha Named Instance se você já possui uma versão instalada do SQL Server 2000 (MSDE ou Standard); caso contrário Default Instance é a melhor opção (Figura 5).
Figura 5. Definindo a modalidade de instalação: Instância ou Padrão.
Clique duas vezes em next até chegar à tela para definição da conta que iniciará o serviço (Figura 6). Se você pretende utilizar o SQL Express apenas por uma aplicação local selecione Use the Local System Account. Agora se os serviços do banco forem utilizados por uma aplicação que compartilha o banco de dados nesse servidor, opte por Use a Domain User Account.
Figura 6. Definindo a conta que irá iniciar o serviço do banco.
Clicando em next será apresentada a tela para definição do modelo de autenticação (Figura 7): selecione Windows Authetication Mode para trabalhar somente com segurança integrada ou Mixed Mode para trabalhar com os dois modelos existentes (Standard e Integrada). Mais informações sobre métodos de autenticação, convido o leitor a fazer a leitura do artigo “Gerenciando Contas e Permissões no SQL Server 2000 – Parte I” desta edição. Clique em next.
Figura 7. Definindo o modelo de autenticação.
Chegou a hora de definir o collation (ler Nota 3) que será utilizado no servidor. Se você precisa de compatibilidade com bases legadas em SQL Server 7.0, selecione SQL Collations, caso contrário aceite o padrão Latin1_General (Figura 8).
Nota 3
Collation serve para mapear o conjunto de caracteres de uma língua, transformando cada caractere em uma seqüência de bits para fins de armazenamento e operações de ordenação. Até a versão 7.0, o collation utilizado era SQL_Latin1_General_CP1_CI_AS; a partir da versão 2000 passou para Latin1_General_CI_AS. Essa mudança deve-se a uma padronização na utilização das páginas de código utilizadas pelo SQL Server e o Windows. O que você tem a ver com isso? Bem, procure não criar databases com collations diferentes. Procure manter sempre o mesmo collation em suas instalações; pois tabelas com collations diferentes necessitam de funções especiais para processar joins, causando muitos transtornos por sua ineficiência e não padronização.
Figura 8. Definindo o collation do servidor.
Clique no botão next mais duas vezes e finalmente em install. Será apresentada uma tela típica de instalação, mostrando o progresso dos componentes à medida que estão sendo configurados. No término da instalação, clique em next e por último em finish. Ufa!
Aconselho que você instale também o Books On Line (=BOL). Existem várias dicas interessantes sobre instalação, distribuição e protocolos de rede suportados nessa versão. O link para baixar o BOL pode ser encontrado na mesma página de download do SQL Express, na caixa Related Resources.
Validando a instalação
Para verificar se a instalação foi bem sucedida, vá ao prompt do sistema operacional e execute a linha de comando SQLCmd, conforme demonstrado na Figura 9. Substitua paulosribeiro pelo nome da máquina. \sqlexpress é o nome da instância onde o SQL Server Express foi instalado (se você instalou o produto em Default Instance omita essa informação).
Figura 9. Executando o utilitário de linha de comando SQLCmd para validar a instalação.
No exemplo da Figura 9 SQLCmd irá abrir uma conexão com o banco e recuperar a versão instalada do produto. Note que Yukon - 9.00.852 aparece na descrição do produto. Yukon é o code-name do SQL 2005, e deverá ser substituído na versão final. Esse mesmo teste pode ser reproduzido no Query Analyzer se você possuir as ferramentas de client do SQL Server 2000. Se você não conseguiu realizar o teste acima, siga até o Box 2.
Testando as novas features
Veremos a partir de agora algumas novidades que poderão estar na versão final do SQL Server 2005. Os testes serão executados no database NorthWind, criado a partir do script encontrado na página de download do SQL Server 2005 Express.
SnapShot Isolation Level
No nível de isolamento padrão (Read Committed), não são permitidas leituras em linhas que estão em processo de alteração. Nesses casos, a transação que requisitou a leitura fica aguardando pelo término da transação responsável pela modificação.
No nível de isolamento SnapShot, a transação que requisitou a leitura consegue acessar uma versão anterior à modificação, sem ter que aguardar pela conclusão da transação responsável pela modificação da linha. A grande vantagem desse novo método é a eliminação por completo de travamentos para operações de leitura de dados. O teste apresentado na Tabela 1 foi executado em duas sessões, chamadas de sessão-1 e sessão-2
Tabela 1.
|
SESSÃO –1 |
SESSÃO –2 |
|
Abra a sessão-1 no Query Analyser |
|
|
Configure o database NorthWind para aceitar o nivel de isolamento snapshot | |
|
Alter database NorthWind set ALLOW_SNAPSHOT_ISOLATION ON | |
|
Crie a tabela tb_Teste | |
|
use NorthWind go create table tb_Teste (codigo int, nome varchar(30)) insert into tb_Teste values (1, 'Paulo Ribeiro') insert into tb_Teste values (2, 'Ana Lucia') | |
|
Inicie uma transação para alterar o nome de codigo=1 para ‘123456’ | |
|
BEGIN TRAN update tb_Teste set nome='123456' |