Baixe o app para aproveitar ainda mais
Prévia do material em texto
www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles /viewcomp.asp?comp=31060 Conheça nesse artigo o componente always on availability groups na teoria e na prática Fique por dentro O artigo descreve as principais características do novo recurso de alta disponibilidade e recuperação de desastres do SQL Server. Fazendo comparações com as tecnologias já existentes do produto, são apresentados os novos conceitos, situações e recursos que esta nova tecnologia traz aos ambientes de bancos de dados. Também é apresentado ao leitor quais os pré-requisitos e procedimentos a serem considerados na hora de implementar esta nova tecnologia. Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 1 de 28 07/02/2017 13:34 O conhecimento aqui compartilhado é indicado para todos os profissionais de tecnologia que lidam direta e indiretamente com a plataforma SQL Server, seja relacionado a infraestrutura ou desenvolvimento, uma vez que manter o ambiente de banco de dados disponível e simultaneamente, extrair o máximo de funcionalidade e performance dele é essencial a qualquer empresa que busca uma vantagem tecnológica estratégica no mercado atual, independente do segmento de atuação que ela se encontra. O always on availability groups é a próxima evolução das tecnologias de alta disponibilidade e recuperação de desastres do SQL Server. Lançado na versão 2012, este novo recurso se baseia no espelhamento dos registros de transações escritos no transaction log (assim como feito no database mirroring) para manter em sincronia uma ou mais réplicas. Diferente do database mirroring onde as sessões de espelhamento são criadas por banco de dados, no availability groups trabalhamos com conjuntos lógicos de bancos de dados, chamados grupos de alta disponibilidade, que são espelhados e gerenciados como uma única unidade. Uma das características desta nova tecnologia é a possibilidade de se ter mais de um espelho para cada banco de dados (similar ao encontrado no log shipping). No SQL Server 2012 é possível até 4 réplicas para cada grupo de alta disponibilidade, enquanto que na versão 2014, este limite já foi expandido para 8. Adicionalmente, as réplicas podem ser usadas para operações de leitura, como extração de relatórios, e rotinas administrativas, como backups e checkdb. Este comportamento permite que você minimize o R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 2 de 28 07/02/2017 13:34 impacto deste tipo de requisição no ambiente produtivo. Características Múltiplas réplicas Assim como encontramos no log shipping, esta nova funcionalidade permite que você tenha múltiplas cópias do seu banco de dados espalhadas através de servidores secundários, chamados de réplicas. Na prática, essa capacidade permite que você tenha mais de uma máquina esperando para suportar o ambiente de produção caso o servidor principal sofra com alguma indisponibilidade. Este comportamento é ilustrado na Figu r a 1 . Figu r a 1 . Múltiplas réplicas associadas a um servidor principal Compressão do T-Log Assim como o database mirroring, o availability groups mantém suas réplicas sincronizadas transferindo as transações efetuadas no banco R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 3 de 28 07/02/2017 13:34 de dados principal para os demais servidores. Na prática, esta tecnologia monitora e coleta tudo que é registrado no transaction log do SQL Server, enviando estes comandos na exata sequência que ocorreram para que as réplicas possam reproduzi-los nas bases de dados afim de mantê-las sincronizadas. Adicionalmente, o availability groups usa a mesma compressão do T-LOG usada no database mirroring para enviar as transações para as réplicas, reduzindo assim o consumo dos links de comunicação entre os servidores, uma vez que os registros do T-LOG são compactados no servidor primário, enviados às réplicas e somente lá são descompactados e aplicados no banco de dados redundante. Espelhamento síncrono ou assíncrono A transferência das transações registradas no T-LOG pode ser feita de forma síncrona ou assíncrona, dependendo da opção escolhida na configuração. A primeira opção é normalmente escolhida para manter atualizadas réplicas em servidores hospedados no mesmo datacenter do servidor principal, essas bases de dados têm como principal objetivo garantir a alta disponibilidade do ambiente. A segunda opção é mais usual para manter réplicas localizadas geograficamente distantes e/ou conectadas ao ambiente principal através de links de comunicação instáveis. Sua principal finalidade é prover a capacidade de recuperação de desastres para o negócio no caso de um imprevisto com o datacenter principal. Utilização das réplicas Enquanto o database mirroring permite que a réplica do banco de dados seja usada apenas através do recurso database snapshot, o R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 4 de 28 07/02/2017 13:34 availability groups permite que você use as réplicas, e claro, o hardware que as suporta, com a finalidade de extrair relatórios, realizar operações de backup, dentre outras atividades pesadas de leitura que, se aplicadas em produção, podem prejudicar o ambiente como um todo. Na prática, a possibilidade de direcionar atividades de leitura ao servidor secundário traz ao DBA a possibilidade de aproveitar melhor o hardware que está sendo usado como redundante, aumentando a capacidade computacional do ambiente de banco de dados. Gerenciamento integrado Outro ponto interessante que merece destaque no availability groups é o gerenciamento integrado com o management studio. Com este dashboard intuitivo, exibido na Fi gu r a 2 , é fácil verificar o funcionamento do ambiente, realizar configurações e até mesmo failover dos bancos de dados, tudo sem a necessidade de acessar nenhuma ferramenta a não ser o SSMS. abr i r im agem em n ova j an e la Figu r a 2 . Dashboard administrativo do SQL Server availability groups Conceitos R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 5 de 28 07/02/2017 13:34 Availability databases São os bancos de dados contemplados na solução de alta disponibilidade provida pelo availability groups, cada grupo de alta disponibilidade pode ter inúmeros bancos de dados, que serão gerenciados como um conjunto quando for necessário a realização de um failover entre os servidores – réplicas – introduzidas na arquitetura da solução. Availability réplicas Réplica é a denominação para os servidores introduzidos no availability groups. Estas máquinas hospedam cópias dos bancos de dados e dependendo das configurações – como veremos mais adiante – podem ser usadas para aceitar conexões “somente-leitura” e/ou extração de backups, eliminando assim o impacto destas operações no ambiente de produção. Availability group listener O listener atua como endereço lógico usado pelas aplicações para se conectar aos bancos de dados configurados no availability groups. Cada grupo de alta disponibilidade possui, no mínimo,um listener que é composto por nome, porta e IP de conexão. Endpoints São aberturas na camada de segurança do SQL Server para que as conexões sejam recebidas. Normalmente, quando falamos em availability groups, não precisamos nos preocupar com estes itens, visto que o próprio serviço de banco de dados os configura e gerencia automaticamente. R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 6 de 28 07/02/2017 13:34 Failover Failover é a denominação usada quando um servidor secundário, dentro de um cenário de alta disponibilidade, assume a responsabilidade pelo ambiente, se tornando então o ambiente primário, produtivo. No availability groups, o failover ocorre quando o servidor primário sofre alguma indisponibilidade ou quando solicitamos manualmente que o grupo de alta disponibilidade migre para outro servidor (réplica) na mesma estrutura de contingência. Arquitetura geral da solução O SQL Server 2012 always on availability groups permite que um grupo de bancos de dados seja espelhado para até 4 servidores réplicas, onde existirão cópias inteiras destas bases. Vamos usar o cenário apresentado na Fi gu r a 3 como exemplo. R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 7 de 28 07/02/2017 13:34 Figu r a 3 . Arquitetura simplificada do AVAILABILITY GROUPS Dos cinco servidores possíveis a serem contemplados – um primário e quatro réplicas – três deles podem ser configurados para espelhamento síncrono, sendo obrigatoriamente um deles o primary. A Figu r a 3 destaca o modo de espelhamento das duas réplicas “REAL-TIME” em verde. Este modo de sincronia é ideal para servidores dedicados a alta disponibilidade, localizados no mesmo datacenter ou localização física, onde o link possui capacidade o suficiente para transmitir todos os dados sem onerar o funcionamento do ambiente. Os outros dois servidores devem ser configurados para serem atualizados de forma assíncrona, sendo ideais para serem configurados em servidores hospedados em outro espaço físico, como outro datacenter ou mesmo outro estado, como no exemplo, onde os servidores estão localizados na cidade do Rio de Janeiro. A Fi gu r a 3 destaca essa sincronia em vermelho. Reparem que um dos servidores dedicados a alta disponibilidade, localizados na cidade de São Paulo, possui failover automático. Com o availability groups, dois servidores (produção e uma réplica) devem ser configurados desta forma para que caso o servidor primary fique indisponível, o outro servidor assuma automaticamente a responsabilidade de prover dados às aplicações. Adicionalmente, os servidores réplicas, dependendo das configurações e do licenciamento, podem ser usados para leitura por parte das aplicações e também pela rotina de backup. Durante o procedimento de configuração do availability groups, qual veremos mais adiante em nosso laboratório, teremos a oportunidade de ajustar as preferências relacionadas à legibilidade das réplicas dos bancos de dados e também das rotinas de backup. R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 8 de 28 07/02/2017 13:34 Implementação Nas próximas seções, iremos abordar os pré-requisitos necessários para a implementação do always on availability groups e, na sequência, teremos um passo a passo de como configurar um ambiente com dois servidores em alta disponibilidade usando o Windows Server 2012 R2 e o SQL Server 2012. Pré-requisitos Para a implementação do availability groups é necessário que todos os servidores de banco de dados envolvidos tenham instalados o SQL Server 2012 ou superior (2014, por exemplo). Não se assustem, mas a edição do SQL Server deve ser, impreterivelmente, a Enterprise, pois qualquer edição inferior a esta não terá o always on availability groups disponível. O sistema operacional mais recomendado é o Windows Server 2012 R2, mas qualquer versão superior à 2008 – com Service Pack 2 – também possui suporte ao SQL Server 2012, sendo assim apto a ser utilizado. Em relação às edições, como o availability groups depende da capacidade do sistema operacional em funcionar dentro de um failover clustering, somente aquelas que tem suporte a este recurso são capazes de habilitar este novo incremento lançado no SQL Server2012. A seguir temos a lista de versões e edições que dão suporte ao Windows failover clustering e ao availability groups do SQL Server 2012: · Windows Server 2008 SP2 Enterprise / Datacenter; · Windows Server 2008 R2 SP1 Enterprise / Datacenter; · Windows Server 2012 Standard / Datacenter; R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 9 de 28 07/02/2017 13:34 · Windows Server 2012 R2 Standard / Datacenter. Adicionalmente, é essencial que todos os servidores façam parte de um domínio Windows, mas não exerçam o papel de domain controller dentro do ambiente. Para o SQL Server, é necessária a existência de uma conta de serviço com permissão suficiente para executar o serviço da própria plataforma de banco de dados. A infraestrutura necessária para o servidor segue os mesmos protocolos usados no failover clustering, ou seja, são necessárias no mínimo duas interfaces de rede. Uma delas dedicada para o heartbeat do cluster e a outra para que sejam feitas as conexões das aplicações e usuários aos servidores. Há também a possibilidade de configurar as múltiplas interfaces de rede para que funcionem como um time – recurso denominado nic team. Not a : É importante garantir a conectividade dos servidores, ou sej a, permitir o acesso ao SQL Server através do firewall para que u m servidor possa se conectar no outro livremente. Implementação Com os sistemas operacionais instalados e as placas de rede devidamente configuradas, podemos iniciar os preparativos para a implementação do availability groups. Em nosso laboratório, iremos usar dois servidores equipados com o Windows Server 2012 R2 Standard, que já foi previamente instalado e configurado conforme os pré-requisitos anteriormente mencionados. A primeira etapa do nosso laboratório é a instalação de algumas funcionalidades junto ao sistema operacional. Este passo inicial é necessário para que possamos instalar o SQL Server 2012 Enterprise e também habilitar o recurso failover clustering nos servidores. R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 10 de 28 07/02/2017 13:34 Instalação das features do Windows Server Além das features já habilitados por padrão no Windows Server 2012, é necessário a instalação de outras duas: .NET Framework 3.5 e failover clustering. A primeira é essencial para a instalação do próprio SQL Server 2012, visto que o produto possui alguns componentes baseados nesta plataforma de desenvolvimento, e a segunda é responsável por permitir que o sistema operacional funcione como parte de um ambiente de alta disponibilidade criado sobre a arquitetura do Windows Server failover clustering. A instalação de ambas é feita através da nova console de gerenciamento do Windows Server, basta clicar em “MANAGE”e posteriormente em “ADD ROLES AND FEATURES” para que uma janela de seleção e configuração seja exibida. A Figu r a 4 exibe o novo painel administrativo. abr i r im agem em n ova j an e la Figu r a 4 . Adicionando features no Windows Server 2012 R2 Ao clicar na opção apresentada, uma janela de configuração será R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 11 de 28 07/02/2017 13:34 exibida. Esta interface será usada para selecionar quais recursos e funcionalidades do Windows Server serão instaladas no servidor. Basta clicar em NEXT algumas vezes, até que seja apresentada a tela apresentada na Figu r a 5 , onde você poderá escolher quais features serão implantadas na máquina. Nesta etapa, deveremos escolher as opções necessárias para nosso laboratório – .NET Framework 3.5 e failover clustering – e na sequência, clicar em NEXT. Figu r a 5 . Adicionando features necessárias ao availability groups Basta confirmar o procedimento para que a instalação seja iniciada. Se o servidor estiver conectado à internet, o próprio sistema operacional se encarregará de baixar os arquivos necessários. Caso não haja uma conexão com a internet, você precisará indicar o diretório onde a mídia do Windows Server está localizada através da opção “SPECIFY AN ALTERNATE SOURCE PATH”, conforme mostra a Fi gu r a 6 . R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 12 de 28 07/02/2017 13:34 abr i r im agem em n ova j an e la Figu r a 6 . Fornecendo um caminho local para a instalação do .NET FRAMEWORK 3.5 Ao finalizar a instalação, é recomendada uma reinicialização no servidor. Instalação do SQL SERVER Ao concluir a etapa relacionada à habilitação das features junto ao sistema operacional e reiniciar os servidores, podemos iniciar a instalação do SQL Server 2012. Uma das principais diferenças entre o failover clustering e o availability groups é o modo de instalação do SQL Server. No primeiro, a instalação do produto é feita desde o início levando em consideração o failover clustering, tanto que é usada uma opção especializada em cluster para fazer a instalação. Já no segundo, a instância do SQL Server pode ser local, prática comumente chamada de “Standalone”, instalada usando a primeira R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 13 de 28 07/02/2017 13:34 opção apresentada no centro de instalação do próprio SQL Server, exibido na Fi gu r a 7 . abr i r im agem em n ova j an e la Figu r a 7 . Centro de instalação do SQL Server 2012 Durante o processo de instalação você será solicitado a fazer diversas escolhas acerca de opções (collation, por exemplo) relacionadas ao produto SQL Server 2012. Estes ajustes devem ser feitos conforme o padrão da empresa ou necessidades da aplicação. Not a : São pré-requisitos para o funcionamento do availability gro ups que todas as instâncias tenham o mesmo collation e executem com uma conta de serviço que tenha permissão de conexão em to das as instâncias do SQL Server participantes. Após a instalação do SQL Server, é uma boa prática reiniciar o servidor para validar as mudanças feitas pelo assistente de instalação junto aos registros do Windows Server. Con�guração do Windows failover clustering R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 14 de 28 07/02/2017 13:34 Após a instalação e configuração do sistema operacional e com o SQL Server já funcional nos servidores, podemos partir para a configuração do Windows Server failover clustering e criação de um cluster para os recursos do availability groups. A implementação do failover clustering é feita através da ferramenta administrativa failover clustering manager. Este utilitário, apresentado na Figu r a 8 , será usado durante todo o processo de criação e configuração do cluster. abr i r im agem em n ova j an e la Figu r a 8 . Ferramenta de administração do Windows Server failover clustering A primeira ação dentro do failover cluster manager é validar a configuração das máquinas. Esta tarefa é feita usando a opção “Validate Configuration” localizada no menu “Actions” no canto direito da tela. Basta clicar para que o assistente seja iniciado. R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 15 de 28 07/02/2017 13:34 Ao clicar em next, você será solicitado a fornecer quais servidores farão parte da arquitetura. Insira os nomes ou IPS das máquinas clicando em “Add”. Ao inserir os dados de todos os servidores, clique em next novamente. Na janela subsequente, peça para que todos os testes sejam realizados, para isso, basta deixar as opções padrão e avançar novamente, confirmando junto a tela exibida na sequência. Após a conclusão dos testes, um resumo do processo de configuração será apresentado. É esperado que alguns itens relacionados à storage apresentem status de warning. Estes alertas ocorrem porque não estamos usando nenhum storage para prover armazenamento a nossa estrutura. A Figu r a 9 exibe um exemplo dos warnings mencionados. Para exibi-los, basta clicar no botão “View Report” que o relatório será apresentado no navegador. R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 16 de 28 07/02/2017 13:34 Figu r a 9 . Warnings de disco apresentados nos testes de validação do cluster Observem que na última tela do processo de configuração do cluster, há uma caixa de seleção com o texto “Create the clsuter now using the validated nodes...”. Deixar esta opção selecionada faz com que ao clicar em finish, a interface de criação do cluster seja aberta. É através do assistente de criação que iremos criar o cluster propriamente dito. O utilitário também pode ser aberto clicando-se na opção “Create cluster” na ferramenta de gerenciamento do recurso, ilustrada anteriormente na Fi gu r a 8 . Se você tiver optado por abrir a interface diretamente após os testes de validação, as únicas informações que o assistente solicitará são o nome e o IP do cluster, conforme ilustrado na Figu r a 1 0 . R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 17 de 28 07/02/2017 13:34 Se você clicar no botão junto à ferramenta de gerenciamento, terá de fornecer o nome dos servidores novamente. Depois de preencher os dados conforme as normas da sua empresa, basta clicar em next para que o processo dê início à criação da estrutura. Not a . Este processo deve ser feito usando uma conta que tenha p ermissão de criação de objetos dentro do Active Directory, visto qu e uma das etapas feitas durante a criação do cluster é criar uma c onta de máquina dentro das OUS da empresa. Figu r a 1 0 . Criando o Windows failover cluster Após o procedimento de criação do cluster ser concluído, podemos visualizá-lo nofailover cluster manager. Após esta etapa, podemos configurar o SQL Server para, enfim, configurar o availability groups. Con�guração do SQL Server Somente após a criação do cluster podemos realizar as configurações R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 18 de 28 07/02/2017 13:34 no SQL Server, visto que o produto verifica se o servidor já faz parte de um ambiente configurado em Windows Server Failover Clustering. Inicialmente, precisamos acessar o SQL Server Configuration Manager, ferramenta responsável pelo gerenciamento dos serviços do SQL Server, e abrir a janela de propriedades do serviço principal dele (o database engine). Dentro desta interface, há uma aba chamada “Alwayson high availability” e nela devemos marcar a caixa de seleção junto a descrição “Enable alwayson availability groups”, conforme a Figu r a 1 1 . R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 19 de 28 07/02/2017 13:34 Figu r a 1 1 . Habilitando o availability groups no SQL Server Esta etapa deve ser repetida em cada servidor que fizer parte do nosso cluster. Ao clicar em OK, você será solicitado a reiniciar o SQL Server para efetivar as mudanças. Con�guração do availability groups Após a configuração do ambiente, todas as etapas relacionadas ao R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 20 de 28 07/02/2017 13:34 availability groups são feitas através do management studio, principal ferramenta do SQL Server. Dentro deste utilitário, podemos encontrar junto ao object explorer um item chamado “alwayson high availability”, basta clicar com o botão direito nele e selecionar a opção “New Availability Group Wizard” para que uma nova interface seja aberta. Ao clicar em next, você terá de fornecer o nome do grupo de alta disponibilidade que será criado e na sequência informar os bancos de dados que farão parte deste grupo (conforme apresentado na Fi gu r a 1 2 ). Importante destacar que para um banco de dados fazer parte de um grupo de alta disponibilidade ele precisa ter recovery model full e ao menos um backup full realizado. Os bancos de dados que atendem a esses pré-requisitos são apresentados com status igual “Meets Prerequisites”. R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 21 de 28 07/02/2017 13:34 Figu r a 1 2 . Selecionando os bancos de dados que estarão no grupo de alta disponibilidade Na janela seguinte, você indicará através do botão “Add Replica” quais servidores serão réplicas do grupo de alta disponibilidade que está sendo criado. É na interface apresentada na Fi gu r a 1 3 que você, além de indicar os servidores, irá configurar se haverá failover automático entre as réplicas, o modo de sincronização entre ela e também se acesso somente leitura será permitido junto aos bancos de dados configurados dentro deste grupo. R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 22 de 28 07/02/2017 13:34 Figu r a 1 3 . Indicando as réplicas e configurando suas opções Na última aba desta interface, chamada “Listener”, você irá configurar os dados de acesso ao grupo de alta disponibilidade. Estes dados serão usados pelas aplicações para se conectarem aos bancos de dados independentemente de qual servidor estiver com a responsabilidade de ser o primário. Ao selecionar a opção “Create and availability groups listener”, serão habilitadas as caixas correspondentes a nome, porta e tipo de configuração do IP (estático ou fornecido por um servidor DHCP), se você optar por IP fixo – recomendado – você terá de adicionar um IP para o grupo, como mostra a Figu r a 1 4 . R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 23 de 28 07/02/2017 13:34 Figu r a 1 4 . Configurando o Listener. As demais abas permitem que você configure os endpoins, que já vêm previamente configurados, e suas preferências de backup, onde você poderá indicar quais réplicas serão usadas para a realização de backups, inclusive, podendo selecionar prioridade para algum servidor em especifico. Os ajustes feitos nestas duas abas não influenciarão, inicialmente, na criação e no funcionamento do grupo de alta disponibilidade. Na janela subsequente, você indicará a forma que os bancos de dados serão inicialmente sincronizados entre os servidores, nesta etapa você teremos três opções. A primeira delas requer um diretório compartilhado, visível entre todos os servidores participantes para executar os backups dos bancos de dados e automaticamente, restaurá-los nas réplicas. A segunda opção deve ser selecionada quando já foi realizado o restore nos servidores réplicas e a terceira delas pulará a sincronização dos bancos de dados, deixando a estrutura de alta disponibilidade inoperante até que você mesmo faça os backups e os restores. Em nosso estudo de caso, escolheremos a primeira, apontando o diretório compartilhado previamente criado em um dos servidores, como a Figu r a 1 5 exibe. R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 24 de 28 07/02/2017 13:34 Figu r a 1 5 . Escolhendo a forma de sincronização inicial dos bancos de dados Ao clicar em next, algumas validações serão realizadas. Se todos os testes forem concluídos com sucesso, você poderá avançar para a janela de confirmação e finalmente, concluir o processo. Se caso alguma validação apresentar problema, você terá de retornar e corrigir o que for necessário. Ao clicar em finish, o processo de criação do grupo de alta disponibilidade será realizado, você poderá também gerar o script para executar diretamente via T-SQL ou salvar para registro e documentação. Quando todas as etapas forem concluídas, você terá uma tela similar a exibida na Figu r a 1 6 . R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 25 de 28 07/02/2017 13:34 Figu r a 1 6 . Conclusão da criação do grupo de alta disponibilidade Depois de concluídas todas as etapas, o ambiente está protegido através do availability groups. Agora, caso uma indisponibilidade ocorra no servidor principal, haverá contingência para que, se tudo estiver configurado adequadamente, as aplicações continuem suportando os negócios da empresa sem maiores problemas e prejuízos ao faturamento da organização. Algumas considerações importantes Contained database O contained database é uma funcionalidade que, assim como o always R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 26 de 28 07/02/2017 13:34 on availability groups,surgiu na versão 2012 do produto. Permite que existam logins criados dentro do próprio banco de dados de negócio – até então, ficavam obrigatoriamente no master. Usando este novo recurso, elimina-se o típico problema popularmente conhecido como “usuários órfãos”, visto que agora, ao migrar o banco de dados de negócio, o login estará contemplado no próprio backup. Seu uso junto a tecnologias como o database mirroring, o log shipping e o próprio availability groups é de extrema importância, visto que ao realizar o failover de um banco de dados para outro servidor, antes da existência desta nova funcionalidade, frequentemente se encontrava problemas devido à ausência de algum login na instância secundária, dor de cabeça que não ocorrerá mais se o banco de dados for configurado como contained database e o login for criado dentro dos padrões deste novo recurso. O futuro do database mirroring É importante lembrar que o database mirroring foi anunciado depreciado na versão 2012 do SQL Server, isso significa que esta tecnologia será removida no produto, sendo a versão 2014 a última a contemplar este recurso. A Microsoft recomenda que se a edição do SQL Server que estiver sendo utilizada permitir que você use o always on availability groups, opte por este novo recurso, caso contrário, opte por usar o log shipping, que permanecerá intocado nas próximas versões do SQL Server. O availability groups, sem dúvida, é uma solução que veio para ficar. É robusta, flexível e capaz de suprir diversas necessidades relacionadas a alta disponibilidade e recuperação de desastres. Suas características permitem que as empresas usem de forma mais R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 27 de 28 07/02/2017 13:34 eficiente seus recursos, aumentando significativamente a rentabilidade dos investimentos feitos em recursos para o ambiente de bancos de dados. Ainda, o fato de possuir gerenciamento integrado junto às próprias ferramentas de administração e desenvolvimento do SQL Server só aumentam a lista de argumentos positivos em relação a essa solução de alta disponibilidade. Com o anúncio da exclusão do database mirroring nas próximas edições do SQL Server, o availability groups surge como uma boa opção para empresas que procuram formas de proteger seu ambiente de bancos de dados, tanto localmente quanto geograficamente. Lin k s I n t r odu ção ao ALW AYS ON AVAI LABI LI TY GROUPS n o SQL SERVER ht tp: / / msdn.microsoft .com/ en-us/ library/ gg509118.aspx Pr é - r equ i si t os, r ecom en dações e l im i t ações do AVAI LABI LI TY GROUPS ht tp: / / msdn.microsoft .com/ en-us/ library/ f f878487.aspx SQL SERVER 2 0 1 2 ALW AYS ON AVAI LABI LI TY GROUPS – O VERVI EW ht tp: / / msdn.microsoft .com/ en-us/ library/ f f877884.aspx por Felipe de Assis Revista SQL Magazine lover R e ce b a n o tif ic a ç õ e s :) Always on Availability Groups: Alta disponibilidade no SQL Server http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=31060 28 de 28 07/02/2017 13:34
Compartilhar