Visão geral do SQL Server "Yukon" para DBAs

Autor: Eric Brown

Outubro de 2003

Resumo: este documento apresenta uma visão geral dos novos recursos para a administração de banco de dados, bem como para a disponibilidade e a escalabilidade e segurança de banco de dados.

Introdução

A mais nova versão do Microsoft SQL Server, chamada pelo codinome "Yukon", oferece ao sistema de servidores Windows uma plataforma de banco de dados para a próxima geração de aplicativos corporativos escalonáveis, confiáveis e que têm uma relação entre si. A profundidade e abrangência dessa inovação vêm responder às necessidades de inúmeros clientes. Após a leitura deste documento, os administradores de banco de dados (DBAs) terão uma visão dos novos recursos e capacidades encontrados no SQL Server Yukon. De inúmeras melhorias em recursos existentes a um modelo de segurança totalmente novo, hoje a administração de banco de dados está mais produtiva e sintonizada com as necessidades do administrador.

O mundo dos DBAs está mudando. Inúmeras são as reivindicações para que os DBAs gerenciem um número maior de sistemas com uma quantidade maior de dados, enquanto a corporação tenta manter os custos de TI no mesmo patamar ou em um patamar ligeiramente inferior. Ao mesmo tempo, os desenvolvedores estão exigindo mais dos DBAs para que os ajudem a compreender os modelos de dados e os melhores paradigmas de acesso a dados com o objetivo de criar aplicativos confiáveis cujo desempenho esteja à altura do que a corporação necessita. Diante dessa animosidade, os DBAs precisam contar mais com as tecnologias de banco de dados no que diz respeito à gerenciabilidade, escalabilidade e disponibilidade da empresa. O SQL Server “Yukon” oferecerá a base na qual os DBAs podem apostar para criar sua próxima geração de infra-estrutura de TI.

Essencialmente, o SQL Server “Yukon” conta com novos recursos de aplicativos de infra-estrutura. O SQL Service Broker (SSB), uma estrutura de aplicativos distribuídos, oferece uma nova forma de escalabilidade e confiabilidade à entrega assíncrona de mensagens. Embora não sejam novos no SQL Server “Yukon”, o Notification Services, o Reporting Services e o SQL Server Mobile Edition, antes denominado SQL Server Compact Editon, foram sensivelmente aperfeiçoados.

SQL Service Broker

Nos últimos 10 anos, a proliferação de aplicativos de comércio eletrônico fez surgir a necessidade do gerenciamento crescente de processos nos aplicativos de banco de dados. Se alguma vez já criou um sistema de entrada de pedidos ou solicitou algum produto on-line, você conhece bem essa experiência: um cliente faz um pedido de um livro. Esse pedido precisa registrar operações no sistema de inventário, envio e cartão de crédito, bem como enviar uma confirmação de pedido por meio de um outro aplicativo da Web. Aguardar cada um desses processos em seqüência significa que eles não estão bem dimensionados. Com o SQL Server Yukon, é possível contar com uma nova arquitetura escalonável para criar um roteamento assíncrono de mensagens.

A tecnologia do SQL Server Service Broker possibilita que processos internos ou externos enviem e recebam mensagens assíncronas infalíveis usando extensões para a linguagem de manipulação de banco de dados Transact-SQL. As mensagens são enviadas a uma fila no mesmo banco de dados do remetente, para outro banco de dados na mesma instância do SQL Server ou a uma instância do SQL Server no mesmo servidor ou em um servidor remoto. O SQL Service Broker dispõe do que há de melhor em mensagens assíncronas oferecendo o melhor suporte transacional disponível, o mecanismo relacional do SQL Server.

Reporting Services

Com a versão do SQL Server Yukon, a Microsoft apresenta um novo e importante componente de sua plataforma integrada de Business Intelligence. O SQL Server Reporting Services™ amplia a visão de Business Intelligence da Microsoft, tornando mais fácil a obtenção de informações adequadas para as pessoas certas – em qualquer ambiente de negócios.

O Reporting Services, uma plataforma completa de servidor para criar, gerenciar e fornecer relatórios tradicionais e interativos, tem todas as soluções de que você precisa prontas para criar, distribuir e gerenciar relatórios. Ao mesmo tempo, o projeto modular e as APIs (interfaces de programação do aplicativo) do produto permitem que os desenvolvedores de software, provedores de dados e empresas gerem relatórios com sistemas herdados ou com aplicativos de terceiros.

O Reporting Services é oferecido com o SQL Server Yukon e inclui:

  • Um conjunto completo de ferramentas para criar, gerenciar e exibir relatórios.
  • Um mecanismo para hospedar e processar relatórios.
  • Uma arquitetura extensível para incorporar relatórios ou integrar a solução em diferentes ambientes de TI.

Notification Services

O Microsoft® SQL Server™ Notification Services é uma plataforma de desenvolvimento e implantação de aplicativos que gera e envia notificações aos usuários. As notificações são mensagens personalizadas e oportunas que podem ser enviadas a inúmeros dispositivos.

As notificações refletem as preferências do assinante. O assinante inscreve-se para manifestar um interesse por informações. Por exemplo, "notifique-me quando o preço das ações do ADCP chegar a US$ 70,00" ou "notifique-me quando o documento de estratégia que minha equipe está escrevendo for atualizado".

Uma notificação pode ser gerada e enviada ao usuário assim que um evento de disparo ocorre ou de acordo com uma programação predeterminada, especificada pelo usuário. A assinatura do usuário especifica quando a notificação deve ser gerada e enviada ao usuário.

As notificações podem ser enviadas a inúmeros dispositivos. Por exemplo, uma notificação pode ser enviada para o celular, o PDA (assistente digital pessoal), o Messenger do Microsoft Windows ou para a conta de email de um usuário. Pelo fato de o usuário, em geral, estar sempre acompanhado desses dispositivos, as notificações são ideais para enviar informações de alta prioridade.

SQL Server Mobile Edition

O SQL Server 2000 é fornecido com o SQL Server Compact Edition, agora chamado de SQL Server Mobile Edition, que pode ser desenvolvido e gerenciado por meio do novo “Workbench” do SQL Server. Os DBAs poderão, portanto, criar um banco de dados SQL Server Mobile Edition na área de trabalho ou no dispositivo diretamente do SQL Workbench. Além disso, os DBAs poderão manipular diretamente o esquema do banco de dados do SQL Server Mobile Edition no SQL Workbench, independentemente de o banco de dados residir no dispositivo móvel ou na área de trabalho. Por meio do SQL Workbench, os DBAs também poderão criar bancos de dados de assinaturas e coletar dados de um banco de dados de publicação do SQL Server para um banco de dados do SQL Server Mobile Edition, na área de trabalho ou no dispositivo. Por fim, os DBAs poderão executar consultas por meio do SQL Workbench, que serão direcionadas para um banco de dados do SQL Mobile no dispositivo ou na área de trabalho, e poderão aproveitar os novos recursos do SQL Mobile, que incluem um Showplan XML, que será renderizado em um formato GUI, exatamente como o SQL Server nativo, e um recurso para usar dicas de consulta para substituir o otimizador de consultas no SQL Mobile. O SQL Mobile está integrado com o DTS. Os DBAs, de agora em diante, poderão acessar fontes de dados não-SQL e trazer dados diretamente para o banco de dados do SQL Mobile na área de trabalho usando objetos do DTS em aplicativos Whidbey. E o SQL Server Mobile vai se beneficiar diretamente das novas melhorias de desempenho da replicação de fusão, que aumentarão de maneira sensível a escalabilidade de um único servidor com milhares de bancos de dados de assinatura do SQL Server Mobile conectados simultaneamente.

Como você pode ver, há várias alterações na infra-estrutura da plataforma SQL Server. O mecanismo de banco de dados oferece uma infra-estrutura desenvolvida e confiável para escalabilidade, confiabilidade e segurança. As estruturas mencionadas anteriormente participam do cluster para failover, backup e restauração e do registro de transações. Além disso, são administradas pelo "Workbench" do SQL Server. O SQL Server tem uma ótima reputação por sua confiabilidade e escalabilidade. Há vários novos capítulos na história sobre disponibilidade para o SQL Server “Yukon.”

Alta disponibilidade e escalabilidade

O SQL Server "Yukon" está significativamente melhor no que diz respeito à disponibilidade e confiabilidade de banco de dados. Duas são as categorias em que se inscreve o tempo de parada: planejado e não planejado. O não planejado trata-se, na verdade, de recuperação de desastres e requer planejamento e infra-estrutura especiais. O SQL Server amplia o cluster para failover, acrescentando, ao mesmo tempo, uma nova tecnologia para recuperação de desastres apenas em banco de dados. Embora o cluster para failover possa ser usado para manter o sistema on-line durante manutenções planejadas, o SQL Server "Yukon" traz uma outra novidade, o espelhamento de banco de dados. O espelhamento oferece uma opção para disponibilidade de banco de dados fácil de usar. Antes de nos aprofundarmos nesse assunto, examinemos algumas das melhorias no cluster para failover.

Cluster para failover

No SQL Server Yukon, o cluster para failover oferece alta disponibilidade em caso de falha em todo o servidor. Por meio do cluster para failover, o sistema operacional e o SQL Server trabalham em comum acordo para oferecer proteção contra falhas. Para isso, fornecem hardware redundante e um mecanismo automatizado para mover o servidor de banco de dados para um hardware secundário, no caso de o servidor primário falhar. O cluster para failover oferece suporte para oito nós, no máximo, dependendo da versão do Windows Server 2003.

O SQL Server ampliou a capacidade do cluster para failover para o Analysis Services, Notification Services e SQL Server Replication. No SQL Server 2000, o Agente do SQL Server e outros recursos de gerenciamento e processamento de tarefas não são cobertos pelo cluster para failover. Agora, as tecnologias dispõem de reconhecimento de cluster e o cluster do SQL Server é uma solução mais completa de redundância de servidor.

Estendendo a alta disponibilidade a todos os aplicativos de banco de dados

O SQL Server Yukon estende o limite de disponibilidade de dados para novas direções por meio da técnica copy-on-write. O SQL Server “Yukon” introduz também uma nova tecnologia de transmissão de transações de alto desempenho para disponibilidade de banco de dados – o espelhamento de banco de dados. As transações são enviadas para outro servidor assim que os logs são gravados. Todas as alterações registradas na instância do banco de dados são rapidamente disponibilizadas para cópia em outro local.

Espelhamento de banco de dados

O Microsoft SQL Server Yukon aperfeiçoa de maneira sensível os recursos de envio de log oferecendo aos DBAs a opção de espelhamento de banco de dados.

Essa opção permite que o log de transações seja transmitido continuamente de um servidor de origem para um único servidor de destino. Na eventualidade de uma falha do sistema primário, os aplicativos são reconectados ao banco de dados do servidor secundário quase que imediatamente, sem precisar aguardar a conclusão do processo de recuperação. A instância secundária detecta a falha do servidor primário no prazo de cinco segundos e aceita as conexões do banco de dados em dois segundos após a detecção da falha. Diferentemente do cluster para failover, o servidor espelhado, por estar sincronizado, permanece totalmente em cache e pronto para aceitar cargas de trabalho.

O sistema de espelhamento de banco de dados exige três SQL Servers para desempenhar funções de arquitetura específicas. O servidor principal é o lugar em que os aplicativos conectam-se e as transações são processadas. O espelho é o destino dos registros do log de transações, que podem ser aplicados tanto de maneira síncrona quanto assíncrona. A configuração do espelho não permite acesso direto de leitura aos dados. À medida que são aplicados, os registros do log de transações são reproduzidos de modo contínuo no servidor espelho, situação em que o servidor espelho normalmente fica atrás apenas durante o tempo necessário para reproduzir o log gravado em uma única gravação de log. Isso faz com que os dados sejam replicados em momentos específicos.

Na arquitetura, a "testemunha" exerce a função de juiz. É a testemunha que dá o “voto” decisivo para determinar que servidor é o “principal” e que servidor é o “espelho”. Os dois servidores existentes na arquitetura precisam estar ajustados para que um seja designado como principal e, portanto, o destino de todas as transações. Do ponto de vista de um aplicativo cliente, o failover de um servidor para outro é automático e quase instantâneo. A testemunha é necessária apenas nas instâncias em que o failover automático é necessário.

Um dos fatores mais importantes no espelhamento de banco de dados, além da latência extremamente baixa durante o failover do servidor principal para o espelho, é sua capacidade de sincronizar alterações em ambas as direções. Na eventualidade de o servidor principal ficar off-line e o aplicativo efetuar failover para o espelho, o servidor espelho torna-se o principal na arquitetura. Quando o servidor que apresentou a falha volta a ficar on-line, é designado como espelho e os registros do log de transações do principal são aplicados ao espelho para que entre em sincronia com a condição do banco de dados nesse momento específico.

O espelhamento de banco de dados funciona com hardware de servidor comum e não exige nenhum armazenamento ou controle especial.

Embora o suporte oferecido pelo espelhamento de banco de dados seja contínuo, há várias situações em que é necessário um "instantâneo" do banco de dados como aquecimento do estado de espera frio; como um banco de dados de teste e desenvolvimento; ou como um banco de dados de relatório. A técnica copy-on-write oferece esse recurso como uma visualização (view) de banco de dados.

Visualização do banco de dados

O SQL Server Yukon introduz um recurso para que os administradores gerem e usem uma visualização (view) de banco de dados somente leitura estável. A visualização do banco de dados oferece esse recurso sem o custo envolvido na criação de uma cópia completa do requisito do banco de dados ou do armazenamento. Visto que o banco de dados principal é diferente da visualização, a visualização obtém uma cópia particular das páginas originais quando sofre alguma alteração. A visualização pode ser usada para recuperar uma alteração acidental de um banco de dados. Para isso, basta reaplicar as páginas da visualização no banco de dados principal.

Replicação

A replicação foi desenvolvida para aumentar a disponibilidade de dados estendendo-a para vários bancos de dados. A disponibilidade é ampliada ao se permitir que os aplicativos sejam dimensionados para a carga de trabalho de leitura do SQL nos bancos de dados ou ao sincronizar dados off-line com bancos de dados de usuários móveis conectados ocasionalmente. O SQL Server Yukon aumenta as opções de disponibilidade nesses dois âmbitos. O novo modelo de ponto a ponto do Yukon abre espaço para uma nova topologia, que amplia a disponibilidade do banco de dados possibilitando uma carga de trabalho de “leitura” superior em relação aos dados distribuídos e oferecendo, ao mesmo tempo, tolerância a falhas aos bancos de dados redundantes distribuídos. Uma nova opção de replicação por meio de http:// ou https:// melhora a disponibilidade de dados em situações móveis, o que permite a sincronização na Internet.

Minimizando o intervalo de manutenção

Uma das maiores preocupações dos administradores é reiniciar o servidor de banco de dados quando há alterações nos parâmetros de sistema do SQL Server. O SQL Server Yukon reduziu o número de parâmetros que exigem que o servidor seja consideravelmente reiniciado. As afinidades do servidor de banco de dados para CPU e memória RAM no momento podem ser alteradas sem precisar reiniciar o servidor. Como parte do ciclo de desenvolvimento, todo recurso que exigia a reinicialização a partir de agora não a exige mais. O tempo de recuperação, quando ocorre parada planejada ou não planejada, foi reduzido completamente com o objetivo de oferecer recursos dinâmicos de banco de dados por meio de restaurações contínuas. Além disso, a capacidade de gerenciar índices e objetos de banco de dados, sem precisar colocar o banco off-line, é de suma importância. O SQL Server oferece um recurso para criar e gerenciar índices on-line.

Operações de indexação on-line

A capacidade de criar, recriar ou lançar um índice on-line é um novo e avançado recurso que aprimora os recursos de indexação das versões anteriores. A opção de indexação on-line permite modificações concorrentes (atualizações, exclusões e inserções) na tabela subjacente ou nos dados do índice de cluster durante a execução de DDL de indexação. Por exemplo, enquanto um índice de cluster está sendo recriado, você pode continuar atualizando os dados subjacentes e consultá-los. Em versões anteriores do SQL Server, as operações de indexação DDL, como a recriação, dispunham de bloqueios exclusivos nos dados subjacentes e nos índices correspondentes, evitando modificações ou consultas até que a operação de indexação fosse concluída. Por meio do suporte a operações de indexação on-line, os administradores adicionam os índices sem interferir no acesso às tabelas ou a outros índices existentes. Além disso, a carga de trabalho do servidor permite que as operações de indexação aproveitem o processamento paralelo.

Restauração on-line

No SQL Server Yukon, agora é possível executar uma operação de restauração enquanto uma instância do SQL Server está em execução. A restauração on-line amplia a disponibilidade do SQL Server porque somente os dados que estão sendo restaurados ficam indisponíveis. O resto do banco de dados permanece on-line e disponível. Nas versões anteriores do SQL Server, para executar uma restauração, era necessário colocar o banco de dados off-line.

Você pode escolher entre duas opções ao usar a restauração on-line:

  • A restauração on-line de um arquivo inteiro do banco de dados.

O SQL Server Yukon também oferece suporte para restauração on-line de um grupo de arquivos, porque o grupo de arquivos nada mais é que uma coleção de arquivos.

Recuperação rápida

O SQL Server Yukon aumenta a disponibilidade dos bancos de dados do SQL Server por meio de uma nova opção de recuperação, agora mais rápida. Os usuários podem conectar-se novamente a um banco de dados em recuperação depois que o log de transações tiver sido antecipado. Nas versões anteriores do SQL Server, os usuários tinham de aguardar até que as transações incompletas fossem revertidas, mesmo que não precisassem acessar partes afetadas do banco de dados.

As operações de leitura/gravação podem continuar paralelamente à fase Desfazer da recuperação. Entretanto, as operações que acessam os dados bloqueados, na fase Desfazer, vão se deparar com o processo normal de bloqueio do banco de dados enquanto a operação Desfazer não desbloquear esses dados.

Backups espelhados

Versões anteriores do SQL Server ofereciam suporte a apenas uma única cópia de um determinado backup. Se a mídia de backup estivesse danificada, o roll forward seria mais demorado ou falharia. No SQL Server Yukon, agora a mídia de backup pode ser espelhada. Por exemplo, um administrador poderia configurar quatro dispositivos de fita para fazer backup de duas famílias de mídia com um espelho para cada família. Os volumes correspondentes em cada espelho têm conteúdo idêntico, o que os torna intercambiáveis no momento da restauração. Os administradores podem implementar no máximo quatro conjuntos de backup espelhado.

Checksum DBCC

Muitos DBAs usam os recursos atuais do DBCC para examinar o estado do SQL Server. O DBCC foi aprimorado para cobrir os novos recursos do SQL Server e, além disso, outras informações foram adicionadas para facilitar a interpretação das mensagens de erro. A nova declaração DBCC CHECKSUM permite uma verificação suplementar dos dados na página usando a soma de verificação em cada página. Adicionalmente, o DBCC fornecerá informações sobre a precisão do particionamento, ou seja, a precisão de visualizações materializadas em comparação com tabelas-base, e indicará se existem erros nas montagens registradas.

Desenvolvimento, implantação e gerenciamento de banco de dados: um conjunto de ferramentas revolucionário

Embora vários recursos no SQL Server sejam na verdade melhorias, há uma área revolucionária: o conjunto de ferramentas. O "Workbench" do SQL Server é o primeiro conjunto de administração de banco de dados que permite que os usuários se conectem e trabalhem com o SQL Server, o Analysis Services e um banco de dados do SQL Server Mobile Edition. Além disso, o SQL Server Workbench oferece suporte a versões anteriores do SQL Server, até a versão 7.0. Essa sofisticação oferece um local central para ajustar e atualizar os bancos de dados do SQL Server. Seja você um desenvolvedor profissional que usa a linguagem Transact-SQL ou um iniciante, o conjunto de ferramentas do SQL Server oferece a flexibilidade e a acuidade que você precisa para realizar tarefas de banco de dados.

O conjunto de ferramentas do SQL Server Yukon concentra-se em três principais aplicações: desenvolvimento, implantação e gerenciamento. Cada uma dessas aplicações conta com ferramentas e recursos exclusivos. Examinemos primeiramente as novas ferramentas para desenvolvimento.

SQL Server Workbench Query Editor

O SQL Server Yukon substitui o Query Analyzer pelo Query Editor, um componente do SQL Workbench e a principal ferramenta para projetar e testar, interativamente, instruções Transact-SQL de scripts em lote, de consultas, de lotes e de scripts. Com o Query Editor, você pode desenvolver novos scripts usando expressões Transact-SQL multidimensionais (MDX) ou XQuery. Além disso, você pode editar scripts criados com base em arquivos ou gerá-los automaticamente nas caixas de diálogo do SQL Server Workbench ou no Object Explorer.

O Query Editor oferece:

  • Preenchimento automático de instruções: uma lista de possíveis objetos que podem vir após determinadas palavras-chave.
  • Dicas de parâmetros para procedimentos armazenados para preparar uma lista de parâmetros que seguem store procedures e funções definidas pelo usuário.
  • Códigos em cores para a sintaxe da linguagem Transact-SQL e MDX para melhorar a legibilidade de instruções complexas.
  • Modelos para agilizar o desenvolvimento das instruções Transact-SQL para a criação de objetos do SQL Server.
  • Edição de consultas executadas e analisadas com as palavras-chave SQLCMD.
  • Resultados apresentados em uma grade ou em uma janela de texto de formato livre.
  • Diagrama gráfico das informações do Showplan, apresentando as etapas naturais do plano de execução de uma instrução Transact-SQL de exibição de paralisação gráfica.

XQuery Designer

O Microsoft SQL Server Yukon introduz o suporte a XQL (XML Query Language), que oferece um mecanismo flexível para consultas e apresentação de dados XML armazenados nas colunas Tipo de dados XML. A XQL é uma nova e eficiente linguagem que complementa substancialmente outras linguagens XML, como XML Schema e XPath.

Para ajudar os desenvolvedores a criar consultas XML, o Microsoft SQL Server Workbench introduz um novo XQuery Designer. Com o XQuery Designer é possível criar consultas XML apenas arrastando e soltando nós XML na estrutura de representação da coluna de dados XML. Com um único clique no mouse, você pode executar sua consulta XML. O editor XML Query Text pode ser usado para adicionar mais explicações XQL complexas. Você pode usar o XQuery Designer para criar consultas XML para uso posterior dentro de suas instruções SELECT, bem como para relatórios. O SQL Workbench oferece um sistema de projetos para armazenar consultas XML em conjunto. Para iniciar o XQuery Designer, abra o XQuery Tutorial no menu Help para que o oriente na superfície de trabalho.

Implantando o SQL Server Yukon
Ferramentas de implantação/configuração

Inúmeros são os clientes que precisam ter um controle mais eficiente do SQL Server durante as etapas de configuração e instalação da implantação do aplicativo de banco de dados. A capacidade de alterar alguns parâmetros e a localização de arquivos oferece maior flexibilidade ao gerenciamento de segurança de aplicativos e recursos. Examinemos algumas das alterações feitas na instalação e configuração.

Windows Installer

O programa de instalação do SQL Server Yukon usa o Windows Installer para integrar completamente a instalação dos recursos do SQL Server em uma única estrutura de recursos. Os modos mínimo e típico da instalação não são mais implementados. Em vez disso, o programa de instalação exibe uma estrutura de recursos com opções padrão já selecionadas; os administradores podem então personalizar a instalação selecionando e desmarcando os itens na estrutura de recursos e especificando os caminhos da instalação. Essa versão do Windows Installer também aceita instalação remota e configurações com várias instâncias.

Consistency Checker

O programa de instalação do SQL Server Yukon oferece o novo recurso Setup Consistency Checker (SCC), que verifica e valida o computador de destino antes de iniciar a instalação. Usando a tecnologia WMI, o SCC evita falhas de instalação devidas a configurações não suportadas em computadores de destino locais, remotos e em cluster. Se o programa de instalação conseguir corrigir os itens que apresentaram erro na verificação, o usuário pode deixar que o programa de instalação tome a medida necessária. Do contrário, antes de o programa de instalação prosseguir, o SCC oferece instruções ao usuário para a solução de cada um dos problemas que estão impedindo a instalação.

Relatório de falhas

O programa de instalação do SQL Server Yukon conta com um sistema de relatório de falhas mais eficiente e alertas extensíveis. Se ocorrer um erro durante a instalação, o programa de instalação determina um código de saída para a falha, fornece uma mensagem explicativa do erro, recomenda medidas corretivas para a resolução do problema e indica o log de instalação para o usuário. Além disso, o programa de instalação salva o log de cada instalação.

SQL Server Computer Manager

O SQL Server Computer Manager substitui o Client Network Utility, Server Network Utility e SQL Service Manager. Com o SQL Server Yukon Computer Manager, é possível trabalhar com o Analysis Services, Reporting Services e versões anteriores do SQL Server, bem como com pesquisa de texto completo e o MS Search. Dentro do Computer Manager, você pode definir protocolos de acesso a rede para clientes e servidores. O Computer Manager pode ser acessado pelo WMI e é extensível.

Ferramentas de gerenciamento e de ajuste de desempenho
SQL Server Object Explorer

O novo SQL Server Workbench integra a funcionalidade de versões anteriores do Enterprise Manager e Analysis Services Manager. O SQL Server Object Explorer dispõe de todas as funcionalidades do Enterprise Manager. Dentre as melhorias podemos citar maior escalabilidade ao explorar objetos do banco de dados e integração para scripts em banco de dados OLTP e OLAP. Além disso, conta com suporte para o SQL Server 7 e 2000, e também para o Analysis Services no “Yukon” e SQL Server Mobile Edition. O Object Explorer oferece todos os recursos de administração esperados do Enterprise Manager, incluindo Segurança, Agente do SQL, SQL Mail e os outros subsistemas do SQL Server no Notification Services e Reporting Services.

SQL Server Profiler e Database Tuning Advisor

A Microsoft Research forneceu, em conjunto com a equipe de desenvolvimento do SQL Server, uma nova ferramenta de ajuste de índice denominada Database Tuning Advisor (DTA). A DTA tem a capacidade de sugerir alterações de partição de índice e tabela para uma estrutura de banco de dados. Além disso, o SQL Server Profiler passou por uma extensa revisão, oferecendo agora maior desempenho e maior visibilidade dentro do servidor. Apresentamos aqui as alterações mais importantes no SQL Server Profiler:

  • Determinação de perfil do Analysis Services — Agora, o Profiler oferece suporte à captura de eventos criados pelo Analysis Services.
  • O Showplan rastreado é salvo como XML. Os resultados do Showplan são salvos em um formato XML, que posteriormente pode ser carregado para a exibição gráfica Showplan no SQL Server Workbench. Isso inclui uma instrução de paralisação gráfica.
  • Os resultados do rastreamento são salvos como XML. Além dos formatos padrão ANSI, UNICODE e OEM, os resultados do rastreamento podem ser salvos também no formato XML.
  • Visualização agregada. O usuário pode escolher uma opção agregada e selecionar um código para agregação. Dessa forma, os usuários obterão uma visualização que mostra a coluna na qual a agregação foi executada, bem como uma contagem do número de linhas que compõem o valor agregado.
  • O Profiler pode correlacionar os contadores de Desempenho do sistema com eventos do SQL ou do Analysis Services. Os administradores podem selecionar contadores em um conjunto predefinido de contadores de Desempenho do sistema e salvá-los em intervalos específicos e, ao mesmo tempo, coletar um rastreamento do SQL ou do Analysis Services.

Melhorias no Showplan

O Microsoft SQL Server Yukon introduz melhorias nos rastreamentos Showplan e Deadlock, que oferecem aos administradores recursos adicionais para ajustar os servidores de banco de dados.

Entre essas melhorias estão:

  • Representação gráfica de ocorrências de paralisação coletadas por meio de eventos de rastreamento. A representação gráfica mostrará ciclos ou cadeias de paralisação, fornecendo a você um método mais simples e intuitivo de analisar ocorrências de paralisação do que as informações coletadas dos sinalizadores de rastreamento usados por versões anteriores do SQL Server.
  • Os resultados do Showplan são salvos em um formato XML, que posteriormente pode ser carregado para exibição gráfica no Query Editor.
  • A capacidade de salvar os resultados do Showplan em um formato XML oferece inúmeras vantagens para o ajuste de desempenho: Esses resultados podem ser salvos, transferidos para outro local e visualizados, não sendo necessário para isso um banco de dados subjacente.

Os administradores podem usar um Showplan exportado para servir de apoio na identificação de discrepâncias entre diferentes bancos de dados internos ou remotos.

Os administradores podem coletar dados básicos em um servidor e posteriormente compará-los com os servidores à medida que eles se desenvolvem ou conforme as características de desempenho se alterarem.

SQLCMD

SQLCMD é uma nova ferramenta de linha de comando para trabalhar com o SQL Server Yukon.

Ele substitui o utilitário OSQL. O utilitário SQLCMD permite que você digite instruções Transact-SQL, procedimentos do sistema e arquivos de script no prompt de comando.

O SQLCMD usa a API OLE DB para se comunicar com o SQL Server, ao passo que os outros utilitários usam as antigas APIs ODBC ou DB-Library. O SQLCMD oferece suporte à funcionalidade do OSQL ou ISQL, mas também introduz um conjunto mais rico de comandos, permitindo operações mais eficientes nos scripts de aplicativo, como é o caso dos scripts do Microsoft Visual Basic for Applications (VBA).

Conexão de administrador dedicada

O SQL Server Yukon introduz uma conexão de administrador dedicada para acessar um servidor em execução mesmo quando o servidor estiver suspenso ou indisponível. Isso permite que os administradores executem funções de diagnóstico ou instruções Transact-SQL para solucionar problemas em um servidor. A conexão é ativada por membros da função de administração do sistema e pode ser acessada apenas por meio da linha de comando SQLCMD, localmente, ou por uma máquina remota.

Em versões anteriores do SQL Server, não era possível estabelecer conexão com um servidor que não estivesse respondendo a uma conexão do SQL Server. Para usar a conexão de administrador dedicada, um administrador executará, no prompt de comando, a ferramenta SQLCMD, usando a opção -A para especificar uma conexão dedicada. De lá, o DBA pode diagnosticar e corrigir o problema.

SQL Management Objects

O SQL Management Objects (SMO) é um novo conjunto de objetos de programação que evidencia a funcionalidade do gerenciamento de banco de dados e replicação do SQL Server. O SQL SMO, implementado como uma montagem .NET, utiliza proveitosamente o CLR. O SMO pode ser usado para automatizar tarefas administrativas repetitivas ou comumente executadas no SQL Server, como recuperar definições de configuração de maneira programada, criar novos bancos de dados, aplicar scripts Transact-SQL, criar tarefas no Agente do SQL Server e programar backups.

O modelo de objeto do SMO estende e substitui os SQL Server Distributed Management Objects (DMOs), que foram incluídos nas  versões anteriores do SQL Server (ele será enviado com o Yukon, mas não oferece nenhuma nova funcionalidade). O SMO conta com inúmeras melhorias do DMO, incluindo um modelo de objeto .NET, instanciação parcial, execução em modo de captura, execução por delegação, objetos em espaço e integração com o .NET Framework. Alguns exemplos em que o SMO é utilizado:

  • Um provedor precisa oferecer delegação de administração do SQL Server a seus clientes em um ambiente de banco de dados compartilhado. O provedor deseja oferecer uma interface Web e limitar os tipos de tarefa que podem ser executados. A equipe de desenvolvimento no provedor desenvolve um aplicativo ASP.NET usando o modelo de objeto SMO para criar uma interface administrativa simples, que é então fornecida aos clientes do provedor.
  • Um administrador de banco de dados deseja delegar tarefas de administração básicas, como adicionar novos usuários aos bancos de dados SQL Server da empresa para o suporte técnico. Um desenvolvedor de TI cria uma interface Web simples usando o modelo de objeto SMO, que é então implementada em uma área segura da intranet da empresa.

Agente do SQL Server

No Microsoft SQL Server 2000, as tarefas do Agente do SQL Server são executadas na conta que cria a tarefa. Uma conta proxy pode ser especificada para executar tarefas CmdExec e ActiveX.

O SQL Server Yukon introduz as seguintes alterações na segurança do Agente do SQL Server:

  • Criação de uma função de usuário do agente. Apenas usuários expressamente acrescentados poderão adicionar/editar tarefas do Agente do SQL.
  • Recurso para os administradores de sistema criarem uma ou mais contas proxy e introduzirem proxies em outros subsistemas do SQL Server, incluindo o DTS.
  • Capacidade para permitir que usuários ou grupos (grupos SQL) usem contas proxy.

Toda atividade de gerenciamento do SQL Server Yukon pode ser programada para ser executada pelo Agente do SQL Server, no SQL Server Workbench, usando a linguagem Transact-SQL ou o SQL Management Objects (SMO). O SQL Server Yukon oferece novos objetos e contadores para o Agente do SQL Server que o Monitor do Sistema pode usar para monitorar a atividade do Agente. Esses novos contadores incluem a capacidade para monitor vários aspectos da atividade de Agente do SQL Server, incluindo tarefas habilitadas, alertas habilitados, programações habilitadas, tarefas ativas, alertas ativos, porcentagem de sucesso de uma tarefa e assim por diante. Os contadores também oferecem a capacidade de configurar alertas disparados por condições do contador de desempenho do Agente do SQL Server.

Melhorias na linguagem Transact-SQL

As melhorias na linguagem T-SQL refletem uma maior conformidade com a especificação SQL ANSI-99, bem como com as solicitações dos clientes. Esta seção evidencia apenas algumas alterações mais comuns implementadas na linguagem T-SQL. Muitas das melhorias na linguagem T-SQL buscam uma expressividade maior nas consultas.

A nova funcionalidade Common Table Expression (CTE) oferece a capacidade de gerar lotes de consulta nos casos em que atualmente seria usada uma tabela derivada. A CTE é um conjunto de resultados mencionados temporariamente que podem ser consultados por uma instrução definida. Basicamente, você pode imaginar as CTEs como uma versão melhorada das tabelas derivadas. Uma CTE pode ser consultada na cláusula FROM de uma consulta de modo semelhante à consulta a tabelas derivadas e visualizações. A CTE oferece um método flexível e expressivo de reorganizar dados normalizados. Uma das novidades mais importantes da T-SQL é a consulta recursiva. Esse recurso incrementa a capacidade de manipular dados relacionais.

As consultas recursivas são um novo tipo de consulta por meio do qual é possível gerar uma lista de materiais ou um conjunto de resultados hierárquicos. Foram adicionados novos operadores Pivot e UnPivot. Esses operadores manipulam uma expressão de entrada table valued (que retorna uma tabela) e produzem uma tabela de resultados como um conjunto de resultados. O operador PIVOT transforma as linhas em colunas, possivelmente executando agregações ou outros cálculos matemáticos ao longo desse processo. Ele amplia a expressão da tabela de entrada com base em uma coluna dinâmica, gerando uma tabela de resultados com uma coluna para cada valor exclusivo na coluna dinâmica. O operador UNPIVOT executa uma operação oposta ao PIVOT, transformando as colunas em linhas. Ele diminui a expressão da tabela de entrada com base em uma coluna dinâmica. As consultas recursivas oferecem uma forma de remodelar os dados. Várias melhorias na T-SQL concentram-se na capacidade de formular resultados com base na aplicação de um operador.

O novo operador relacional APPLY permite que você chame uma função table valued específica para cada linha de uma expressão da tabela externa. Você especifica APPLY na cláusula FROM da consulta da mesma forma que utiliza o operador relacional JOIN. Com o operador APPLY, o SQL Server Yukon permite que você consulte uma função table valued em uma subconsulta correlacionada. O operador APPLY tem duas formas: CROSS APPLY e OUTER APPLY. CROSS APPLY chama uma função table valued para cada linha em uma expressão da tabela externa. Você pode consultar as colunas da tabela externa como argumentos à função table valued. CROSS APPLY retorna um conjunto de resultados unificados à parte dos resultados retornados a cada vez que a função table valued foi chamada. Se a função table valued retornar um conjunto vazio para uma determinada linha externa, essa linha externa não será retornada no resultado.

OUTER APPLY é bastante semelhante ao CROSS APPLY, com a diferença de que também retorna linhas da tabela externa para as quais a função table valued retornou um conjunto vazio. Os recursos para remodelar e manipular dados muito amplos para serem discutidos neste documento. Portanto, consulte o SQL Server Books Online para obter mais informações.

Para modernizar os recursos transacionais das consultas, O SQL Server Yukon adicionou um recurso de manipulação de erros. O SQL Server Yukon introduz um mecanismo bastante simples mas muito eficiente de manipulação de exceções como uma construção T-SQL TRY/CATCH. Os erros de cancelamento de uma transação que costumavam fazer com que um lote finalizasse agora podem ser capturados e manipulados. Veja um exemplo:

SET XACT_ABORT ON BEGIN TRY   BEGIN TRAN     INSERT INTO T1 VALUES(1)     /* execute outra atividade*/     PRINT 'After INSERT.'   COMMIT END TRY BEGIN CATCH TRAN_ABORT   ROLLBACK   /* execute outra atividade*/   PRINT 'INSERT falhou.' END CATCH

Além disso, existem novas construções de linguagem para recursos de segurança, replicação, XML e do Notification Services, bem como para todos os recursos do.NET Framework. Par obter mais informações sobre todas as novas funcionalidades, consulte o SQL Server Books Online.

Aprimoramentos de segurança

O SQL Server Yukon implementa melhorias significativas no modelo de segurança da plataforma de banco de dados com o objetivo de oferecer mais opções de gerenciamento e segurança tanto para os desenvolvedores quanto para os administradores. Investimentos substanciais foram feitos em inúmeros recursos, cobrindo um amplo espectro, desde a aplicação de diretivas para as senhas de logon do SQL (na área de autenticação) e maior granularidade em termos de especificação de permissões em vários escopos (na área de autorização) à permissão para a separação de proprietários e esquemas (na área de gerenciamento de segurança).

Além disso, tendo em mente as principais premissas de segurança, como a “redução da área de superfície” e o “princípio de menor quantidade possível de privilégios”, e princípios importantes como “padrões e projetos seguros”, determinadas alterações em todo o produto estão sendo preparadas para a versão final do produto.

Dois recursos especiais de escalabilidade

Existem dois recursos de escalabilidade para bancos de dados muito grandes que vale a pena mencionar. O Snapshot Isolation Level permite que os usuários acessem a última linha encerrada usando uma visualização transicional consistente do banco de dados. Esse novo nível de isolamento oferece os seguintes benefícios:

  • Maior disponibilidade de dados para aplicativos somente leitura.
  • Permissão para operações de leitura sem bloqueio em um ambiente OLTP.
  • Detecção automática e obrigatória para operações de gravação.
  • Migração simplificada de aplicativos do Oracle para o SQL Server.

Por exemplo, o bloqueio pode provocar obstruções entre aplicativos que estão lendo e gravando os mesmos dados simultaneamente. Se uma transação alterar uma linha, outra transação não conseguirá ler essa linha até que a gravação seja encerrada. Com o SI, o leitor pode acessar o valor anterior encerrado da linha. O segundo recurso especial de escalabilidade é o particionamento de tabela.

Embora o conceito de particionamento de dados em tabelas, banco de dados e servidores não seja novo à área de banco de dados, o SQL Server Yukon oferece um novo recurso de infra-estrutura para particionamento de tabelas em grupos de arquivos em um banco de dados. O particionamento horizontal permite a divisão de uma tabela em agrupamentos menores com base em um esquema de particionamento. O particionamento de tabela foi desenvolvido para bancos de dados muito grandes, de centenas de gigabytes a terabytes, ou ainda maiores. O desempenho das consultas aos VLDBs (bancos de dados muito grandes) é aprimorado com o particionamento. Por meio do particionamento de uma série de valores de coluna particionados, subconjuntos de dados podem ser gerenciados e reatribuídos a outras tabelas de maneira rápida e eficiente. Para obter mais informações sobre particionamento, consulte o SQL Server Books Online.

Conclusão

O SQL Server Yukon oferece as tecnologias e os recursos com os quais as organizações e os administradores de banco de dados esperam contar. O espectro de uma nova e avançada funcionalidade que executa a administração de banco de dados é imenso. Este documento apenas conseguiu tocar a ponto do iceberg. O SQL Server Yukon vai se revelar a versão mais estimulante dentre todas as versões do SQL Server já lançadas. Prepare-se.

Apêndice
Novos tipos de dados

  • Dados XML – Dados do tipo XML (Extensible Markup Language) que lhe permitem armazenar um fragmento ou documento XML nos bancos de dados do SQL Server. Exemplos de um tipo de dado xml podem ser colunas em uma tabela, argumentos de função ou de store procedure ou variáveis em uma função ou store procedure. Além disso, o tipo de dado xml pode ser adaptado a condições especiais indicando-se o esquema XML associado que oferece tanto uma restrição de validação quanto informações sobre o tipo de dado para os dados de instância XML.
    As operações em uma instância de tipo de dado xml são executadas por meio de métodos de consulta XML internos. Esses métodos aceitam consultas e instruções de manipulação de dados apropriadas a dados XML. Você pode, portanto, especificar consultas (XQuery) ao XML armazenado na variável ou coluna de tipo de dado xml e aplicar atualizações (inserir/atualizar/excluir) à instância XML. Além disso, você pode usar um XSD para criar um índice para a coluna XML, que melhorará o desempenho da consulta.
  • UtcDateTime é um tipo de dado datetime que reconhece fuso horário. O UtcDateTime será usado em bancos de dados de transações de origem que distribuem operações globais.
  • Date é a data de datetime, com a precisão de um dia, que vai de 1/1/0001 a 12/31/9999. Time é o horário de datetime, com a precisão de 100 NS, de 0:00:00 a 23:59:59.9999999.
  • Varchar(max), nvarchar(max) e varbinary(max) armazenam até 2 GB de dados e serão alternativas úteis para os tipos de dados text, ntext e image.

Direitos autorais e isenção de responsabilidade

Este é um documento preliminar e pode ser alterado substancialmente antes do lançamento comercial final do software aqui descrito.

As informações contidas neste documento representam a posição atual da Microsoft Corporation no que diz respeito às questões abordadas na data de publicação. Pelo fato de a Microsoft ter de responder a contingências variáveis do mercado, as informações aqui contidas não devem ser interpretadas como um compromisso da Microsoft, que, portanto, não pode garantir a precisão de nenhuma informação apresentada após a data de publicação.

Este documento é fornecido apenas para fins informativos. A MICROSOFT NÃO OFERECE NENHUMA GARANTIA, EXPLÍCITA, IMPLÍCITA OU ESTATUTÁRIA, NESTE DOCUMENTO.

A responsabilidade do usuário é agir de acordo com todas as leis de direitos autorais aplicáveis. Independentemente dos direitos autorais, nenhuma parte deste documento pode ser reproduzida, armazenada ou introduzida em um sistema de recuperação, ou transmitida de qualquer forma por qualquer meio (eletrônico, mecânico, fotocópia, gravação ou outro), ou para qualquer propósito, sem a permissão expressa, por escrito, da Microsoft Corporation.

A Microsoft pode ter patentes ou requisições para obtenção de patente, marcas comerciais, direitos autorais ou outros direitos de propriedade intelectual que abrangem o conteúdo deste documento. A posse deste documento não lhe confere direito algum sobre patentes, marcas comerciais, direitos autorais ou outros direitos de propriedade intelectual aqui citados, salvo aqueles expressamente mencionados em um contrato de licença, por escrito, da Microsoft.

Salvo indicação em contrário, os exemplos de empresas, organizações, produtos, nomes de domínio, endereços de email, logotipos, pessoas, lugares e eventos aqui mencionados são fictícios e nenhuma associação com qualquer empresa, organização, produto, nome de domínio, endereço de email, logotipo, pessoa, lugar ou evento real é intencional ou deve ser deduzida como tal.

© 2003 Microsoft Corporation. Todos os direitos reservados.

Microsoft, Visual Basic, Visual Studio e Windows são marcas registradas ou marcas comerciais da Microsoft Corporation nos Estados Unidos e/ou em outros países.

Os nomes de empresas e produtos reais aqui mencionados podem ser marcas comerciais de seus respectivos proprietários.