Você está na página 1de 74

Slide 1

Professor
Glauco Luiz Rezende de Carvalho
Arquitetura e Administrao de
Banco de Dados II
INSTITUTO FEDERAL DE SERGIPE
CAMPUS LAGARTO
Material cedido por: Felipe Cardoso
Slide 2
Viso Geral, Instalao e Configurao
SQL Server 2008
Slide 3
Contedo
Viso Geral
Plataforma SQL Server 2008
Arquitetura
Pginas e Extenses
Arquivos e Grupos de Arquivos
Log de Transao
Tabelas e ndices
Instalao
Requisitos de Instalao
Configuraes Iniciais
Database Mail
rea de Superfcie
Slide 4
Viso Geral
SQL Server 2008
Slide 5
SQL Server 2008
O que o SQL Server 2008?
Desde a verso 2005, o SQL Server deixou de ser
apenas um SGBD e passou a ser uma plataforma de
dados completa.
Como componentes da plataforma, temos
Database Engine
Analysis Services
Integration Services
Reporting Services
Service Broker
Sync Framework
Slide 6
Database Engine
o componente principal da plataforma SQL Server e
pode ser considerado o SGBD de forma propriamente dita.
Responsvel pelo armazenamento e recuperao de
dados.
Processamento de consultas.
Realiza o controle transacional.
Etc.
Slide 7
Integration Services
Substitui definitivamente o antigo DTS (Data
Transformation Service) do SQL Server 2000.
Projetado para realizao de tarefas de ETL (Extract,
Transform and Load)
Podem ser construdo verdadeiros programas utilizando
componentes grficos.
Slide 8
Integration Services
Slide 9
Analysis Services
Permite a modelagem multidimensional, criando cubos OLAP que
podem ser manipulados por front-ends OLAP.
CUBO
Vendas
Slide 10
Reporting Services
uma plataforma que permite a criao e gerao
automtica de relatrios a partir de fontes de dados
relacionais e multidimensionais.
Permite criar relatrio tabulares
Permite agendar a gerao de relatrios
Etc.
Slide 11
Sync Framework
Permite o sincronismo de dados para colaborao e uso
offline.
Desenvolvedores podem utiliz-lo para sincronizar bancos
de dados e outros tipos de armazenamento de dados,
como:
Arquivos, pastas e metadados.
Slide 12
Viso Geral da Plataforma
Database Engine
OLAP
OLTP
SSIS
Report Server
IIS
SSAS
SSRS
Slide 13
Instncias SQL Server
Uma instncia SQL Server composta por trs
componentes:
Database Engine
Conjunto de softwares e outros componentes que representa,
de fato, o SQL Server.
Engine de armazenamento, processador de consultas, protocolos
de comunicao etc.
Bancos de Dados de Metadados
Bancos de dados que contm informaes sobre outros
bancos de dados e informaes de gerenciamento (alertas,
jobs etc).
Bancos de Dados do Usurio
Bancos de dados definidos pelo usurio.
Slide 14
Instncias SQL Server
O SQL Server 2008 aceita at 50 instncias por servidor.
1 instncia padro, cujo nome padro MSSQLSERVER.
49 instncias nomeadas que so identificadas pela
combinao <nome_do_servidor>\<nome_instncia>
Por que instalar mais de uma instncias em um servidor?
Pode-se, por exemplo, separar bancos de dados de
desenvolvimento e homologao.
No recomendado instalar mais de uma instncia em
servidores de produo.
Exceo: Fazer dois clusters de failover com apenas duas
mquinas.
Slide 15
Bancos de Dados Padro
Em uma instncia existem quatros bancos de dados padro.
So eles:
Master
Contm informaes sobre todos os outros banco de dados da
instncia.
Onde se encontra o Information Schema global.
Model
Utilizado como modelo para novos bancos de dados criados pelo
usurio.
Msdb
Utilizado pelo SQL Agent para agendar Alertas, Jobs e outros
recursos.
Tempdb
recriado cada vez que a instncia inicializada.
Utilizado para processamento temporrio.
Armazena informaes temporrias: como tabelas temporrias,
variveis de tabela, cursores, etc.
Slide 16
Arquitetura
SQL Server 2008
Slide 17
Pgina (page)
Uma pgina (page) a menor unidade
de armazenamento do SQL Server.
Cada pgina tem 8KB.
O incio da pgina contm um
cabealho (header) de 96 Bytes.
Armazena informaes sobre a
pgina.
Aps o cabealho, encontram-se as
linhas de dados (data row).
Armazenam os dados e entradas
de ndices.
O final da pgina contm os row
offsets.
Uma array com apontadores para o
incio das linhas de dados.
96 Bytes
8KB
Cabealho
rea Livre
Linha de Dados 1
Pgina
3 2 1
Linha de Dados 2
Linha de Dados 3
Slide 18
Pgina (page)
Considerando-se o tamanho de uma pgina
e retirando-se o tamanho destinado ao
cabealho, temos 8.096 bytes para as
linhas de dados e deslocamentos (offsets).
Implicaes
As soma das colunas da tabela cujos
tipos de dados sejam de tamanho fixo
no pode exceder 8.060 bytes.
Uma coluna especfica cujo tipo de
dados seja de tamanho fixo no poder
ter mais que 8.000 bytes.
96 Bytes
8.096
Bytes
Cabealho
Linhas de Dados
+
Offsets
Pgina de Dados
Slide 19
Pgina (page)
Tentando criar a tabela t1 a seguir:
Obtivemos a seguinte mensagem de erro:
CREATE TABLE t1 (
n1 CHAR(1024),
n2 CHAR(1024),
n3 CHAR(1024),
n4 CHAR(1024),
n5 CHAR(1024),
n6 CHAR(1024),
n7 CHAR(1024),
n8 CHAR(1024),
)
Falha na criao ou alterao da tabela 't1' porque o tamanho mnimo da linha seria 8199, incluindo
7 bytes de sobrecarga interna. Isso excede o tamanho mximo permitido de linha de tabela, que
8060 bytes.
Slide 20
Pgina (page)
Soluo para o problema anterior:
Nota
Linhas com tipo de dados text, ntext, image, nvarchar(max),
varchar(max), varbinary(max), XML e linhas com tipos de dados variveis
nvarchar(n), varchar(n), varbinary(n) que ultrapassarem 8086 bytes,
sero armazenadas em mais de uma pgina.
As pginas sero encadeadas.
CREATE TABLE t1 (
n1 CHAR(1024),
n2 CHAR(1024),
n3 CHAR(1024),
n4 CHAR(1024),
n5 CHAR(1024),
n6 CHAR(1024),
n7 CHAR(1024),
n8 VARCHAR(1024),
)
Slide 21
Extenses (extents)
Apesar de as pginas de dados
serem a menor unidade de
armazenamento, o SQL Server
aloca um nmero mnimo de 8
pginas de dados por vez.
8 pginas de dados formam
o que chamamos de
extenso (extent).
Extenso
...
P1 P2
P3 P8
64 KB
Slide 22
Extenses (extents)
Para tornar a alocao eficiente, o SQL Server no aloca a extenso inteira
para uma nica tabela. Ele utiliza, na realidade, dois tipos de extenses:
Mistas
A extenso compartilhada por at 8 objetos.
Um objeto para cada pgina da extenso.
Uniformes
Toda a extenso alocada para apenas um objeto.
Quando um objeto (tabela ou ndice) criado, o SQL Server os aloca a uma
extenso mista. Quando a extenso cresce e ultrapassa seu tamanho
mximo, o SQL Server separa os objetos em extenses uniformes.
Slide 23
Tipos de Pgina
Dados
Data
Armazenam dados de todos os tipos, exceto os contemplado nas
pginas de tipo text/image.
ndice
Armazenam entradas de ndice.
Text/Image
Armazenam dados do tipo LOB (Large Objects)
text , ntext, image, nvarchar(max), varchar(max), varbinary(max) e xml.
Armazenam dados de tipos variveis quando maiores que 8060
bytes.
varchar , nvarchar, varbinary e sql_variant.
Slide 24
Tipos de Pgina
Metadados
Global Allocation Map (GAM), Shared GAM
Informaes sobre alocao dos extents.
Page Free Space
Informaes sobre alocao e espao livre de pginas.
Index Allocation Map (IAM)
Informaes sobre quais extents esto associadas a cada tabela ou
ndice.
Bulk Changed Map
Informaes sobre quais extents foram alterados por operaes bulk.
Differential Changed Map
Informaes sobre quais extents foram alterados desde o ltimo
backup full.
Slide 25
Arquivos
Um banco de dados SQL Server pode ter trs categorias distintas de
arquivos:
Primrio
Principal arquivo de dados do banco de dados.
Metadados so armazenados no arquivo de dados primrio.
Recomenda-se a extenso .mdf para identific-lo.
Secundrios
Qualquer outro arquivo que no seja o primrio.
Pode-se ter vrios arquivos de dados secundrios.
Recomenda-se a extenso .ndf para identific-los.
Log
Todo banco de dados tem ao menos um arquivo de log.
Pode-se ter mais de um, apesar de no haver aumento de desempenho.
O arquivo de log contm informaes utilizadas para a recuperao do
banco de dados.
Recomenda-se a extenso .ldf para identific-los.
Slide 26
Grupos de Arquivos (filegroups)
Visando facilitar a administrao, o SQL Server agrupa,
logicamente, arquivos de dados em grupos de arquivos
(filegroups).
Quando um banco de dados criado, existe ao menos um
grupo de arquivos, o qual chamado Primary.
Como de se esperar, o grupo Primary agrupa o
arquivo de dados primrio.
Pode-se definir outros grupos de arquivos, chamados
grupos de arquivos de usurio (user-define filegroups).
Slide 27
Grupos de Arquivos (filegroups)
Dicas
No recomendado criar os objetos dos usurios (i.e.
tabelas e ndices) no arquivo de dados primrio.
Justificativa
Haveria um aumento da concorrncia por I/O entre as solicitaes
que manipulam objetos dos usurios e solicitaes que manipulam
tabelas do sistema.
Recomenda-se criar dois filegroups
ndice
Armazenar os ndices em arquivos de dados secundrios.
Dados
Armazenar os dados em arquivos de dados secundrios.
Para aumentar o desempenho, deve-se armazenar cada filegroup
em drives de disco diferentes.
Slide 28
Ilustrando
Estrutura Interna de um BD
BD_IFS
Primary (filegroup)
BD_IFS_Primary.mdf BD_IFS_Log.ldf
BD_IFS_FG_Dados01.ndf
FG_Dados (filegroup)
Log
BD_IFS_FG_Indice01.ndf
FG_Indice (filegroup)
Slide 29
Ilustrando
Criando o Banco de Dados
CREATE DATABASE BD_IFS
ON PRIMARY ( NAME=BD_IFS_Primary,
FILENAME=D:\BD_IFS\BD_IFS_Primary.mdf,
SIZE=32MB, MAXSIZE=512MB, FILEGROWTH=32MB
),
FILEGROUP FG_Indice ( NAME=BD_IFS_FG_Indice01,
FILENAME=E:\BD_IFS\BD_IFS_FG_Indice01.ndf,
SIZE=32MB, MAXSIZE=512MB, FILEGROWTH=32MB
),
FILEGROUP FG_Dados ( NAME=BD_IFS_FG_Dados01,
FILENAME=F:\BD_IFS\BD_IFS_FG_Dados01.ndf,
SIZE=512MB, MAXSIZE=Unlimited, FILEGROWTH=256MB
)
LOG ON ( NAME=BD_IFS_Log,
FILENAME=G:\BD_IFS\BD_IFS_Log.ndf,
SIZE=10MB, MAXSIZE=512MB, FILEGROWTH=256MB
)
Slide 30
Log de Transao
O Log de Transao um arquivo usado pelo SGBD para
garantir a integridade do banco de dados e permitir a
recuperao de informaes.
A necessidade de recuperao pode ser decorrente de
vrios fatores:
Falha de hardware
Queda de energia
Atualizao de dados feita de forma errada
Etc.
Portanto, o DBA deve ser muito cauteloso com este
componente do banco de dados.
Slide 31
Log de Transao
Disco
Memria
Arquivo
de
Dados
Arquivo
de
Log
Buffer
Cache
Log
Cache
1
3
update tb_aluno
set nome = Joo da Silva
where id_aluno = 1;
0
2
4
Flush
Slide 32
Log de Transao SQL Server 2008
Arquitetura Lgica
O arquivo de log do SQL Server 2008 nada mais que um conjunto de
registros.
Cada registro identificado por um nmero sequencial lgico (LSN
Logical Sequence Number).
O LSN ccomea com zero quando o banco criado e incrementado at o
infinito.
O registro de log pode armazenar tanto a operao
realizada, como uma imagem dos dados modificados.
Arquivo de Log
Transao 1
T_ID=1
Transao 2
T_ID=2
LSN=100; T_ID=1
LSN=101; T_ID=1
LSN=103; T_ID=1
LSN=102; T_ID=2
LSN=104; T_ID=2
Dentre as operaes temos:
Incio e Fim da Transao
Comandos Insert, Update, Delete
Create Table, Create Index
Alocao de Extents e Page
Etc.
Slide 33
Log de Transao SQL Server 2008
Arquitetura Fsica
O SQL Server divide internamente o arquivo de log em arquivos de
logs virtuais (virtual Logs)
O tamanho dos virtual logs no fixo.
O nmero de virtual logs no fixo.
Ambos so definidos pelo Engine dependendo do tamanho do
arquivo de log e da taxa de crescimento (filegrowth).
O SQL Server tenta deixar um nmero mnimo de virtual logs.
Um arquivo de log pequeno com taxa de incremento pequena implica
em muitos virtual logs, o que, segundo a Microsoft, ruim.
O SQL Server preenche o arquivo de log de forma cclica
Slide 34
Log de Transao SQL Server 2008
Processo de Checkpoint
O processo de checkpoint atualiza os data files (em disco)
com os dados que foram modificados no buffer cache (em
memria).
Cria uma marca dgua no arquivo de log.
Isso diminui a quantidade de registros de log que
devero ser processados durante uma possvel
recuperao do SGBD.
Tempo
Checkpoint
T1 T1 T2 T2 T3 T3
Slide 35
Log de Transao SQL Server 2008
Processo de Chepoint
Situaes que implicam no processo de checkpoint:
Quando uma instruo CHECKPOINT executada explicitamente.
Uma operao de BULK COPY.
Quando acontece uma instruo ALTER DATABASE - que
modifica arquivos.
Um SHUTDOWN da instncia ou uma parada no servio do SQL
Server.
Quando realizado um backup de banco de dados.
Periodicamente, o SQL Server realiza um checkpoint para
minimizar o esforo de uma possvel recuperao.
Slide 36
Tipos de Tabela
Heap Table e Clustered Table
Uma tabela no SQL Server 2008 pode ser de dois tipos:
Heap Table
Quando a tabela que no contm um ndice clusterizado.
As pginas em uma heap table no possuem encadeamento.
Ficam soltas no heap.
Clustered Table
Quando a tabela contm um ndice clusterizado (Clustered
Index).
Neste caso, as pginas so armazenadas no prprio ndice,
considerando uma chave de agrupamento (clustering key).
Slide 37
Heap Table
No h encadeamento entre as
pginas que formam a tabela.
Localizao das pginas feita a partir
de um mapa de alocao (IAM).
Tabela sys.sysindexes
Cada banco de dados possui sua
prpria tabela sys.sysindexes.
Cada tabela ou ndice do banco
possui ao menos uma entrada nesta
tabela.
Index_id = 0
Significa que com campo First IAM
aponta para um Heap.
Slide 38
ndices
O SQL Server 2008 possui, basicamente, dois tipos de
ndices.
Independente do tipos, todos eles so implementados
em uma rvore-B.
Os dois tipos bsicos so:
No Clusterizado (NonClustered Index)
ndice Clusterizado (Clustered Index)
Slide 39
ndice
Nonclustered Index
rvore-B em que os ns
folhas so ponteiros para
as linhas da tabela.
O ponteiro determinado
pela combinao FID, PN e
RN.
Index_id = 2 at 250
Significa que com campo Root aponta
para um ndice no clusterizado.
Slide 40
Ilustrando
Tabela com um Nonclustered Index
Heap que representa a Tabela ndice que aponta para o Heap
Slide 41
ndice
Clustered Index
rvore-B em que os ns
folhas so as linhas da
tabela.
A tabela deixa de ser alocada
na forma de um heap e passa
a ser alocada em rvore.
Os dados so organizados
segundo a chave de
agrupamento.
Por isso, permitido apenas
um ndice clusterizado por
tabela.
Index_id = 1
Significa que com campo Root aponta
para um ndice clusterizado.
Slide 42
Instalao & Configurao
SQL Server 2008
Slide 43
Verses do SQL Server 2008
Enterprise
Projetada para grande empresas que precisam aproveitar todo o poder da
plataforma.
Standard
Projetada para pequenas e mdia empresas que no precisam de todos os
recursos disponveis.
Workgroup
Projetada para pequenos projetos departamentais.
Express
Verso gratuita destina a aplicativos embarcados ou pequenas aplicaes web
com poucos usurios.
Compact
Destinada para aplicativos embarcados.
Developer
Destina aos desenvolvedores. Possui todos os recurso da verso enterprise,
mas no pode ser utilizada em ambiente de produo.
Evaluation
Possui os mesmos recursos da verso enterprise. Permite que empresas
avaliem o SQL Server por 180 dias.
Slide 44
Servios SQL Server
Distributed Transaction Coordinator (MSDTC)
o servio responsvel por coordenar transaes
distribudas.
Exemplo: dois bancos SQL e Oracle se comunicando via
Linked Server
SQL Active Directory Helper
Prov integrao com o Active Directory, por exemplo,
atualizando as permisses dos usurios utilizados nas
contas de servio do SQL Server.
SQL Full-Text Filter Daemon Laucher
Inicia os processos do mecanismo Full-Text Search.
Slide 45
Servios SQL Server
SQL Server
o servio principal do banco de dados.
SQL Server Agent
Servio responsvel pelo agendamento e execuo de
Job e Alertas.
SQL Server Browser
Prov informaes sobre as instncias do SQL Server
instaladas no servidor que roda este servio.
Slide 46
Servios SQL Server
SQL Server Analysis Services
Servio referente ao componente Analysis Services
SQL Server Integration Services
Servio referente ao componente Analysis Services
SQL Server Reporting Services
Servio referente ao componente Reporting Services
SQL Server VSS Writer
Fornece as interfaces necessrias para realizar backup
e restaurao usando o servico VSS (Volume Shadow
Copy Service)
Slide 47
Contas para Servios
Windows Server 2008
Domain User Account
Uma conta de domnio da organizao.
Local User Account
Um usurio local do computador.
Contas Internas (Built-In)
Local Service Account
Conta interna com baixos privilgios.
Mesmos privilgios dos usurios do grupo Users.
Permite utilizar recurso de rede.
Conhecida como NT AUTHORITY\LOCAL SERVICE
Network Service Account
Conta interna com privilgios maiores que os privilgios do grupo Users.
Conhecida como NT AUTHORITY\NETWORK SERVICE
Local System Account
Conta interna com maiores privilgios sobre os recursos do sistema.
Conhecida como NT AUTHORITY\SYSTEM
Slide 48
Contas para Servios
SQL Server 2008
Qual tipo de conta utilizar em cada servio?
Servio Conta Desejvel Observao
SQL Server Conta de Domnio Nunca utilizar Network Service
Configurar privilgios mnimos
SQL Server Agent Conta de Domnio Nunca utilizar Network Service
Configurar privilgios mnimos
Analysis Services Conta de Domnio Configurar privilgios mnimos
Reporting Services NT Authority\Network Service
ou
Conta de Domnio
Por padro, utiliza-se a primeira opo
Integration Services NT Authority\Network Service N/A
SQL Server Browser NT Authority\Local Service N/A
SQL Server Full-Text
Filter Daemon
Laucher
NT Authority\Local Service N/A
Slide 49
Sequncia de Colletion
A sequncia de collation controla como o SQL Server trata
dados alfanumricos em operaes de armazenamento,
recuperao, classificao e comparao.
Define o conjunto alfanumrico suportado (alfabeto),
incluindo se o Engine deve diferenciar letras maisculas
e minsculas, letras com ou sem acentos ou os tipos de
kana.
Pode-se especificar uma sequncia de collation para a
instncia, para o banco de dados, para uma tabela
especfica ou para uma coluna de determinada tabela.
Slide 50
Sequncia de Colletion
CI = Case Insensitive
No diferencia letra maiscula de minscula
Exemplo: IFS e ifs so iguais.
AI = Accents Insensitive
No diferencia letra com ou sem acento
Exemplo: L e La so iguais.
CS = Case Sensitive
Diferencia letra maiscula de minscula
AS = Accents Sensitive
Diferencia letra com ou sem acento.
WS = Width Sensitive
Diferencia a mesma informao representada com tipos de dados de tamanhos diferentes.
KS = Kanatype Sensitive
Diferencia entre os tipos de caracteres japoneses hiragana e katakana.
Slide 51
Modos de Autenticao de Usurio
Authentication Mode
Windows Authentication
Usurios se autenticam usando uma conta de domnio.
Misto (mixed)
Usurios se autenticam usando, ou uma conta de domnio ou
uma conta interna do SQL Server.
Dica
Se existir um domnio implantado (e.g. Active Directory):
Os usurios da empresa podem se conectar via windows
authentication.
Os sistemas podem se conectar via SQL server authentication.
Logo, modo misto deve ser o escolhido.
Observao
Para os sistemas que utilizam recursos de rede, deve-se conectar
via windows authentication.
Slide 52
Requisitos para Instalao/Configurao
O que devemos considerar antes de instalar/configurar um servidor
SQL Server?
Em qual ambiente o servidor funcionar?
Desenvolvimento, Homologao ou Produo.
O servidor utilizar recursos de rede?
Usurios se conectaro diretamente ao servidor?
Quais os recursos de hardware?
Soluo para armazenamento (SAN)
LUNs, RAID, etc.
Discos convencionais (SCSI ou IDE)
Existe software especfico de backup/recuperao?
Tivoli, Archserver Backup, etc.
Slide 53
Prtica 1
Instalao do Server 2008
SQL Server 2008
Slide 54
Configurao
SQL Server 2008
Slide 55
Database Mail
Database Mail o sucessor do SQL Mail (SQL Server 2000)
SQL Mail exigia que um componente MAPI associado a um
cliente de e-mail externo fosse instalado.
Por exemplo, era necessrio instalar o Outlook no servidor em que
se encontrava o SQL Server 2000.
O Database Mail traz toda a implementao do SMTP
Nada precisa ser instalado.
Dois conceitos esto relacionados ao uso do Database Mail
Perfil
Conta
Slide 56
Database Mail
Perfil
um agrupamento de contas de e-mail.
Exemplo: Equipe de Admin DBA
Conta
Uma conta de e-mail particular.
Exemplo: admindba@ifs.edu.br
Um perfil pode ser pblico ou privado.
Um perfil pblico permite que qualquer usurio do SQL Server
possa enviar e-mail utilizando o perfil.
Um perfil privado pode ser utilizado por usurios e aplicaes que
estejam associado ao perfil.
Oberservao
Os usurios devem ser membro do banco Msdb;
Slide 57
Habilitando o Database Mail
Para habilitar o Database Mail devemos habilitar a opo de
configurao Database Mail XPs
Deve-se utilizar o procedimento sp_configure
O procedimento sp_configure exibe ou altera parmetros de
configuraes globais do servidor atual.
Sintaxe
sp_configure [ [ @configname = ] 'option_name' [ , [ @configvalue = ]
'value' ] ]
sp_configure 'show advanced options', 1;
GO
reconfigure;
GO
sp_configure 'Database Mail XPs', 1;
GO
reconfigure
GO
Slide 58
Database Mail
Adicionando um Perfil e Conta
-- Cria uma conta de e-mail
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = AdminDBA',
@description = Conta da Equipe de DBA',
@email_address = 'admindba@ifs.edu.br',
@replyto_address = 'admindba@ifs.edu.br',
@display_name = Equipe de DBA',
@mailserver_name = 'smtp.ifs.edu.br';
@port = 25,
@username = admindba',
@password = 123456'
-- Cria um Perfil
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = AdminDBA',
@description = Perfil da Equipe de DBA';
-- Adicionar a conta ao perfil
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = ' AdminDBA',
@account_name = AdminDBA',
@sequence_number =1 ;
-- D acesso ao perfil a todos os usurios do banco Msdb
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = AdminDBA',
@principal_name = 'public',
@is_default = 1 ;
Indica que perfil ser usado de
forma pblica
Slide 59
Database Mail
Teste de Envio
-- Enviando o e-mail
EXEC msdb.dbo.sp_send_dbmail
@profile_name=AdminDBA',
@recipients=glaucolrc@gmail.com',
@subject='Titulo da Mensagem',
@body='Corpo da mensagem.'
--Lista as mensagens enviadas
SELECT * FROM sysmail_mailitems
GO
--Lista os registros de log das tentativas de envio
SELECT * FROM sysmail_log
GO
Slide 60
Prtica 2
Configurando Database Mail
SQL Server 2008
Slide 61
Configurando a rea de Superfcie
Surface Area
A rea de superfcie diz respeito ao conjunto de
funcionalidades que esto habilitadas no SQL Server.
Entende-se por funcionalidades os servios, componentes
e protocolos.
Quanto mais funcionalidade instaladas, maior a rea de
superfcie.
Consequentemente, maiores so as chances de ataques por
parte de usurios mal-intencionados, alm de menor ser o
desempenho do sistema.
Dica
Diminuir a rea de superfcie
Deixar apenas os recursos realmente necessrios.
Slide 62
Configurando a rea de Superfcie
Surface Area
Os servios podem ser habilitados/desabilitados pelo SQL
Server Configuration Manager
Slide 63
Configurando a rea de Superfcie
SQL Server Browser
Prov informaes sobre as instncias do SQL Server
instaladas no servidor que roda este servio.
Nome das Instncia
Verso
Dica
Se for servidor de produo e tiver uma nica instncia
Recomenda-se desabilitar o servio Server Browser
Se o servidor tiver vrias instncias
Recomenda-se habilitar o servio Server Browser, porm tornar
as instncias crticas escondidas (Hidden).
Slide 64
Configurando a rea de Superfcie
Escondendo a Instncia
Para cada instncia que se
deseja esconder, alterar a
propriedade Hide Instance
para Yes.
As propriedades so
acessveis a partir do SQL
Server Configuration
Manager.
Slide 65
Configurando a rea de Superfcie
Componentes do Database Engine
Os componentes podem ser gerenciados pela faceta
Surface Area Configuration, a partir do SQL Management
Studio.
Slide 66
Configurando a rea de Superfcie
Componentes do Database Engine
Componente Descrio
AdHocRemoteQueriesEnabled Habilita as funes OPENROWSET and OPENDATASOURCE.
ClrIntegrationEnabled Permite que usurios utilizem linguagens como do (CLR) como
C# para criar SP, SF, Triggers, etc.
DatabaseMailEnabled Habilita o Database Mail.
OleAutomationEnabled
RemoteDacEnabled Permite que conexes via utilitrio SQLCMD sejam feitas de
forma remota.
ServiceBrokerEndpointActive Habilita o Service Broker para enfileiramento e troca de
mensagens em instncias SQL Server.
SoadEndpointsEnabled Habilita o Native Web Services para utilizar SOAP.
SqlMailEnabled Habilita o SQL Mail.
WebAssistantEnabled Habilita o WebAssistant (SQL Server 2005)
XMCmdSheelEnabled Permite que usurios utilizam a sp_cmdshell para executar
comandos do shel do sistema operacional.
Slide 67
Configuraes de Rede
A partir do SQL Server Configuration Manager, as instncias do SQL
Server podem ser configuradas para permitir conexes locais e
remotas.
Cada instncia pode ser configurada a partir do SQL Server
Network Configuration
Slide 68
Configuraes de Rede
SQL Server Network Configuration
Podem ser usados vrios protocolos, incluindo:
Shared Memory
Para conexes locais.
Named Pipes
Para conexes locais e remotas.
TCP/IP
Para conexes locais e remotas.
VIA (Virtual Interface Architecture)
Para conexes locais e remotas.
Slide 69
Configuraes de Rede
Shared Memory
Utilizados para conexes locais.
o mais simples de todos e preferido para conexo
local.
Slide 70
Configuraes de Rede
Named Pipes
Utilizados para conexes locais e remotas.
Realiza a comunicao inter-processo (IPC) utilizando
uma rea da memria.
Utilizado em aplicaes legadas de verses anterior do
Windows.
rpido em conexes locais, mas lento em conexes
remotas.
Gera muito overhead.
Cliente SQL Server
Slide 71
Configuraes de Rede
TCP/IP
Utilizados para conexes locais e remotas.
Keep Alive
Indica quanto tempo o
SQL Server verificar se a
outra extremidade da conexo
est ativa.
Listen ALL
Controla se o SQL Server
escuta em todos os IPs
configurados para a placa
de rede do servidor.
Slide 72
Configuraes de Rede
VIA
Utilizado com hardware VIA
Est depreciado e ser removido em verses futuras
do SQL Server.
Logo, recomenda-se deix-lo desabilitado.
Slide 73
Configuraes de Rede
SQL Native Client
Quando um cliente tenta se conectar, ele utiliza os
protocolos na seguinte prioridade:
Shared Memory
TCP/IP
Named Pipes
VIA
Dica
Desabilitar as opes Named Pipes e VIA no servidor, e
desabilitar a opes Shared Memory no cliente.
Slide 74
Prtica 3
Configurando a rea de Superfcie
SQL Server 2008