Académique Documents
Professionnel Documents
Culture Documents
Dados
Sumrio
INTRODUO.........................................................................................06
SGBD X GA............................................................................................07
Caractersticas Gerais de um SGBD..........................................................09
O QUE SQL?........................................................................................11
A Linguagem SQL................................................................................12
Vantagens da Linguagem SQL.................................................................12
INSTALAO E CONFIGURAO DO SQL SERVER 2008......................................14
ENTENDENDO OS COMANDOS....................................................................20
DDL.................................................................................................20
DML.................................................................................................20
DCL..................................................................................................21
Tipos de Dados....................................................................................21
Comandos..........................................................................................24
CREATE..........................................................................................24
Criao do Banco de Dados.................................................................24
Criao de Tabelas............................................................................24
Alterao de Tabelas.........................................................................25
Excluso de Tabelas..........................................................................26
Insero de Dados na Tabela...............................................................26
Alterao de Dados na Tabela.............................................................27
Deleo de Dados em uma Tabela.........................................................28
Seleo de Colunas Especficas em uma Tabela........................................28
Seleo de Todas as Colunas em uma Tabela...........................................29
Seleo de Colunas em uma Tabela com Condio....................................29
Operadores Relacionais......................................................................29
Operadores Lgicos...........................................................................30
Agrupamento de Dados Selecionados.....................................................30
Ordenao de Dados Selecionados........................................................31
Sequncia no comando "SELECT"..........................................................31
GERENCIAMENTO DE SEGURANA................................................................32
Instalao..........................................................................................32
Atualizao........................................................................................32
Dicas de Segurana..............................................................................33
MONITORAMENTO DO SQL SERVER...............................................................36
TRANSFERNCIA DE DADOS........................................................................36
Automao de tarefas administrativas.......................................................38
SQL Server Agent.................................................................................39
Componentes da Administrao Automtica...............................................39
Criando Trabalhos com o SQL Management Studio........................................39
Criando Trabalhos com o SQL Server Agent................................................40
REPLICAO..........................................................................................40
RECUPERAO DE DESASTRES....................................................................41
Backup de dados.................................................................................41
Backups de banco de dados....................................................................42
Backups parciais..................................................................................43
Backups de arquivos.............................................................................43
Agendando backups..............................................................................44
RECUPERAO.......................................................................................45
Cenrios de Recuperao.......................................................................45
Vantagens de uma restaurao de arquivo ou pgina....................................50
CONCLUSO...........................................................................................51
CRIAO E ADAPTAO............................................................................51
REFERNCIAS.........................................................................................52
INTRODUO
Banco de Dados
Todos ns sabemos existirem gigantescas bases de dados gerenciando nossas vidas. De
fato sabemos que nossa conta bancria faz parte de uma coleo imensa de contas
bancrias de nosso banco. Nosso Ttulo Eleitoral ou nosso Cadastro de Pessoa Fsica,
certamente esto armazenados em Bancos de Dados colossais. Sabemos tambm que
quando sacamos dinheiro no Caixa Eletrnico de nosso banco, nosso saldo e as
movimentaes existentes em nossa conta bancria j esto nossa disposio.
Nestas situaes sabemos que existe uma necessidade em se realizar o
armazenamento de uma srie de informaes que no se encontram efetivamente isoladas
umas das outras, ou seja, existe uma ampla gama de dados que se referem a
relacionamentos existentes entre as informaes a serem manipuladas.
Estes Bancos de Dados, alm de manterem todo este volume de dados organizado,
tambm devem permitir atualizaes, incluses e excluses do volume de dados, sem
nunca perder a consistncia. E no podemos esquecer que na maioria das vezes estaremos
lidando com acessos concorrentes a vrias tabelas de nosso banco de dados, algumas vezes
com mais de um acesso ao mesmo registro de uma mesma tabela!
O fato de montarmos uma Mala Direta em um micro PC-XT com um drive j faz de ns
um autor de um Banco de Dados?
Claro que no! Um Banco de Dados antes de mais nada uma coleo logicamente
coerente de dados com determinada significao intrnseca. Em outras palavras um arquivo
contendo uma srie de dados de um cliente, um arquivo com dados aleatoriamente gerados
e dois arquivos padro dbf (dBase) que tem uma relao definida entre ambos, no pode
ser considerada uma Base de Dados Real.
Um Banco de Dados contm os dados dispostos numa ordem pr-determinada em
funo de um projeto de sistema, sempre para um propsito muito bem definido.
Um Banco de Dados representar sempre aspectos do Mundo Real. Assim sendo uma
Base de Dados (ou Banco de Dados, ou ainda BD) uma fonte de onde poderemos extrair
uma vasta gama de informaes derivadas, que possui um nvel de interao com eventos
6
como o Mundo Real que representa. A forma mais comum de interao Usurio e Banco de
Dados, d-se atravs de sistemas especficos que por sua vez acessam o volume de
informaes geralmente atravs da linguagem SQL.
Os Administradores de Banco de Dados (DBA) so responsveis pelo controle ao acesso
aos dados e pela coordenao da utilizao do BD. J os projetistas de Banco de Dados
(DBP) so analistas que identificam os dados a serem armazenados em um Banco de Dados
e pela forma como estes sero representados.
Os Analistas e Programadores de Desenvolvimento, criam sistemas que acessam os
dados da forma necessria ao Usurio Final, que aquele que interage diretamente com o
Banco de Dados.
SGBD X GA
Um SGBD - Sistema de Gerenciamento de Banco de Dados uma coleo de
programas que permitem ao usurio definir, construir e manipular Bases de Dados para as
mais diversas finalidades.
Um conceito que dever ficar bastante claro inicialmente o que envolve a
separao clara entre os Gerenciadores de Base de Dados dos Gerenciadores de Arquivo.
Sistemas baseados em "Banco de Dados" baseados em Btrieve e dBase (Fox e Clipper),
podem no mximo simular as caractersticas tpicas de um ambiente de Banco de Dados. As
linguagens Delphi (utiliza opcionalmente o padro dBase) e o VB (que utiliza o Access),
recomendam a utilizao de Banco de Dados reais, porm utilizam queles "Banco de
Dados" que possuem algumas caractersticas de Bancos de Dados, mas possuem
caractersticas tpicas de Gerenciadores de Arquivo.
Vamos definir algumas regras bsicas e claras para um sistema de manipulao de
dados ser considerado um SGBD.
Fica implcito que se ao menos uma das caractersticas abaixo no estiver presente no
nosso "candidato" a SGBD, este poder ser um GA (Gerenciador de Arquivo) de altssima
qualidade, "quase" um SGBD, mas no um SGBD.
instruo que permita a gravao de uma srie modificaes simultneas e uma instruo
capaz de cancelar um srie modificaes. Por exemplo, imaginemos que estejamos
cadastrando um pedido para um cliente, que este deseje reservar 5 itens de nosso estoque,
que esto disponveis e portanto so reservados, porm existe um bloqueio financeiro
(duplicatas em atraso) que impede a venda. A transao dever ser desfeita com apenas
uma instruo ao Banco de Dados, sem qualquer modificaes suplementares nos dados.
Caso voc se obrigue a corrigir as reservas, atravs de acessos complementares, voc no
est lidando com um SGBD.
Regra 6: Acesso Automtico - Em um GA uma situao tpica o chamado Dead-Lock,
o abrao mortal. Esta situao indesejvel pode ocorrer toda vez que um usurio travou um
registro em uma tabela e seu prximo passo ser travar um registro em uma tabela
relacionada primeira, porm se este registro estiver previamente travado por outro
usurio, o primeiro usurio ficar paralisado, pois, estar esperando o segundo usurio
liberar o registro em uso, para que ento possa trav-lo e prosseguir sua tarefa. Se por
hiptese o segundo usurio necessitar travar o registro travado pelo primeiro usurio (!),
afirmamos que ocorreu um abrao mortal, pois cada usurio travou um registro e precisa
travar um outro, justamente o registro anteriormente travado pelo outro! Imaginemos um
caso onde o responsvel pelos pedidos acabou de travar o Registro Item de Pedido, e,
necessita travar um registro no Cadastro de Produtos, para indicar uma nova reserva. Se
concomitantemente estiver sendo realizada uma tarefa de atualizao de pendncias na
Tabela de Itens, e para tanto, previamente este segundo usurio travou a Tabela de
Produtos, temos a ocorrncia do abrao mortal. Se a responsabilidade de evitar esta
ocorrncia for responsabilidade da aplicao, voc no est lidando com um SGBD.
Concluso: Um SGBD deve obedecer INTEGRALMENTE as seis regras acima. Em caso
contrrio estaremos diante de um GA ou de um "quase" SGBD.
Caractersticas Gerais de um SGBD
Os SGBD tem sete caractersticas operacionais elementares sempre observadas, que
passaremos a listar:
Caracterstica 1:
armazenamento
de
Controle
uma
mesma
de
Redundncias
informao
em
A redundncia
locais
diferentes,
consiste
no
provocando
10
apenas uma tabela sem relacionamentos, e sabe-se de antemo que uma duplicata depois
de emitida, no pode ter seu cliente alterado).
O QUE SQL?
Pra comear voc precisa saber que SQL no um banco de dados; SQL um idioma
(entre especialistas costumamos substituir o termo idioma por linguagem). A sigla SQL
significa Structured Query Language; em portugus: linguagem de consulta estruturada.
O foco da linguagem justamente isso: consultar!
Os bancos de dados (ou gerenciadores de bancos de dados) nasceram antes da
linguagem SQL e cada qual tinha sua prpria linguagem de consulta. Logo os usurios e
fabricantes notaram que essa torre de babel no era interessante e optaram pela criao
de um nico idioma para consultar bancos de dados relacionais. O rgo American
National Standards Institute (ANSI) ficou responsvel pela padronizao desta linguagem e
de tempos em tempos realiza encontros entre fabricantes para discutir a linguagem SQL e
propor melhorias; no entanto esta padronizao no impede que cada fabricante
personalize a linguagem SQL para atender suas necessidades, e a que surgem os dialetos.
Por exemplo, o dialeto do gerenciador de banco de dados Oracle o PL/SQL; o do SQL
Server o T-SQL (transact SQL) e etc.
Agora importante que voc no confunda a linguagem SQL com gerenciadores de
banco de dados! Isso um erro muito comum!
Por exemplo, o gerenciador de banco de dados Microsoft SQL Server 2008 (como o
nome j diz), um programa que gerencia bancos de dados. A arquitetura dos sistemas
gerenciadores de bancos de dados (SGBDs) definida de forma que os dados possam estar
sempre consistentes e que sejam recuperados da forma mais rpida possvel! Digamos que
estes so itens de srie de qualquer SGBD. Para tornar os gerenciadores de bancos de
dados ainda mais atraentes, os fabricantes adicionam outras inmeras funcionalidades para
facilitar o trabalho dos DBAs, aumentar a segurana, a disponibilidade e etc.
Hoje existem diversos gerenciadores de bancos de dados disponveis no mercado,
como o Oracle, o Microsoft SQL Server, o PostgreSQL, entre outros. Todos utilizam a
linguagem SQL para consultar dados e dentre esses SGBDs, iremos trabalhar com o
Microsoft SQL Server 2008. Vejamos a seguir a instalao e configurao do mesmo.
11
A Linguagem SQL
banco
de
dados
(DBA)
pode
utilizar comandos
SQL
para
realizar
tarefas
sendo
processados nos computadores dos clientes (front ends) usam comandos SQL para se
comunicarem, atravs de uma rede, com um SGBD sendo processado em uma mquina
servidora (back end);
Linguagem para bancos de dados distribudos - A linguagem SQL tambm a
linguagem padro para a manipulao de dados em uma base de dados distribuda.
Controle de acesso - Protege os dados de manipulaes no autorizadas.
Integridade dos dados - Auxilia no processo de definio da integridade dos dados,
protegendo contra corrupes e inconsistncias geradas por falhas do sistema de
computao, ou por erros nos programas de aplicao.
Vantagens da Linguagem SQL
Podemos apontar as seguintes vantagens no uso da linguagem SQL:
Independncia de fabricante - A linguagem SQL adotada por praticamente
todos
os
SGBDs
padronizada (ANSI). Com isso, pelo menos em tese, posso mudar de SGBD sem me
preocupar em alterar os programas de aplicao.
12
ao
criador
do
banco
de
dados
levar
da
linguagem
SQL
pode-se
alterar,
domnios, e etc.)
13
http://go.microsoft.com/fwlink/?LinkId=120550
http://go.microsoft.com/fwlink/?LinkId=123422
http://go.microsoft.com/fwlink/?LinkId=120552
Aps as devidas verificaes e atualizaes, podemos iniciar a instalao. Execute o
arquivo SQLEXPRWT_x86_ENU.exe e observe que do lado esquerdo da tela que
apresentada existem as opes Planning, Installation, Maintenance e etc. Na guia Planning
escolha a opo System Configuration Cheker.
Neste momento ser feita uma breve verificao para indicar se falta algo para o
andamento da instalao. Obtendo um retorno positivo clique em Ok e selecione na guia
Installation a opo New SQL Server stand-alone installation or add features to an
existing installation (Nova instalao ou adicionar opes para uma instalao j
existente).
14
O instalador far uma nova verificao, se estiver tudo certo (para ver os detalhes
dessa verificao clique no boto Show Details) clique no boto OK.
Na prxima tela clique em Install para instalar os arquivos que daro suporte ao
restante da instalao. Clique Next.
Na tela Product Key clique em Next (observe que voc no precisa de uma chave j
que esta uma verso free). Marque a opo: I accept the license terms e clique em
Next. Quando esta etapa finalizar, voc ir escolher o que deseja instalar. Marque somente
a opo Database Engine Services. Essa opo instalar o engine do SQL Server Express. Se
desejar instalar tambm as ferramentas marque a opo Management Tools Basic.
15
Na prxima tela voc dever escolher por uma instncia padro (Default Instance) ou
uma instncia nomeada (Named Instance). Esta etapa define o nome pelo qual seu servidor
SQL ir responder. Se escolher pela instncia padro o SQL ter o mesmo nome de seu
servidor, se for uma instncia nomeada o SQL ir atender por: NOME_SERVIDOR\NOME_SQL.
Clique em Next.
16
A prxima tela traz um resumo sobre o espao em disco que ser utilizado. Clique em
Next.
A seguir voc dever informar sob qual conta do Windows rodaro os servios do SQL
Server. Na caixa Account Name vamos escolher a conta AUTORIDADE NT\SYSTEM para o
servio do SQL e o padro para o SQL Browser. Em casos onde seu SQL Server utilizar
recursos de rede ser importante utilizar uma conta de domnio.
Clicando em Next voc dever optar pelo modo de autenticao no SQL. As duas
opes so:
Windows Authentication Mode Nessa opo, apenas contas do Windows podero
autenticar no seu SQL.
Mixed Mode Nessa opo, podero autenticar tanto contas Windows e contas criadas
posteriormente dentro do SQL.
A Mixed Mode a mais utilizada (apesar de no ser a recomendada pela Microsoft).
Escolheremos a opo Mixed Mode e definir uma senha para a conta system
administrator (SA). Tambm iremos adicionar uma conta Windows ao grupo de
administradores do SQL. Voc pode adicionar uma conta de administrador e tambm o
usurio atual clicando no boto Add Current User.
17
O SA o usurio master do seu SQL Server, por isso no atribua uma senha fraca a
ele e no ESQUEA essa senha.
Se estiver em dvida sobre o modo de autenticao que deve usar, fique tranqilo,
essa configurao pode ser alterada depois. Como estamos realizando uma instalao
padro, neste momento ignore as abas Data Directories e FILESTREAM. Clique em Next.
A prxima tela pergunta se voc deseja enviar automaticamente relatrios de
possveis erros para a Microsoft. Faa sua escolha e clique em Next. Agora o instalador faz
uma nova verificao para validar os parmetros informados at aqui. Se estiver tudo ok,
clique em Next.
Verifique o resumo da instalao e finalmente clique em Install. Agora s aguardar a
finalizao da instalao.
Consideraes: Se voc realizar essa instalao numa maquina com Windows XP em
portugus, ao final poder encontrar o seguinte erro na instalao:
Na janela SQL Server Configuration Manager, expanda a opo SQL Server Network
Configuration e clique na subopo que contm o nome da sua instncia.
DML
Depois que voc criou suas tabelas, definiu relacionamentos, ndices e etc., hora de
manipular seus dados; os comandos SQL que MANIPULAM dados so os populares SELECT,
INSERT, UPDATE e DELETE. Em ingls esses comandos so chamados de Data Manipulation
Language o que explica a abreviao DML.
Em algumas literaturas o comando SELECT no considerado um comando de
manipulao de dados, sendo enquadrado numa outra categoria: DQL, Data Query
Language, em portugus: Linguagem de consulta.
20
DCL
Com o banco de dados pronto e rodando importante definir quem poder acess-lo,
enfim, precisamos definir a segurana do seu banco. Em ingls, os comandos responsveis
pelo controle dos dados so chamados de Data Control Language (DCL). Os comandos
GRANT e REVOKE fazem parte deste grupo.
21
A instruo CREATE TABLE possui mais opes, porm a sintaxe bsica apresentada
aqui est no padro ANSI e pode ser utilizada para criar tabelas em outros bancos de dados
como o Oracle, MySQL, DB, etc. Um exemplo de criao de uma tabela com dois campos:
CREATE TABLE Exemplo1
(
codigo INT NOT NULL,
nome CHAR(30) NULL
)
A tabela chamada Exemplo1 foi criada com dois campos: codigo, do tipo INT e nome
do tipo CHAR(30). Junto com o tipo de dados, devemos especificar se este campo permite
ou no seu preenchimento com NULO (nulabilidade), que quer dizer ausncia de dados. Se
no especificarmos nada para o campo, por padro o campo ir aceitar valores NULL.
Sendo assim, vamos conhece-los.
Os tipos de dados SQL se classificam em 13 tipos de dados primrios e de vrios
sinnimos vlidos reconhecidos por tais tipos de dados. Os tipos de dados primrios so:
TINYINT: Valores numricos inteiros variando de 0 at 256.
SMALLINT: Valores numricos inteiros variando de 32.768 at 32.767.
INT: Valores numricos inteiros variando de -2.147.483.648 at 2.147.483.647.
*BIGINT: Valores numricos inteiros variando de 92.23.372.036.854.775.808 at
9.223.372.036.854.775.807.
BIT: Somente pode assumir os valores 0 ou 1. Utilizado para armazenar valores
lgicos.
DECIMAL(I,D) e NUMERIC(I,D): Armazenam valores numricos inteiros com casas
decimais utilizando preciso. I deve ser substitudo pela quantidade de dgitos total do
nmero e D deve ser substitudo pela quantidade de dgitos da parte decimal (aps a
vrgula). DECIMAL e NUMERIC possuem a mesma funcionalidade, porm DECIMAL faz parte
do padro ANSI e NUMERIC mantido por compatibilidade. Por exemplo, DECIMAL(8,2)
armazena valores numricos decimais variando de 999999,99 at 999999,99.
22
Valores
numricos
decimais
variando
de
-214.748,3648
at
214.748,3647.
MONEY: Valores numricos decimais variando de -922.337.203.685.477,5808 at
922.337.203.685.477,5807.
REAL: Valores numricos aproximados com preciso de ponto flutuante, indo de 3.40E + 38 at 3.40E + 38.
FLOAT: Valores numricos aproximados com preciso de ponto flutuante, indo de 1.79E + 308 at 1.79E + 308.
SMALLDATETIME: Armazena hora e data variando de 1 de janeiro de 1900 at 6 de
junho de 2079. A preciso de hora armazenada at os segundos.
DATETIME: Armazena hora e data variando de 1 de janeiro de 1753 at 31 de
Dezembro de 9999. A preciso de hora armazenada at os centsimos de segundos.
CHAR(N): Armazena N caracteres fixos (at 8.000) no formato no Unicode. Se a
quantidade de caracteres armazenada no campo for menor que o tamanho total
especificado em N, o resto do campo preenchido com espaos em branco.
VARCHAR(N): Armazena N caracteres (at 8.000) no formato no Unicode. Se a
quantidade de caracteres armazenada no campo for menor que o tamanho total
especificado em N, o resto do campo no preenchido.
TEXT: Armazena caracteres (at 2.147.483.647) no formato no Unicode. Se a
quantidade de caracteres armazenada no campo for menor que 2.147.483.647, o resto do
campo no preenchido. Procure no utilizar este tipo de dado diretamente, pois existem
funes especficas para trabalhar com este tipo de dado.
23
24
smallint
varchar(40)
varchar(40)
varchar(20)
char(08)
char(02)
(cod_cli));
not null,
not null,
null,
null,
null,
null,
Alterao de Tabelas
O comando ALTER TABLE usado para alterar uma tabela. Este comando permite
inserir/eliminar atributos nas tabelas j existentes. A sua forma geral :
ALTER TABLE < nome_tabela > ADD / DROP (
nome_atributo1 < tipo > [ NOT NULL ],
nome_atributoN < tipo > [ NOT NULL ] ) ;
25
onde:
<nome_tabela> dever ser substitudo pelo nome da tabela a ser excluir.
Exemplo:
alter table cliente (
add email varchar(40) );
Excluso de Tabelas
O comando DROP TABLE usado para excluir uma tabela. A sua forma geral :
DROP TABLE <nome_tabela>
onde:
<nome_tabela> dever ser substitudo pelo nome da tabela a ser excluir.
Exemplo:
drop table cliente
27
28
Onde:
<lista_de_colunas> deve ser substitudo pelas colunas que se deseja listar.
<nome_tabela> dever ser substitudo pelo nome da tabela a ser pesquisada.
Exemplo:
select nome_cli,cidade,uf
from cliente;
Seleo de Todas as Colunas em uma Tabela
SELECT *
FROM <nome_tabela>;
Exemplo:
select * from cliente;
O exemplo utiliza o coringa "*" para selecionar as colunas na ordem em que foram
criadas. A instruo Select, como pudemos observar seleciona um grupo de registros de
uma (ou mais) tabela(s). No caso a instruo From nos indica a necessidade de
pesquisarmos tais dados apenas em uma determinada tabela.
Seleo de Colunas em uma Tabela com Condio
SELECT <lista_de_colunas>
FROM <nome_tabela>
WHERE <condio_de_seleo>;
Onde a clusula WHERE tem a seguinte forma:
WHERE <nome_da_coluna> <operador> <valor>
Operadores Relacionais
operador
=
>
>=
<
<=
significado
igual a
maior que
maior que ou igual a
menor que
menor que ou igual a
29
!= ou <>
diferente de
Observaes:
1 - Quando a coluna do tipo caracter, o <valor> deve estar entre aspas simples (').
Exemplo: 'parafuso'
2 - Na linguagem SQL existe diferena entre caracteres maisculos e minsculos;
logo, 'PARAFUSO' diferente de 'parafuso'.
Operadores Lgicos
operador
and
or
not
significado
conjuno
disjuno
negao
Exemplo:
Quais so os produtos que tm unidade igual a 'kg' e valor unitrio maior do que R$
2,00?
select desc_prod
from produto
where unid_prod = 'kg' and val_unit > 2.00;
Agrupamento de Dados Selecionados
A clusula "GROUP BY" pode ser usada para dividir as tuplas de uma tabela em grupos
menores. As funes de grupo devolvem uma informao sumarizada para cada grupo.
Exemplo:
select dupnume, avg(empsala)
from emp
group by depnume;
A clusula HAVING opcional. HAVING semelhante a WHERE, que determina quais
registros so selecionados. Depois que os registros so agrupados com GROUP BY, HAVING
determina quais registros so exibidos.
Exemplo:
select depnume, avg(empsala)
from emp
group by depnume
having avg(empsala) > 1000;
30
clusulas
ASC
DESC
denotam
ordenao
ascendente
descendente
coluna(s)
tabela(s)
condio(es) da(s) tupla(s)
condio(es) do(s) grupo(s) de tupla(s)
condio(es) do(s) grupo(s) de tupla(s)
coluna(s);
GERENCIAMENTO DE SEGURANA
Instalao
Sempre documentar todo o processo de instalao do SQL Server, para que numa
situao de emergncia o processo possa ser facilmente reproduzido.
Se possvel, instalar e configurar todas as instncias do SQL Server seguindo um
padro que foi acordado e aceito pela organizao. Opcionalmente, utilize o SQL Server
2008 Policy-based Management para fazer com que todas as normas sejam cumpridas.
No instalar servios do SQL Server que no sero usados, como o Microsoft Reporting
Services ou Analysis Services (se no us-los).
Para o melhor desempenho do SQL Server, desabilitar todos os servios do Windows
que no so necessrios.
Para o melhor desempenho do SQL Server, dedicar seu servidor fsico sua instncia
SQL Server, no rode outras aplicaes nele.
Para o melhor desempenho de I/O, colocar os arquivos .mdf e .ldf em volumes de
discos separados para evitar conflitos de escrita e leitura.
Se a TEMPDB for muito utilizada, colocar esta base em discos separados. Alm disso,
fazer uma estimativa para o tamanho desta base, de forma que no ocorra crescimento
automtico. Dividir a TEMPDB em vrios arquivos, de forma que o nmero de arquivos
fsicos represente 50% a 100% do nmero de ncleos da CPU do servidor. Cada arquivo fsico
deve ter o mesmo tamanho.
No instalar o SQL Server num controlador de domnio.
Nos arquivos de dados e logs no utilizar compactao, nem EFS (criptografia em
sistemas de arquivos NTFS) .
Atualizao
Para evitar problemas potenciais, executar o Upgrade Advisor em qualquer banco de
dados que se pretende atualizar.
32
Antes de realizar uma atualizao do SQL Server, testar seu aplicativo num ambiente
de testes para garantir compatibilidade. Antes de realizar a atualizao fazer as alteraes
necessrias.
Antes de qualquer atualizao, verificar se tem um plano B para o caso de uma
falha.
O upgrade in place pode funcionar bem, mas instalar o novo SQL Server num novo
hardware menos arriscado (side-by-side).
Depois do upgrade, deve-se atualizar todas as estatsticas dos bancos de dados,
usando o UPDATE STATISTICS. Isso necessrio porque as estatsticas no so
automaticamente atualizadas durante o processo de atualizao. Alm disso, executar o
UPDATE STATISTICS pode corrigir a contagem interna das pginas.
Dicas de Segurana
Garantir a segurana fsica de cada servidor SQL Server, evitando que usurios no
autorizados acessem os servidores fisicamente.
Em suas instncias SQL Server instalar somente bibliotecas e protocolos de rede que
sejam realmente necessrios.
Reduzir a quantidade de sysadmins (administradores) que tenham permisso para
acessar o SQL Server;
Como DBA trabalhar com privilgios sysadmin somente quando necessrio. Criar
contas diferentes para os DBAs acessarem o SQL Server quando privilgios de administrador
no forem necessrios.
Configurar a conta SA com uma senha segura e jamais utilize esta conta para logar no
SQL Server. Para acessar o SQL Server com direitos administrativos utilizar uma conta com
autenticao Windows.
Quando conceder permisses para usurios, dar o mnimo de permisso necessrio
para que ele possa realizar o trabalho.
33
Ao invs de permitir que usurios acessem os dados diretamente nas tabelas, utilizar
Store Procedures e/ou Views.
Sempre
que
possvel
utilizar
contas
com
autenticao
Windows
(windows
35
Management Object (SMO) para copiar os objetos do banco de dados. Quando voc usa o
modo offline, o banco de dados desanexado, os arquivos do banco de dados so copiados
ou movidos e o banco de dados anexado ao destino aps a concluso bem-sucedida da
transferncia. Se o banco de dados for copiado, ele ser novamente anexado de forma
automtica fonte, se a cpia for bem-sucedida. No modo offline, o banco de dados
copiado mais rapidamente, mas o banco de dados fica indisponvel aos usurios durante a
transferncia.
O modo offline requer que voc especifique os compartilhamentos de arquivos de
rede nos servidores de origem e de destino que contm os arquivos de banco de dados. Se
a pasta for compartilhada e acessada pelo usurio, voc pode fazer referncia ao
compartilhamento
de
rede
Programas\minha_pasta\.
usando
Caso
sintaxe
contrrio,
\\nome_do_computador\Arquivos
voc
dever
usar
de
sintaxe
37
Operadores
Um operador define as informaes de contato de um indivduo responsvel pela
manuteno de uma ou mais instncias do SQL Server. Em algumas empresas, as
responsabilidades de operador so atribudas a um indivduo. Em empresas com vrios
servidores, vrios indivduos podem dividir as responsabilidades de operador. Um operador
no contm informaes de segurana e no define uma entidade de segurana.
Implementando Trabalhos
possvel
usar
trabalhos
do
SQL
Server
Agent
para
automatizar
tarefas
40
RECUPERAO DE DESASTRES
O MicrosoftSQL Server permite que voc faa backup e restaure bancos de dados. O
componente de backup e restaurao do SQL Server oferece uma proteo importante para
dados crticos armazenados em bancos de dados do SQL Server. Uma estratgia de backup
e restaurao bem planejada ajuda a proteger bancos de dados contra perda de dados
causada por vrias falhas. Teste sua estratgia restaurando um conjunto de backups e
recuperando depois seu banco de dados para se preparar para responder com eficincia a
um desastre.
Uma cpia de dados que podem ser usados para restaurar e recuperar dados
chamada backup. Os backups permitem a restaurao de dados depois de uma falha. Com
backups bons, voc pode fazer a recuperao aps diversas falhas, tais como:
Falha de mdia.
Por exemplo, erros de usurio, que descartam uma tabela por engano.
Desastres naturais.
Backup completo
Um backup completo contm todos os dados de um determinado banco de
dados ou grupo de arquivos ou arquivos e seu log suficiente para a recuperao desses
dados.
Backup diferencial
41
Descrio
42
Backups parciais
Os backups parcial e diferencial foram includos no SQL Server 2005. Esses backups
foram projetados para proporcionar mais flexibilidade ao backup de bancos de dados que
contm alguns grupos de arquivos somente leitura adotando um modelo de recuperao
simples. Contudo, esses backups so suportados por todos os modelos de recuperao.
O SQL Server 2008 suporta os seguintes tipos de backups de arquivo.
Tipo
Descrio
Backup
parcial
Backup
diferencial
parcial
de arquivos.
Backups de arquivos
possvel fazer o backup dos arquivos em um banco de dados e depois restaur-los
individualmente. O uso de backups de arquivos pode aumentar a velocidade de
recuperao permitindo a restaurao somente dos arquivos danificados, sem restaurar o
restante do banco de dados. Por exemplo, se um banco de dados for composto por diversos
arquivos situados em discos diferentes e um dos discos falhar, somente o arquivo no disco
com defeito precisar ser restaurado. No entanto, o planejamento e a restaurao de
43
backups de arquivos podem ser complexos; portanto, os backups de arquivos devem ser
usados somente quando eles realmente forem teis ao plano de restaurao.
O SQL Server suporta os seguintes tipos de backups de arquivo.
Tipo
Descrio
Backup de
arquivo
ou grupos de arquivos.
Importante
No modelo de recuperao simples, os backups de arquivos so
essencialmente restritos a grupos de arquivos secundrios somente
leitura. possvel criar um backup de arquivos de um grupo de arquivos
de leitura/gravao, mas antes de restaur-lo, voc deve definir o grupo
de arquivos como somente leitura e fazer um backup de arquivo somente
leitura diferencial.
Backups de
arquivo
diferenciais
Agendando backups
A execuo do backup tem um efeito mnimo sobre as transaes em andamento;
portanto, as operaes de backup podem ser realizadas durante a operao regular.
Durante uma operao de backup, o SQL Server copia os dados diretamente dos arquivos de
banco de dados para os dispositivos de backup. Os dados no so alterados e as transaes
que esto em andamento durante o backup no so atrasadas. Portanto, possvel
executar um backup no SQL Server com um efeito mnimo sobre as cargas de trabalho de
produo.
possvel agendar a execuo automtica de backups a intervalos fixos.
44
Recuperao
O SQL Server oferece suporte restaurao de dados nos seguintes nveis:
45
46
log). Isso cria um backup do final do log. Se o log de transaes ativas no estiver
disponvel, todas as transaes naquela parte do log sero perdidas.
2.
Ao restaurar um banco de dados completamente, deve ser usada uma nica sequncia
de restaurao. O exemplo a seguir mostra as opes crticas em uma sequncia de
restaurao para o cenrio de restaurao completa do banco de dados no qual o banco de
dados restaurado at o ponto de falha. Uma sequncia de restaurao consiste em uma
ou mais operaes de restaurao que movem dados por uma ou mais etapas de
restaurao. Sintaxe e detalhes que no sejam relevantes a esse propsito so omitidos.
48
DATABASE
database
FROM
full_differential_backup
WITH
NORECOVERY;
3. RESTORE LOG database FROM log_backup WITH NORECOVERY;
4. Repita essa etapa de log de restaurao para cada backup de log adicional.
5. RESTORE DATABASE database WITH RECOVERY;
Cenrio 2: Restaurao de arquivo *
Modelo de Recuperao Simples: Restaura um ou mais arquivos somente leitura
danificados, sem restaurar todo o banco de dados. A restaurao de arquivo s estar
disponvel se o banco de dados tiver pelo menos um grupo de arquivos somente leitura.
Modelo de recuperao completa e com log de operaes em massa: Restaura um
ou mais arquivos, sem restaurar todo o banco de dados. A restaurao de arquivo pode ser
executada enquanto o banco de dados estiver offline ou, em algumas verses do SQL Server
2005 e posteriores, enquanto o banco de dados permanece online. Durante uma
restaurao de arquivo, os grupos de arquivos que contm os arquivos que esto sendo
restaurados sempre esto offline.
Cenrio 3: Restaurao de pgina.
Modelo de recuperao simples: No aplicvel.
Modelo de recuperao completa e com log de operaes em massa: Restaura uma
ou mais pginas danificadas. A restaurao de pgina pode ser executada enquanto o banco
de dados estiver offline ou, em algumas verses do SQL Server 2005 e posteriores,
enquanto o banco de dados permanece online. Durante uma restaurao de pgina, as
pginas que esto sendo restauradas sempre esto offline.
49
Uma cadeia ininterrupta de backups de log deve estar disponvel, at o arquivo de log
atual, e todos eles devem ser aplicados para tornar a pgina atualizada com o arquivo de
log atual.
Cenrio 4: Restaurao por etapas *
Modelo de recuperao simples: Restaura e recupera o banco de dados em fases no
nvel do grupo de arquivos, iniciando com o grupo de arquivos primrio e todos os grupos
de arquivos de gravao/leitura secundrios.
Modelo de recuperao completa e com log de operaes em massa: Restaura e
recupera o banco de dados em fases no nvel do grupo de arquivos, iniciando com o grupo
de arquivos primrio.
*A restaurao online s suportada no SQL Server 2005 Enterprise Edition e verses
posteriores.
Independentemente de como os dados so restaurados, antes que um banco de dados
possa ser recuperado, o Mecanismo de banco de dados do SQL Server garante que todo o
banco de dados logicamente consistente. Por exemplo, se voc restaurar um arquivo, no
poder recuper-lo e coloc-lo online enquanto ele no for rolado para frente o suficiente
para estar consistente com o banco de dados.
Vantagens de uma restaurao de arquivo ou pgina
A restaurao e recuperao de arquivos ou pginas, ao invs de todo o banco de
dados, oferece as seguintes vantagens:
Restaurar menos dados diminui o tempo necessrio para copiar e recuperar o banco
de dados.
No SQL Server 2005 Enterprise Edition e verses posteriores, a restaurao de
arquivos ou pginas poderia permitir que outros dados no banco de dados permanecessem
online durante a operao de restaurao.
50
CONCLUSO:
Como podemos observar, nos dias de hoje, existem gigantescas bases de dados
gerenciando nossas vidas, seja em nossa conta bancria, nas informaes de ttulo
eleitoral, cadastro de pessoa fsica, cartes de crdito, etc, mantendo todos esses dados
organizados permitindo atualizaes, incluses e excluses desse volume de dados, sem
perder a consistncia, ou seja, com o avano tecnolgico e a necessidade de agilidade ao
acesso s informaes, o banco de dados tem um papel importantssimo, como vimos nas
aulas desse curso.
Esperamos ter atingido o objetivo desse material que o esclarecimento acerca do
Microsoft SQL Server 2008.
CRIAO E ADAPTAO:
Cristiano Alencar contato@cristianoalencar.com.br
REFERNCIA
Este material foi desenvolvido baseado em artigos encontrados na internet nos sites
http://imasters.com.br/artigo/244/sql-server/tipos-de-dados-no-sql-server-parte-1,
http://www.criarweb.com/artigos/tipos-dados-sql.html e http://msdn.microsoft.com/ptbr/library/bb418431(v=SQL.10).aspx entre outros, elaborado pela Cristiano Alencar
Informtica Profissional & Treinamento Pessoal (contato@cristianoalencar.com.br) para
um treinamento profissional de Administrao de Banco de Dados utilizando o Microsoft
SQL 2008, para o FIEB, SENAI Ilhus/BA, e segue os termos e condies da licena GNU
Free Documentation License verso 1.1 ou superior publicada pela Free Software
Foundation.
Todos esto autorizados a copiar, modificar e reproduzir em todo ou em parte seu
contedo, desde que os trabalhos dele derivados garantam a todos os seus leitores esse
mesmo direito e que as referncias aos seus autores sejam mantidas.
51