INTRODUÇÃO AO MIRRORING
Artur Santos
[email protected]
Quem sou eu.....
Formador Sénior e
Consultor na Rumos
SQL Server desde a
versão 6.5
Autor de diversas
workshops e webcasts
para a Microsoft
Agenda
O que é o Database Mirroring
Vantagens e Desvantagens
Implementação de uma Base de Dados em Mirror
Segurança
Best-Practices
Conclusão
O que é o Database Mirroring
O que é o Database Mirror
Um dos principais problemas aplicacionais é garantir a
disponíbilidade da Base de Dados.
O Database Mirroring providencia um Hot/Warm StandBy, ao nível da Base de Dados.
Ao contrário de Log Shipping que transfere Backups de
Log INTEIROS entre Bases de Dados, o Mirror transfere
streams de registos de log entre Bases de Dados.
O Database Mirror aplica TODAS as alterações feitas na
Base de Dados de origem, na Base de Dados de Destino.
Em Mirror existem 2 cópias de cada Base de Dados,
onde somente uma delas é disponíbilizada aos clientes
O que é o Database Mirror (Conceitos)
PRINCIPAL SERVER - O servidor que tem a Base de
Dados Principal.
MIRROR SERVER – O servidor que contém a cópia da
Base de Dados Principal.
WITNESS SERVER – (Opcional) Este Servidor permite
efectuar o Failover Automático (Hot Stand By) da(s)
Base(s) de Dado(s).
SEND QUEUE – Queue existente no Transaction Log do
Principal que guarda as alterações a enviar para o
Mirror.
O que é o Database Mirror (Conceitos)
REDO QUEUE – Queue existente no Transaction Log do
Mirror que guarda as alterações ainda não efectuadas.
ENDPOINT – Objecto de SQL Server que permite a
comunicação de rede, (pode ser encriptado).
FAILOVER – Mecanismo que permite ao SQL Server
“trocar” para a Base de Dados de Mirror em caso de
falha da Principal.
Modos de Operação
Operating Mode
Transaction Safety
Witness State
High Performance
OFF
NULL
High Safety (no Auto)
FULL
NULL
High Safety (Auto)
FULL
CONNECTED
Vantagens e Desvantagens
Vantagens
Mais robusto que o Log Shipping, pode funcionar de
modo síncrono para evitar perca de dados.
Failover automático, tanto do lado Servidor como do
lado cliente.
Encriptação automática de comunicações.
Suporta Full-Text
Não requer Hardware especial. (Menos Custos)
Desvantagens
Em funcionamento assíncrono há possível perca de
dados.
Master, MSDB, TempDB e Model não aceitam Mirror.
Cada Base de Dados só pode ter 1 Mirror.
A Base de Dados em Mirror não está disponível para
utilização, (embora se possa criar um Snapshot desta
para acesso Read-Only).
Funciona ao nível da Base de Dados, e não do Servidor.
O Failover Automático, pode não ser indicado para
aplicações que utilizam várias Bases de Dados (sem
código extra no desenvolvimento).
Implementação de uma Base
de Dados em Mirror
Implementação de uma Base de Dados em Mirror
1.
Colocar a Base de Dados em Full Recovery Mode.
2.
Fazer um Backup Integral e do Transaction Log.
3.
Restaurar os Backups em NO RECOVERY Mode.
4.
Criar os ENDPOINTS nos Servidores.
5.
Adicionar os servidores ao Mirror e iniciar o processo.
Demo
Mirroring via Transact-SQL
Segurança
Segurança
ENDPOINT ENCRYPTION
Integração com Transparent Data Encryption (TDE)
ENDPOINT Encryption
Pode usar os Algoritmos: RC4, RC4-128, AES, AES-128
Recomendado AES. AES-128
Encription (DISABLED, SUPPORTED, REQUIRED)
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (
AUTHENTICATION = WINDOWS,
ENCRYPTION = SUPPORTED, ALGORITHM AES,
ROLE=ALL);
GO
Transparent Data Encryption (TDE)
1.
Na Base de Dados Master criar a MASTER KEY
2.
Na Base de Dados Master criar um CERTIFICADO
3.
Na Base de Dados a pôr em Mirror, recriar a
Encryption Key encriptada pelo certificado.
4.
Activar a encriptação
5.
Fazer um Full Backup da Base de Dados.
6.
Exportar a Master Key e o Certificado para ficheiros.
7.
No Mirror, importar a Master Key e o Certificado.
8.
Restaurar o Backup em modo NO RECOVERY.
9.
Em ambos os servidores recriar os ENDPOINTS.
10.
Adicionar AMBOS os Partners à sessão.
Demo
Mirror a TDE Database
Best-Practices
Mirror Best-Practices
Utlizar placas de rede dedicadas só para Mirror.
Quanto maior a largura de banda, melhor a Performance.
Atenção ao tamanho dos Logs, mesmo em pausa o
Mirror consome espaço de Log, por causa das Queues.
Ao utilizar encriptação, optar por AES,ou AES - 128
(mais lento, mas mais poderoso) – SQL 2012
Atenção às threads de CPU utilizadas extra para o
Mirror.
Conclusão
Conclusão
O Database Mirror pode ser uma opção mais acessivel,
numa situação de Disaster Recovery.
Pode ser ainda usado como estratégia complementar de
Disaster Recovery, em consonância com outras,
(Clustering por exemplo), para distribuir os dados
geograficamente.
Compativel com o SQL Server 2012 e a nova
funcionalidade de AlwaysOn.
Download

INTRODUÇÃO AO MIRRORING