faculdade de administraÇÃo e negÓcios de sergipe...

15
FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE FANESE NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO NPGE CURSO DE PÓS-GRADUAÇÃO “LATO SENSU” ESPECIALIZAÇÃO EM BANCO DE DADOS REPLICAÇÃO E AUTO DISPONIBILIDADE NO SQL SERVER 2012 DAYSE SOARES SANTOS ARACAJU SE 2012

Upload: others

Post on 18-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE

SERGIPE – FANESE

NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO – NPGE

CURSO DE PÓS-GRADUAÇÃO “LATO SENSU”

ESPECIALIZAÇÃO EM BANCO DE DADOS

REPLICAÇÃO E AUTO DISPONIBILIDADE NO SQL

SERVER 2012

DAYSE SOARES SANTOS

ARACAJU – SE

2012

Page 2: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

2

DAYSE SOARES SANTOS

REPLICAÇÃO E AUTO DISPONIBILIDADE NO SQL SERVER 2012

Projeto de pesquisa cientifica apresentado ao

Núcleo de Pós-graduação e Extensão da Faculdade

de Administração e Negócios de Sergipe como

exigência para obtenção do título de Especialista

em Banco de dados.

Orientação: Professora Renata Azevedo.

ARACAJU – SE

2012

Page 3: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

3

REPLICAÇÃO E AUTO DISPONIBILIDADE NO SQL SERVER 2012

RESUMO

Nesse artigo será relatado sobre o SQL Server 2012, focando a auto disponibilidade e a

replicação de bases. A grande novidade é o SQL Server AlwaysOn, considerado uma solução

simples e unificada, é muito fácil de gerenciar e implementar, trazendo redução de custos por

causa da permissão de reutilização de hadware já existente, melhor utilização dos servidores,

e maior retorno sobre o investimento. Será detalhado as duas soluções do AlwaysOn que é a

AlwaysOn Availability Groups que atua no nível de banco de dados e o Alwayson Failover

Cluster Instances que atua na proteção no nível de instâncias.

O Alwayson veio para facilitar as complexidades do failover Cluster Instance, do data base

mirroring e do Log Shipping.

PALAVRAS CHAVE

SQL Server Alwayson, failover, instance, mirroring, log shipping, banco de dados, clustering

ABSTRACT

In this paper is reported about SQL Server 2012, focusing on self availability and replication

bases. The big news is the SQL Server AlwaysOn, considered a simple and unified, it is very

easy to manage and deploy, bringing cost savings because of permission to reuse existing

Hadware, better server utilization, and greater return on investment . The two solutions will be

detailed to the AlwaysOn AlwaysOn Availability Groups is that it operates at the level of

database and AlwaysOn Failover Cluster Instances that works to protect the level of instances.

The AlwaysOn came to ease the complexities of Failover Cluster Instance, the data base

mirroring and Log Shipping.

KEYWORDS

SQL Server AlwaysOn, failover, instance, mirroring, log shipping, database clustering

Page 4: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

4

1. INTRODUÇÃO

SQL Server AlwaysOn é uma solução de alto disponibilidade e disaster recovery

com muito mais abrangência através da implementação do AlwaysOn Availability Groups e

AlwaysOn Failover Cluster Instances que traz maior disponibilidade para as aplicações, maior

retorno sobre os investimentos, simplicidade para implementação e gerenciamento. Atende

pequenos, médios e grandes ambientes (banco de dados ou instância) e não esquecendo o

multisite clustering através do suporte a subnets.

Maior flexibilidade e eficiência na configuração de alta disponibilidade, baixo custo

permitindo reutilização de hardware, suporte a windows server core reduzindo

significativamente o downtime e a aplicação de paths.

2. DESENVOLVIMENTO

2.1. Novidades em consideração as versões anteriores

O SQL Server 2012 veio trazer tudo que é necessário para resolver a disponibilidade

e a confiabilidade dos dados em todos os níveis de uma empresa, pelo preço certo e na hora

certa.

O SQL Server 2012 é uma plataforma de informações pronta para a nuvem que

oferece às organizações a agilidade para criar e escalonar soluções do servidor privada ou

pública rapidamente.

Capacidades principais:

Reduzir a complexidade;

Acelerar tempo;

Flexibilidade nos termos do servidor para nuvem;

Otimização;

Expansividade;

Page 5: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

5

2.2. Novidades do Sql server 2012 para alta disponibilidade e replicação

O que é Alwayson?

É uma nova e mais abrangente solução de alta disponibilidade e disaster recovery

que permite aumentar a disponibilidade das aplicações seja no nível de banco de dados ou no

nível de instância, proporcionando um melhor retorno sobre os investimentos.

Com o alwayson é possível aproveitar do hardware já existente dentro de uma

estrutura da empresa.

O que é usado hoje como ferramenta de alta disponibilidade nas estrutura das

empresas?

Pensando no SQL Server 2008 ou SQL Server 2008 R2, voltado aos grandes

ambientes existem três soluções:

Failover Cluster Instance (FCI): Seria instalar o SQL Server em um cluster de dois ou

mais nós, colocar a instancia com o nome virtual e dar ao ambiente alta

disponibilidade em caso de falha de hardware ou de software, para isso, requer uma

storage, os discos precisam ser compartilhados entre os nós que compõem a solução

do cluster. Quando se pensa em desastres recoveres os custos ficam bem mais altos,

pois, será necessário de uma storage em cada site, será necessário configurar a

replicação de dados entre as storage do site principal e a storage do site secundário.

Essa solução requer custos muito alto, voltado para grandes ambientes ou quando

existe a necessidade de trabalhar na replicação ou na alta disponibilidade englobando

um instancia como o todo.

Database Mirroring: Configura a replicação de um ou mais banco de dados entre duas

instancias de sql. O problema é quando precisa de um failover automático e que seja

transparente para a minha aplicação, isso, requer customização da aplicação, é

necessário alterar a string de conexão e informar a ela quem é o servidor par da

solução para que na ocorrência de uma falha e na movimentação do banco de dados,

possa parar o servidor secundário e sua aplicação entenda esse failover. Outro

problema seria que o database mirroring não suporta a utilização de nome virtual, ou

seja, se não estiver utilizando o failover par na string de conexão da aplicação, será

Page 6: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

6

necessário um procedimento manual para sinalizar que o servidor principal falhou e o

banco de dados moveu para o servidor mirroring da solução.

Snapshot: Leitura na base espelho, somente usando o database snapshot, no servidor

espelho, e isso seria outra nova solução.

Log Shipping: Não permite o failover automático e as bases ficam indisponíveis no

servidor secundário.

Foi discutido quatro soluções que dependendo do cenário, pode ser utilizado uma ou

duas e dependendo as quatros, com um custo muito alto.

Alta disponibilidade usando o SQL Server AlwaysOn

O Alwayson unifica as quatros soluções acima citadas de uma maneira muito mais

simplificada e de custo muito mais baixo, o alwayson traz:

Integração:

Uma solução simples e unificada

Fácil de gerenciar e implementar

Flexibilidade

Reutilização de investimentos

Facilidade de configuração

Eficiência

Redução de custo

Reutilização de hardware

Melhor utilização dos servidores

Baixo custo com implantação de DR

Maior retorno sobre investimento.

Page 7: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

7

2.3. Detalhes do AlwaysOn

Com o SQL Server AlwaysOn a alta disponibilidade e disaster recovery são

implementados com duas novas soluções:

AlwaysOn Availability Groups: É a solução que atua no nível de banco de dados e

fornece:

Failover de múltiplos bancos de dados

Replicação síncrona e assíncrona com failover automático ou manual.

Redirecionamento automático das aplicações usando nome virtual.

Múltiplos Servidores secundários.

Servidores Secundários ativos para leitura.

Gerenciamento Integrado e configuração flexível.

Alwayson Failover Cluster Instances: É a solução que atua na proteção no nível de

instâncias e fornece:

Multi-site clustering através de subnets.

Política de failover mais flexível.

Suporte ao Windows Server Core.

Suporte a TEMPDB em disco local.

Otimização do tempo de failover.

2.4. AlwaysOn Availability Group

É uma solução de alta disponibilidade SQL Server 2012, fornece alta disponibilidade

e disaster recovery para as aplicações no nível de banco de dados, combinando o database

mirroring e log shipping.

Page 8: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

8

Proporciona muito mais flexibilidade fornecendo:

Failover de múltiplos bancos de dados;

Múltiplos secundários;

o Total de 4 secundários;

o 2 síncronos

1 par com failover automático

o 2 assíncronos

Servidores secundários ativos (leitura)

Compressão e criptografia integrada

Failover automático e manual

Política de failover flexível

Recuperação de páginas automáticas.

Proporcionando integração e eficiência:

Servidores secundários ativos;

o Leitura nos secundários;

o Backup nos secundários;

Redirecionamento automático da aplicação utilizando nome virtual;

Configuração utilizando Wizard;

Dashboard Integrado;

Integração com System Center;

Automação via power-Shell.

2.5. Cenário (Atendendo uma necessidade)

O requisito do negócio é ter um failover automático de múltiplos bancos de dados e

redundância através de múltiplos datacenters.

Como é no SQL Server 2008/R2:

Como se soluciona esse cenário através do SQL Server 2008/R2? Pode utilizar a

solução Database mirroring. O problema é que ele oferece failover automático de um único

Page 9: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

9

banco de dados. Realiza cópias redundantes dos bancos de dados no principal e mirror server.

Para Failover de múltiplos bancos de dados requer customização de código. O

redirecionamento da aplicação requer uso do parâmetro "FailoverPartner" na string de

conexão.

Como é no SQL Server 2012:

O failover de múltiplos bancos de dados é tratado automaticamente pelo Availability

group.

Cópias redundantes dos bancos de dados são mantidas em todos os servidores que

participam do Availability group, podendo a sincronização ser síncrona ou assíncrona.

Podendo ter até quatro servidores secundários.

O redirecionamento da aplicação é tratado automaticamente com o uso do

Availability Group Listener e um nome virtual.

Arquitetura

Um exemplo da arquitetura a figura abaixo ilustra três servidores, cada servidor com

uma instancia SQL Server, os servidores precisam do Windows Server Failover Cluster

(WSFC) que é uma solução que depende do cluster para funcionar.

Uma vez instalado o WSFC é possível configurar a replicação da base entre os nós

do cluster. Lembrando que as instâncias não são clusterizadas, ou seja, não precisa configurar

ou instalar as instancias SQL Server de forma clusterizadas, cada maquina tem sua instancia

Page 10: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

10

SQL Server utilizando discos locais, cada servidor tem seu banco de dados armazenado no

seu disco local e através do AlwaysOn Availability Group é realizado a replicação desses

dados do servidor primário para até quatro servidores secundários.

O Availability group usa o WSFC para:

Detecção da saúde entre os nós

Coordenação do Failover;

Armazenamento distribuído dos dados de configuração e status do availability group;

Notificações distribuídas das alterações.

Configuração Step-by-Step

Eleger os servidores que irão compor o Availability Group;

Instalar o SQL Server 2012 local em todos os servidores (stand-alone);

Instalar o failover cluster no Windows (em todos os servidores);

Criar um cluster composto pelos servidores eleitos;

Ative o serviço do SQL Server para Availability Group em todos os servidores;

No servidor primário (aquele que possui o banco de dados a ser espelhado), utilizar o

SSMS para criar e configurar o Availability Group;

Page 11: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

11

3. ESTUDO DE CASO

Agora para entender como funciona uma implementação de AlwaysOn vamos fazer

uma demonstração do seu funcionamento seguindo os passos abaixo:

Obs.: Instale o windows server 2008 e o sql server 2012

1 - Criar três instancias de sql, sendo que na primeira instância teremos um banco de dados,

nas demais instancias não criar banco de dados nenhum.

2 - Não esqueça de instalar o serviço de clusters em cada uma das maquinas, sendo que o

clusters é composto por três nós e cada um desses nós está rodando um instancia de forma

stand-alone.

3 - Não esqueça de ir no serviço do sql server e sinalize para ele que estará fazendo parte de

um solução AlwaysOn Availability Group.

4 – Agora clique com o botão direito do mouse em AlwaysOn High Availability e New

Availability Group Wizard.

Page 12: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

12

5 - Informe o nome do grupo de disponibilidade e selecione as base de dados que irá compor

esse grupo de disponibilidade. Clique em next

6 – Agora informe quais serão os servidores que irão receber a base de dados

automaticamente, ou seja, a replica secundário.

Isso significa que caso o servidor01 chegue a cair, automaticamente o serviço de cluster vai

atuar e fazer a movimentação desse grupo para o próximo servidor. Clique em next.

Page 13: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

13

7 – É necessário um diretório de rede que seja acessível pelas instancias do SQL, pelos

serviços que estão rodando o sql. Feito esse diretório, informe-o como diretório FULL. Clique

em next.

8 – Agora é só esperar ele fazer as atualizações e o backup.

Page 14: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

14

Apartir desse momento já temos a base de dados replicando para as outras instancias de SQL

Server, essas instancias podem está dentro do mesmo CPD ou em datacenter diferentes.

Page 15: FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE …daysesoares.com.br/dss/Artigos/REPLICAÇÃO-E-AUTA-DISPONIBILID… · faculdade de administraÇÃo e negÓcios de sergipe –

15

4. CONCLUSÃO

Nesse artigo foi relatado sobre a nova solução de alto disponibilidade e disaste

recovery chamada de alwayson, dando ênfase o Availability Group que é uma nova e

abrangente solução de alta disponibilidade e disaster recovery que atuando no nível de banco

de dados proporciona:

Failover de múltiplos bancos de dados para aplicações que requerem múltiplos bancos

de dados em uma única instância.

Conectividade e redirecionamento automático da aplicação através da implementação

do Avilbility Group Listener e nome virtual;

Compressão e criptografia integrada;

Sincronização de dados de forma síncrona ou assíncrona para até 4 nós.

Reparação automática de páginas corrompidas

Servidores secundários disponíveis para leitura;

Suporte a FILESTREAM, FILETABLE e Service Broker;

Configuração simplificada com o uso de Wizard, integração com PowerSell e

monitoração através de um Dashboard;

Suporta até 3 réplicas síncronas sendo uma primária e duas secundárias;

Permite o failover de múltiplos bancos de dados removendo a necessidade de lógicas

complexas.

4. REFERÊNCIAS

https://www.microsoftvirtualacademy.com/tracks/introducao-ao-sql-server-2012

http://luanmorenodba.wordpress.com/2012/06/30/entendendo-e-utilizando-o-sql-server-

alwayson/