Introdução

Trata-se de um Sistema Gerenciador de Bancos de Dados Relacionais, SGBDR, que funciona unicamente sob sistema operacional Windows.

O Microsoft SQL Server foi originalmente baseado no Sybase SQL Server X versão 4.2. Na versão 6, a Microsoft implementou modificações visando fazer uso de características multitarefa do Windows NT. A versão mais atual é a 2000.

Uma vez instalado o SQL Server são criados automaticamente quatro databases:

1. Master: Controla os bancos de dados de usuários e a operação do SQL Server, por isso os dados armazenados em suas tabelas são críticos e deve-se sempre manter backup atualizado. Ocupa inicialmente cerca de 17 Mbytes, mantendo, contas de login, processos em andamento e mensagens de erro do sistema.

2. Model: Fornece um protótipo (template) para um novo banco de dados. Contém as tabelas de sistema que serão inseridas em cada banco de dados de usuário.

3. Tempdb: Providencia um espaço de armazenamento para tabelas e outras ações temporárias ou intermediárias, tais como resultados que envolvam a cláusula GROUP BY, ORDER BY, DISTINCT e cursores (CURSORS).

4. Msdb: Providencia suporte ao serviço SQL Executive Service (o qual fornece serviços de schedulle de tarefas, replicação, gerenciamento de alertas).

Depois, poderemos livremente criar e instalar nossos próprios bancos de dados, os quais serão os bancos de dados de usuário.

Embora ambos os tipos de bancos de dados (sistema e usuário) armazenem dados, o SQL Server utiliza os bancos de sistema para operar e gerenciar o sistema. O catálogo de sistema, por exemplo, consiste unicamente de tabelas armazenadas no banco de dados master.

 O SQL Server 2005 é uma plataforma de base de dados abrangente que oferece ferramentas de gestão de dados de classe empresarial com integração de Business Intelligence (BI). O motor de base de dados SQL Server 2005 proporciona um armazenamento mais seguro e fiável tanto para dados relacionais como estruturados, permitindo-lhe criar e gerir aplicações de dados de elevada disponibilidade e desempenho para a sua empresa.

O motor de dados do SQL Server 2005 é o núcleo desta solução de gestão de dados empresariais. Mas o SQL Server 2005 concentra também o que existe de mais avançado em análise, reporting, integração e notificação. Isto permite à sua empresa criar e implementar soluções de BI eficientes em termos de custos que ajudam a sua equipa a transportar dados para qualquer parte da sua empresa através de scorecards, dashboards, Web services e dispositivos móveis.

 

A estreita integração com o Microsoft Visual Studio, o Microsoft Office System e um pacote de novas ferramentas de desenvolvimento, incluindo o Business Intelligence Development Studio, torna o SQL Server 2005 um caso à parte. Quer seja um programador, um administrador de base de dados, um trabalhador da informação ou um decisor, o SQL Server 2005 oferece soluções inovadoras que o ajudam a extrair mais valor dos seus dados.

 

 

 

O esquema seguinte ilustra as principais componentes do SQL Server 2005 e demonstra como esta solução é uma peça chave do Windows Server System na integração com a plataforma Microsoft Windows – incluindo o Microsoft Office System e o Visual Studio –, possibilitando-lhe assim a distribuição de dados em qualquer ponto da sua organização.

A versão mais recente é o SQL Server 2008, e oferece uma grande variedade de novos

recursos e funcionalidades que transformarão a administração em uma tarefa muito melhor.

Os administradores de banco de dados que têm usado o SQL Server® 2005 por qualquer período de tempo encontrarão muitos dos recursos utilizados em seus trabalhos diários, mas logo descobrirão também que essas ferramentas familiares foram aperfeiçoadas no SQL Server 2008. A nova funcionalidade criada com base nos recursos existentes percorre um longo caminho para a redução do número de soluções alternativas ou personalizações uma vez necessárias para a utilização de vários recursos em ambientes de banco de dados complexos.

Os novos recursos do SQL Server 2008 envolvem um amplo intervalo de cargos de trabalho de banco de dados, dificultando sua categorização. Como eu classifico recursos em diferentes tópicos, percebi que alguns leitores poderão querer saber por que coloquei o Recurso X na Categoria Y quando ele claramente pertence à Categoria Z. É uma questão de perspectiva, afetada pela forma como a sua empresa trabalha.

Eu compreendo que quem trabalha com bancos de dados quase sempre se vê em diferentes cargos de trabalho, mas tentarei dividir os novos recursos para que eles se encaixem nas seguintes categorias genéricas: gerenciamento, escalabilidade, desempenho, alta disponibilidade, segurança, desenvolvimento e business intelligence.

 

O que há de novo em gerenciamento?

Para os administradores de banco de dados (como eu), a funcionalidade de gerenciamento adicional torna o SQL Server 2008 um novo produto bem interessante. O novo gerenciamento de diretivas, os diversos recursos de consulta de servidor, os servidores de configuração e o data collector/management warehouse oferecem capacidades novas e poderosas para administradores de banco de dados que quase sempre são responsáveis pelo gerenciamento de ambientes de banco de dados grandes e complexos, com centenas ou milhares de bancos de dados em dezenas ou até em centenas de servidores.

O recurso Gerenciamento de Diretivas do SQL Server 2008, que, na verdade, foi chamado de Declarative Management Framework nas CTPs (Community Technology Previews), permite a você criar e executar diretivas de configuração em um ou mais servidores de banco de dados. Com essas diretivas, você pode garantir que configurações padrão sejam aplicadas e mantidas em cada um dos servidores e bancos de dados de destino. 

As diretivas são criadas a partir de conjuntos predefinidos de facetas. Cada faceta contém um subgrupo de configurações do SQL Server 2008 e de outros eventos que você pode controlar. Emparelhe essas facetas com condições para criar uma diretiva. As condições são os valores permitidos para as propriedades de uma faceta, das configurações ou de outros eventos contidos nelas.

As condições também são valores usados para filtros de diretivas. Digamos que você queira que a diretiva seja executada somente em certo banco de dados. Nesse caso, é possível criar uma condição que contenha o nome do banco de dados e adicioná-la à diretiva. Dessa forma, a diretiva só se aplicará a esse único banco de dados. Confie em mim — o Gerenciamento de Diretivas do SQL Server 2008 pode soar complexo, mas depois de experimentá-lo, você perceberá que ele é bem intuitivo.

Os novos recursos Multiple Server Interaction e Configuration Servers são úteis quando você precisa executar consultas em diversos servidores ao mesmo tempo. Você pode registrar servidores em seu Management Studio e depois agrupá-los. Quando for necessário executar uma diretiva ou consulta em todos os servidores do agrupamento, bastará clicar com o botão direito do mouse no agrupamento.

Como um benefício adicional, você pode configurar esse recurso para que ele retorne um conjunto de resultados por servidor ou mescle todos eles em um conjunto de resultados maior. Também é possível especificar se você deseja que os nomes do servidor e do banco de dados façam parte dos resultados para poder separar os resultados individuais de cada servidor. Ser capaz de armazenar os servidores registrados no servidor de configuração em vez de cada Management Studio individual é uma grande vantagem.

Outro bom recurso de gerenciamento é o Data Collector. Com freqüência, os administradores de banco de dados precisam coletar dados de gerenciamento de um grande número de servidores, e muitos desses DBAs criaram sua própria solução personalizada para isso. O Data Collector é um mecanismo interno que facilita a tarefa de coleta de dados relacionados ao gerenciamento. Ele permite que você utilize o SQL Server Agent e o SSIS (SQL Server Integration Services) para criar uma estrutura que coleta e armazena seus dados, além de oferecer manipulação de erros, auditoria e histórico de coleta.

Ao contrário de ferramentas de terceiros e de trabalhos personalizados, o Data Collector será facilmente compreendido pela maioria dos administradores de banco de dados, uma vez que utiliza o SQL Server Agent e o SSIS para criar um conjunto de trabalhos e de pacotes para manipular as conexões, a coleta e o armazenamento de dados. Quando esses dados forem armazenados em um local central, conhecido como o Management Warehouse, poderão ser exibidos e organizados por meio de um conjunto de instruções T-SQL e de relatórios do SQL Server 2008 Reporting Services. Esse armazenamento central de dados facilita muito a análise e a exibição das métricas gerais de gerenciamento do ambiente de banco de dados.

O que há de novo em escalabilidade?

Ao longo dos anos, administradores de banco de dados SQL Server viram seus ambientes de banco de dados se tornarem cada vez maiores. À medida que o tamanho do seu ambiente de banco de dados aumenta, você precisa de novos métodos e ferramentas para obter a escalabilidade exigida pela maioria das empresas. O SQL Server 2008 apresenta diversos recursos novos que serão muito úteis.

O SQL Server 2008 possui compactação interna para os arquivos do banco de dados e para os arquivos do log de transações associados ao banco de dados correspondente. O SQL Server 2005 apresentou o recurso de compactar dados em um arquivo ou grupo de arquivos somente leitura, mas ele simplesmente utilizava o recurso de compactação do NTFS do Windows®. Com o SQL Server 2008, agora você pode obter a compactação em nível de linha e em nível de página, oferecendo benefícios que não podem ser obtidos com a compactação no nível do arquivo de dados.

A compactação nos níveis de linha e de página reduz o tamanho do espaço de dados necessário, além de reduzir a quantidade de memória necessária, já que os dados permanecem compactados na memória. Os dados compactados na memória resulta em maior utilização da memória, beneficiando a escalabilidade de vários sistemas.

O SQL Server 2008 também apresenta a compactação em nível de backup. Embora os backups de banco de dados só incluam a parte ativa do banco de dados, isso ainda representa centenas de gigabytes ou até mesmo dezenas de terabytes. Em ambientes de banco de dados que possuem mais de uma cópia de um arquivo de backup com vários terabytes, esses backups quase sempre ocupam um valioso espaço de armazenamento que poderia ser usado de forma mais eficiente. Ao permitir que administradores de banco de dados compactem seus arquivos de backup, o SQL Server 2008 libera um pouco desse espaço para que ele possa ser usado para dados dinâmicos.

E há também o Resource Governor. Esse novo recurso permite que você defina os valores de recursos que cargas de trabalho ou agrupamentos de cargas de trabalho poderão usar durante a execução. Com o Resource Governor, você pode criar um ambiente no qual diversas cargas de trabalho diferentes coexistirão em um servidor sem temer que uma ou mais delas sobrecarregue o servidor e reduza o desempenho das outras cargas de trabalho.

A vantagem desse recurso é que você pode usar com mais eficiência a quantidade total de recursos disponíveis em seus servidores de banco de dados.

 

O que há de novo em desempenho?

O desempenho geral de bancos de dados melhora no SQL Server 2008. Graças aos diversos recursos novos do SQL Server 2008, você pode controlar e monitorar o desempenho de seus bancos de dados e dos aplicativos que os utilizam.

Quando você tem grandes números de transações executadas a cada segundo, o bloqueio que normalmente ocorre durante essas transações pode ter um pacto negativo sobre o desempenho dos seus aplicativos de banco de dados. O SQL Server foi projetado para reduzir o número total de bloqueios mantido por um processo ao escalonar bloqueios a partir dos de menor nível de linha e de página até grandes bloqueios de nível de tabela. Mas é importante compreender que esse escalonamento de bloqueios pode causar problemas. Por exemplo, uma única transação pode bloquear uma tabela inteira e impedir que outras transações trabalhem com ela.

O SQL Server 2008 funciona com o mecanismo de particionamento de tabelas (introduzido no SQL Server 2005) para permitir que o mecanismo do SQL Server escalone bloqueios em nível de partição antes de em nível de tabela. O nível intermediário de bloqueio pode reduzir drasticamente os efeitos do escalonamento de bloqueios em sistemas que precisam processar centenas e milhares de transações por segundo.

O SQL Server 2008 oferece diversos aperfeiçoamentos de processador de consultas novos para quando a consulta interagir com tabelas particionadas. O otimizador de consultas agora pode executar consultas em partições, como faria em índices individuais, ao trabalhar com a ID da partição e não com o mecanismo de particionamento no nível de tabela.

 

O que há de novo em alta disponibilidade?

À medida que ambientes de banco de dados se tornam mais complexos e os bancos de dados aumentam, a capacidade de garantir a sua disponibilidade se torna cada vez mais difícil. Os mecanismos conhecidos que você usou no passado para obter alta disponibilidade ainda estão presentes no SQL Server 2008. Mas alguns desses recursos foram aperfeiçoados no SQL Server 2008 e outros novos foram adicionados.

Como SQL Server 2005, muitos administradores começaram a implementar o espelhamento de bancos de dados para obter a alta disponibilidade. O SQL Server 2008 oferece várias aprimoramentos para a prática do espelhamento de bancos de dados. No passado, por exemplo, o espelhamento de bancos de dados ocasionalmente tinham problemas de desempenho quando os dados do log de transações eram movidos do banco de dados principal para os espelhados. Em resposta a isso, o SQL Server 2008 agora reduz a quantidade de informações que é movida pela rede do log de transações do principal para o log de transações do espelho ao compactá-las antes do envio para o log de transações do espelho para proteção.

Agora você pode corrigir páginas de dados corrompidas no principal. Se um banco de dados principal tiver páginas de dados corrompidas devido aos erros 823 e 824, poderá solicitar uma cópia nova dessas páginas de dados dos servidores espelhados. Essa solicitação é um processo automatizado transparente para qualquer usuário que estiver acessando os bancos de dados principais.

Outro recurso novo, o Hot Add CPU, permite que você adicione CPUs novas a um servidor de banco de dados sem afetar a disponibilidade dos bancos de dados que ele contém. No entanto, saiba que o Hot Add CPU possui as suas limitações, já que ele só será útil se você estiver executando o Windows Server® 2008 Enterprise Edition ou o Datacenter Edition baseados em Itanium de 64 bits, além de exigir a Enterprise Edition do SQL Server 2008.

 

O que há de novo em segurança?

O SQL Server 2005 introduziu a segurança de dados na forma de criptografia de dados. Com o SQL Server 2008, a criptografia foi bastante aprimorada com a introdução de dois recursos: Gerenciamento Extensível de Chaves e Criptografia Transparente de Dados.

O Gerenciamento Extensível de Chaves permite que uma estrutura avançada armazene com segurança as chaves usadas na infra-estrutura de criptografia — não só no próprio banco de dados como também fora dele, em módulos de software de terceiros ou com um Módulo de Segurança de Hardware.

A Criptografia Transparente de Dados oferece flexibilidade aprimorada para a criptografia de dados ao permitir que ela seja uma propriedade do banco de dados e não somente o resultado de funções em uma linha de código. O resultado é que os administradores não precisam executar um grande número de alterações necessárias para a estrutura de seus bancos de dados e para o código de aplicativos quando criptografarem no nível dos dados.

 

O que há de novo para desenvolvedores?

Os administradores de banco de dados não são as únicas pessoas que se beneficiarão diretamente das alterações do SQL Server 2008. Há uma série de recursos novos que foram projetados para ajudar os desenvolvedores de banco de dados. Eles vão desde novos aprimoramentos de T-SQL até novos componentes que poderão ajudar os desenvolvedores a criar e a utilizar consultas de banco de dados.

Muitos desenvolvedores de banco de dados são responsáveis pela criação das consultas necessárias para o retorno dos dados para seus aplicativos. Provavelmente você já conhece a ferramenta LINQ (Consulta Integrada à Linguagem), que permite aos desenvolvedores gerar consultas em um banco de dados usando linguagem de programação baseada no Microsoft® .NET em vez das instruções T-SQL normais. Bem, o SQL Server 2008 aprimora a LINQ, oferecendo uma nova LINQ ao provedor de SQL, permitindo aos desenvolvedores gerar comandos LINQ diretamente em tabelas e colunas do SQL Server. Isso reduzirá o tempo para a criação de novas consultas de dados.

Ao desenvolver em bancos de dados, os desenvolvedores utilizam objetos de nível mais alto que podem ser mapeados para tabelas e colunas individuais do banco de dados. Esses objetos, conhecidos como entidades, representam os dados necessários para os aplicativos de banco de dados e, portanto, o desenvolvedor não precisa compreender a estrutura de armazenamento real dos dados e o esquema do banco de dados. O novo ADO.NET Entity Framework permite que desenvolvedores criem consultas de banco de dados usando essas entidades. A abstração da estrutura de banco de dados subjacente permite que os desenvolvedores sejam mais produtivos.

O SQL Server 2008 oferece muitos aprimoramentos diferentes para o T-SQL, fazendo com que os desenvolvedores tenham mais eficiência. Um exemplo é a nova instrução MERGE, que permite ao desenvolvedor verificar a existência de dados antes de tentar inserir novos. Essa verificação antes da execução da instrução INSERT permite que os dados sejam atualizados. Não é mais necessário criar associações complexas para atualizar dados existentes e inserir dados que ainda não existem, tudo durante uma única instrução.

Além disso, separar dados de hora e de data do tipo de dados data/hora ficou mais fácil. O SQL Server 2008 introduziu dois tipos de dados separados para a manipulação de dados de data e de hora. Tipos de dados diferentes significarão desempenho aprimorado para muitas consultas, já que não haverá mais a necessidade da execução de uma operação nos dados antes de sua utilização na consulta.

Ao criar estruturas de banco de dados mais novas, os desenvolvedores de banco de dados quase sempre se vêem alongando a estrutura de bancos de dados para implementar aplicativos de mapeamento. O SQL Server 2008 ajuda a corrigir esse problema com novos tipos de dados espaciais. Os dois tipos de dados espaciais, GEOGRAPHY e GEOMETRY, permitem que os desenvolvedores armazenem dados específicos de local diretamente no banco de dados, sem a necessidade de divisão desses elementos de dados em formatos que se ajustem a outros tipos de dados padrão.

 

No passado, um problema muito comum para desenvolvedores de banco de dados era a forma como armazenar e utilizar objetos binários grandes, como documentos e arquivos de mídia. O método normalmente usado era armazenar os arquivos fora do banco de dados e simplesmente armazenar um ponteiro no banco de dados para o arquivo externo. Com esse método, no entanto, ao mover o arquivo, você não podia se esquecer de atualizar o ponteiro.

O SQL Server 2008 lida com esse problema com o novo tipo de dados FILESTREAM. Com esse tipo de dados, os arquivos ainda podem ser armazenados fora do banco de dados, mas os dados são considerados parte do banco de dados para consistência transacional. Isso possibilita a utilização de operações de arquivo comuns com a manutenção dos benefícios de desempenho e de segurança do banco de dados.

 

E quanto ao business intelligence?

O uso cada vez maior do SQL Server nos últimos anos tem sido guiado em grande parte pela adoção de estratégias de business intelligence. Os recursos de business intelligence não são novidade para o SQL Server, mas o SQL Server 2008 possui algumas novidades.

Por exemplo, quando dados são armazenados em data warehouses, freqüentemente há perdas de espaço devido a valores NULL. As colunas que armazenam valores NULL ocupam o espaço do maior tamanho de dados permitido definido na coluna. Isso significa que uma coluna com milhares de valores NULL pode consumir muitos MBs de espaço sem realmente armazenar quaisquer dados.

O SQL Server 2008 apresenta as colunas esparsas, que possibilitam o armazenamento de valores NULL sem a ocupação de qualquer espaço físico do disco. Como as colunas esparsas não consomem espaço real, as tabelas que as contêm podem exceder o limite de coluna de 1.024.

O SQL Server 2008 também apresenta um novo mecanismo, Captura de Dados Alterados, para o gerenciamento de alterações incrementais que precisam ser carregadas no data warehouse. Ele captura e coloca os dados alterados em um conjunto de tabelas de alterações. Capturar dados atualizados, excluídos e inseridos em um esquema de armazenamento que pode ser facilmente utilizado permite o carregamento incremental de data warehouses a partir dessas tabelas — ao contrário de ter de criar instruções de inserção personalizadas que tentam descobrir quais são as alterações feitas em linhas existentes de dados antes da atualização do data warehouse.

 

Conclusão

Esta é somente uma rápida visão geral das novidades do SQL Server 2008. Ele trará um amplo conjunto de novos recursos e de atualizações de recursos existentes para melhorar a vida dos administradores e dos desenvolvedores de banco de dados. Por fim, ele oferecerá desempenho e escalabilidade aprimorados para os bancos de dados cada vez mais exigentes de hoje.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s