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 GervazoniTrabalho 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
- Representando dados em XML no SQL ServerSQL Server
- Diferenças entre SEQUENCES x IDENTITY no Microsoft SQL Server 2012SQL
- Utilizando FILETABLE no SQL Server 2012SQL Server
- NHibernate com o Delphi Prism: Acessando um Banco de Dados SQL ServerVisual Studio
- Novidades no SQL Server Codinome DenaliSQL Server