Banco de Dados - SQL Server

SQL Server 2000 - funcionalidades e features

Neste artigo veremos as funcionalidades e features na sua versão mais recente o 2000, (até que não venha o Yukon).

por Thiago Pastorello Gervazoni



Olá Pessoal sou novo por aqui e estarei escrevendo sobre SQL Server.

Trabalho a 7 anos com SQL SERVER, desde a versão 6.5, mas veremos as funcionalidades e features na sua versão mais recente o 2000, (até que não venha o Yukon).

Hoje todos nós sabemos da importância da base de dados em aplicações principalmente corporativas, onde se faz necessário armazenar as transações, inserções e alterações com eficácia e segurança a falhas. O depositório de dados é a resposta para tudo isto.

E conhecendo a arquitetura e caracteristicas do SQL Server permite que você crie consultas, inserções e updates mais rápidas e eficazes, você já ouviu falar de Query plan? E de checkpoint? E de índice clusterizado? Índice não clusterizado? Índices que cobrem queries? View indexada? Função de usuário? Raise error?

Conhecendo isto saberemos como construir recursos e soluções adequadas, já vi store procedures de alguns programadores durarem 10 min, ao passo que fazendo de maneira correta baixavam para 30 segundos. Conhecer a arquitetura e funcionalidades a esta hora faz toda a diferença. É preciso conhecer as características que involvem internamente o funcionamento do SQL Server, como por exemplo tamanho de KB por páginas, processo de Heap, ponteiros, fill-factor, índices (muito importante) e etc etc etc. Veremos um a um a cada coluna.

O Sql Server gerencia dois tipos de base de dados (OLTP) on line transaction processing e (OLAP) online analitical processing. Por enquanto veremos OLPT, mais para frente veremos o OLAP.

A architetura do SQL Server consiste em :

Obs : TDS eu me refiro a Tabular Data Stream, que encapsula as consultas que faço para trafegar na rede.

Server NET-Libraries = Gerencia a concorrencia de protocolos de rede entre eles : TCP/IP, named pipes, NWLink, SAN, GigaNet SAN, Banyan VINES e AppleTalk, é responsável por receber os TDS do Client Net Library.

Open Data Service = Provê uma interface de rede para manusear os protocolos de rede, e lê os TDS passados pelo Server Net Library.

Relation Engine = Realiza o parse do Transact SQL , otimiza e executa os planos de execução, processa a (DDL), Definition Data Language e outros comandos e assegura a segurança.

Storage Engine = Gerencia os arquivos da database e usa os espaços nos arquivos, carrega e lê datas fisicamente gerencia buffers IO fisico, controla concorrencia, performa logins e retrocede operações, implementa funções de utilidade como (DBCC), Databse Consistency Checker backup e restore.

Ainda dentro desta arquitetura possuimos o (RDBM), Relational Database Management system que é responsável por:

  • Manter o relacionamento entre dados e database
  • Assegurar que os dados armazenados e as regras de relacionamento de dados não serão violados
  • Recorrer todas os dados do ponto onde houve falha

A architetura do lado Cliente consistem em:

Quando instalamos o SQL Server, Personnal Edition, Statndard, Enterprise Etc, por default o SQL nos traz 6 base de dados.

Master = Controla os usuários da database, conta de usuários, ambiente de configuração vaiável, e mensagem de erros do sistema. (Banco de sistema, nunca drop)

Model = É o prototipo para criação de outras base de dados, ou seja o template ou a classe para as outras "instâncias", se você mudar algo aqui, ou adicionar todas as outras bases de dados que você criar depois viram com aquela modificação ou inserção (Banco de sistema, nunca drop).

Msdb = Área para agendamento e history de job´s (Banco de sistema, nunca drop)

Northwind = Base de aprendizado e testes

Pubs = Base de aprendizado e testes

TempDB = Este database é para tabelas temporárias ou outras informações temporárias, se você criar uma tabela #TABELA ou uma ##TABELA, estarão aqui (Banco de sistema, nunca drop).

Serviços do SQL SERVER:

MSSQLServer Service = Gerenciamento de dados, Transação e processamento de query, integridade dos dados.

SQLServerAgent = jobs, alertas, operadores

Microsoft Distributed Transaction Cordinator (MS DTC) = Gerenciamento de transações distribuídas entre servidores certificando que tudo ocorra ou não.

Microsoft Search = Procura por catálogos, procura por índices.

Multiplas instâncias do SQL Server computer name/nome da instância não há limite, e todas são independentes como se fossem em servidores diferentes.

Seria impossível eu passar todas as informações em uma única coluna, porque o leque de recursos é muito grande, portanto veremos isto a cada coluna, acompanhem porque muitos dos problemas de performance procurados na arquitetura da aplicação e na própria aplicação estão na base de dados, como modelagem, índices ou consultas mal estruturadas.

Até a próxima.

TheSpoke: http://br.thespoke.net/MyBlog/Tpastorello/MyBlog.aspx

Thiago Pastorello Gervazoni

Thiago Pastorello Gervazoni - Pós graduando pela FGV em MBA-TI Aplicada a Gestão Estratégica dos Negócios, Bacharel e formado em Matemática e Ciências da Computação pela São Camilo. Líder de projetos na Deloitte, desenvolve com plataforma .NET. Possui certificação MCDBA (Microsoft Certified Database Administrator), MCAD (Microsoft Certified Application Developer) e ministra palestras pela Microsoft.

TheSpoke: http://br.thespoke.net/MyBlog/Tpastorello/MyBlog.aspx