Microsoft SQLSERVER2012

SQL Server 2012 Brasil Tour

quarta-feira, 18 de março de 2015

SQL Server 2012 AlwaysOn

Fonte: http://www.simple-talk.com/sql/database-administration/sql-server-2012-alwayson/

SQL Server AlwaysOn proporciona uma alta disponibilidade e recuperação de desastres solução para o SQL Server 2012. It makes use of existing SQL Server features, particularly Failover Clustering, and provides new capabilities such as availability groups. Ele faz uso de recursos existentes do SQL Server, particularmente Clustering Failover, e fornece novas capacidades, tais como grupos de disponibilidade. Warwick Rudd explains the basics and shows you how to implement it. Warwick Rudd explica os fundamentos e mostra-lhe como implementá-lo.

One of the better-known features in the release of SQL Server 2012 Enterprise Edition is AlwaysOn. Uma das características mais conhecidas no lançamento do SQL Server 2012 Enterprise Edition é AlwaysOn. This has been designed to meet the ever-increasing need for 'High Availability' (HA). Este foi projetado para atender a necessidade cada vez maior de "High Availability" (HA). AlwaysOn does not use entirely new technologies but makes more effective use of existing technologies that are tried and tested. AlwaysOn não usa inteiramente novas tecnologias, mas faz um uso mais eficaz das tecnologias existentes que são experimentadas e testadas. It aims to provide more granular control to achieve High Availability. Tem como objectivo proporcionar um controle mais granular para alcançar alta disponibilidade. Currently, depending on your environment, you could already be using one or more of the following HA components that existed in previous versions of SQL Server: Atualmente, dependendo do seu ambiente, você já pode estar usando um ou mais dos componentes HA seguintes que existiam nas versões anteriores do SQL Server:

  • Single Site Windows Server Failover Clustering Único site do Windows Clustering Failover
  • Multi-Site Windows Server Failover Clustering Multi-Site Windows Clustering Failover
  • San level Block Replication San replicação nível de bloco
  • Transaction Log Shipping Envio de log de transações
  • Database Mirroring Database Mirroring
  • Transactional Replication Replicação transacional
  • Peer-to-Peer Replication Peer-to-Peer Replication

Some of these can take time and resources to implement, and may therefore not be meeting your current requirements. Algumas delas podem levar tempo e recursos para implementar, e não podem, portanto, ser atender suas necessidades atuais. This is where SQL Server 2012 AlwaysOn can help, because it provides the benefits of: Isto é onde o SQL Server 2012 AlwaysOn pode ajudar, porque ele fornece os benefícios de:

  • Using the WSFC APIs to perform failovers. Usando as APIs para executar WSFC failovers. Shared storage is not required O armazenamento compartilhado não é necessária
  • Utilizing database mirroring for the data transfer over TCP/IP Utilizando o espelhamento de banco de dados para a transferência de dados sobre TCP / IP
  • providing a combination of Synchronous and Asynchronous mirroring proporcionando uma combinação de espelhamento síncrona e assíncrona
  • providing a logical grouping of similar databases via Availability Groups proporcionando um agrupamento lógico de bancos de dados semelhantes através de grupos disponibilidade
  • Creating up to four readable secondary replicas Criar até quatro legíveis réplicas secundárias
  • Allowing backups to be undertaken on a secondary replica Permitindo que os backups a ser realizada em uma réplica secundária
  • Performing DBCC statements against a secondary replica Executando DBCC contra uma réplica secundária
  • Employing Built-in Compression & Encryption Empregando Built-in compressão e criptografia

We'll need to explain some of these components of AlwaysOn Vamos precisar para explicar alguns desses componentes de AlwaysOn

Windows Server Failover Clustering (WSFC) Windows Clustering Failover Server (WSFC)

Clustering technology has been around for quite some time, starting with Microsoft Clustering Services (MCS) back in NT 4.0 days.. Tecnologia de clusters tem sido em torno de algum tempo, começando com o Microsoft Clustering Services (MCS) de volta em NT 4.0 dias .. The technology for WSFC is part of the backbone of AlwaysOn. A tecnologia para WSFC faz parte da espinha dorsal da AlwaysOn. A WSFC cluster is a group of independent servers that work together to increase the availability of applications and services. Um cluster WSFC é um grupo de servidores independentes que trabalham juntos para aumentar a disponibilidade de aplicações e serviços. It does this by monitoring the health of the active node and failing over to a backup node, with automatic transfer of resource ownership, when problems are detected. Ele faz isso através do monitoramento da saúde do nó ativo e failover para um nó de backup, com transferência automática de recursos de propriedade, quando os problemas são detectados.

Although the WSFC is able to span multiple subnets, a SQL Server which is cluster-aware has not, until now, been able to support a clustered instance of SQL Server across multiple subnets: It has therefore been quite expensive to set up clustering across multiple data centres due to the WSFC requiring shared storage in both data centres as well as the block level SAN replication. Embora o WSFC é capaz de abranger várias sub-redes, um SQL Server que é cluster-aware não tem, até agora, capaz de suportar uma instância em cluster do SQL Server várias sub-redes: Foi, pois, muito caro para criar clusters através de múltiplos centros de dados devido à necessidade de armazenamento compartilhado WSFC em ambos os centros de dados, bem como o nível de bloqueio de replicação SAN. This has required a lot of work with your storage vendors to get your setup correct. Isso tem exigido muito trabalho com os fornecedores de armazenamento para obter sua configuração correta.

Database Mirroring Database Mirroring

Database mirroring gives you the ability to fully-synchronise databases from one instance of SQL Server to another, whether the second instance is located on the same server, a different server in the same data centre or to a server in another data centre. Espelhamento de banco de dados dá-lhe a capacidade de sincronizar totalmente bancos de dados de uma instância do SQL Server para outro, se a segunda instância está localizado no mesmo servidor, um servidor diferente no mesmo centro de dados ou para um servidor em outro centro de dados. It can then switch roles with the mirrored database on failover. Ele pode então trocar de papéis com o banco de dados espelhado em failover. One of the problems with database mirroring is that it cannot automatically failover a group of databases that are inter-related. Um dos problemas com espelhamento de banco é que ele não pode automaticamente failover um grupo de bases de dados que são inter-relacionados. If you have several databases residing in an instance of SQL Server and one of those databases is failed over to the secondary location via your database mirroring setup, this database may be dependent on one or more of the other databases in the instance as well. Se você tiver vários bancos de dados que residem em uma instância do SQL Server e uma dessas bases de dados é falha para o local secundário através de sua configuração de espelhamento de banco de dados, esse banco de dados pode estar dependente de um ou mais dos outros bancos de dados na instância também. In this case, your application may not operate correctly. Neste caso, o aplicativo pode não funcionar corretamente. Another downside is that the mirrored database is not accessible. Outra desvantagem é que o banco de dados espelhado não está acessível. You can get around this by using database snapshots to give you a 'read only' copy. Você pode contornar isso usando instantâneos do banco para lhe dar um 'somente leitura' cópia.

AlwaysOn Nodes Nós AlwaysOn

The nodes that you will use in your SQL Server 2012 AlwaysOn solution have to be part of a WSFC. Os nós que você vai usar em seu servidor SQL 2012 AlwaysOn solução tem que ser parte de um WSFC. The first step we need to undertake in preparing our AlwaysOn nodes is to add the Failover Cluster Feature to each node. O primeiro passo que precisamos para realizar a preparação nós nossos AlwaysOn é adicionar o recurso de cluster de failover para cada nó. I'll go into detail later on in this article. Eu vou entrar em detalhes mais adiante neste artigo.

AlwaysOn Storage AlwaysOn Armazenamento

SQL Server versions prior to SQL Server 2012, being setup as clustered instance on a WSFC require the storage to be presented as shared storage. Versões do SQL Server anteriores ao SQL Server 2012, sendo configurado como instância de cluster em um WSFC obrigação de armazenagem a ser apresentado como o armazenamento compartilhado. This requirement leads to the storage being more expensive and a little bit more complicated to configure and administer. Esta exigência leva ao armazenamento de ser mais caro e um pouco mais complicado de configurar e administrar. With SQL Server 2012 AlwaysOn your solution does not have to utilise shared storage, but can use SAN, DAS, NAS or Local Disk depending on your budget and requirements. Com o SQL Server 2012 AlwaysOn sua solução não tem que utilizar de armazenamento compartilhado, mas pode usar SAN, DAS, NAS ou Disco Local dependendo do seu orçamento e necessidades. I suggest working with your storage providers to come up with the solution you need. Eu sugiro trabalhar com seus provedores de armazenamento para vir com a solução que você precisa.

Synchronous & Asynchronous Mirroring Espelhamento síncrono e assíncrono

AlwaysOn uses SQL Server's existing mirroring technology. AlwaysOn utiliza a tecnologia SQL Server espelhamento existente. Synchronous Mirroring, as its name indicates, requires the transactions to be written at both sites for the transaction to be completed. Synchronous espelhamento, como o próprio nome indica, requer as transações a serem escritas em ambos os locais para a transação ser concluída. Whereas this can lead to increased latency in your system, it gives you zero data loss. Considerando que esta pode levar ao aumento da latência em seu sistema, dá-lhe perda zero de dados. AlwaysOn will support up to two secondary replicas synchronously replicated per availability group. AlwaysOn irá suportar até duas réplicas secundárias síncrona replicados por grupo de disponibilidade. Asynchronous Mirroring, on the other hand, is faster but increases the risk of data loss as it does not have the requirement to complete the transaction at the secondary site. Espelhamento assíncrono, por outro lado, é mais rápido, mas aumenta o risco de perda de dados uma vez que não têm o requisito para completar a transacção no local secundário. One advantage that AlwaysOn has over mirroring is that it allows multiple usable secondaries of the database. Uma vantagem que tem mais de AlwaysOn espelhamento é que ele permite que vários secundários utilizáveis ​​de base de dados. Another advantage is the ability to have a combination of Synchronous & Asynchronous Mirroring in your setup so as to reach the best compromise between performance and reliability. Outra vantagem é a capacidade de ter uma combinação de espelhamento síncrono e assíncrono na sua configuração de modo a atingir o melhor compromisso entre desempenho e confiabilidade. Depending on your HA/DR requirements you possibly could have a synchronous setup to a server in your local data centre and an asynchronous setup to a server in a secondary data centre. Dependendo de sua HA / DR requisitos você possivelmente pode ter uma configuração síncrona para um servidor em seu centro de dados local e uma configuração assíncrona para um servidor em um data center secundário.

Availability Groups Grupos de disponibilidade

SQL Server 2012 AlwaysOn allows for the more granular control of your environment with the introduction of AlwaysOn Availability Groups (AAG's). SQL Server 2012 AlwaysOn permite o controle mais granular do seu ambiente com a introdução dos Grupos de disponibilidade AlwaysOn (AAG da). AAG's allow you to configure groups of databases that you would like to failover all together when there is a problem with the host server. AAG permitem que você configure grupos de bancos de dados que você gostaria de failover todos juntos quando há um problema com o servidor host. When configuring your AAG's you: Ao configurar o AAG é você:

  • Configure your AAG on the Primary Replica (Your AAG contains the group of DBs that you wish to group together to failover to your secondary replicas) Configure o seu AAG na réplica primária (Seu AAG contém o grupo de bancos de dados que você deseja agrupar para failover de suas réplicas secundárias)
  • You will need to configure between one and four secondary replicas, with any combination of Synchronous (Maximum of two) and Asynchronous Mirroring (Your primary replica is available for read and write connectivity, while your secondary replicas can be configured for read-only, read intent or no access) Você precisará configurar entre um e quatro réplicas secundárias, com qualquer combinação de Synchronous (máximo de dois) e espelhamento assíncrono (sua réplica primária está disponível para leitura e gravação de conectividade, enquanto as réplicas secundárias podem ser configurados para somente leitura, leitura intenção ou sem acesso)

More in-depth information on Availability Groups is covered later. Mais informações em profundidade sobre grupos disponibilidade é coberto mais tarde.

Maintenance Tasks/ Reporting Tarefas de Manutenção / Relatórios

AlwaysOnallows you to use the secondary replicas that you would have created when you setup your AAGs to undertake some regular database maintenance tasks to remove some of the performance overheads from your primary production server. AlwaysOnallows que você use as réplicas secundárias que você criou quando você configurar suas AAGs para realizar algumas tarefas de manutenção regulares do banco de dados para remover algumas das despesas gerais de desempenho de seu servidor de produção primária. Some of the tasks that you could look at undertaking on a secondary replica are: Algumas das tarefas que você pode olhar para a realização de uma réplica secundária são:

  • Database Backups Backups de banco de dados
    • Full Backup With Copy_Only Backup completo com COPY_ONLY
    • Transaction Log Backups Log Backups de Transação
  • DBCC CheckDB DBCC CHECKDB
  • Reporting Reportagem
  • Database Snapshots Snapshots de Banco de Dados

Licensing Licenciamento

SQL Server 2012 has been released with a new license model. SQL Server 2012 foi lançado com um modelo de nova licença. With SQL Server 2012 AlwaysOn's ability to have multiple secondaries you need to take into account the licensing when you are going to be implementing multiple secondaries. Com a capacidade do SQL Server 2012 AlwaysOn de ter secundários múltiplos você precisa levar em conta o licenciamento quando você está indo para estar implementando vários secundários. The license model requires you to license your Active (Primary) SQL Server in your AlwaysOn Cluster. O modelo de licenciamento exige que você licenciar sua atividade (primário) do SQL Server no seu Cluster AlwaysOn. You are allowed one Passive (Secondary) server that you do not need to license. Você é permitido um passivo (Secundário) servidor que você não precisa de licença. If you have more than one secondary server, you need to license that server whether it is active or passive. Se você tiver mais de um servidor secundário, você precisa de licença para que o servidor se é ativo ou passivo. For more information on licensing have a look at the SQL Server 2012 Licensing Reference Guide and talk to your licensing reseller. Para mais informações sobre licenciamento de ter um olhar para o Guia de Referência do servidor SQL 2012 Licenciamento e fale com o seu revendedor de licenciamento.

What is Active and what is Passive? O que é ativo eo que é passivo? Your Primary is active because you are accessing it and using the database. Seu principal ativo é porque você está acessando e usando o banco de dados. If you setup a secondary server to perform any of the tasks listed above in Maintenance Tasks/Reporting, then this secondary is also active and needs to be licensed. Se você configurar um servidor secundário para realizar qualquer uma das tarefas listadas acima em tarefas de manutenção / Reporting, então esta é também secundário ativo e precisa ser licenciado. Remember; if you access it, it is active. Lembre-se: se você acessá-lo, ele está ativo. For example: If we were to have one Primary Server (Active), three Secondary Servers (one Active, two Passive) we would be required to license three of the four servers. Por exemplo: Se tivéssemos de ter um servidor primário (ativo), três servidores secundários (um ativo, dois Passiva) que seriam necessários para licença de três dos quatro servidores.

Security & Performance Segurança e Desempenho

To give you the full benefits of high availability, there will be a lot of movement of data. Para lhe dar todos os benefícios de alta disponibilidade, haverá uma grande movimentação de dados. This brings with it security risks and higher bandwidth demands. Isto traz consigo riscos de segurança e exigências maiores de largura de banda. To minimise these requirements Transparent Database Encryption (TDE) as well as Backup Compression, are both shipped with the Enterprise Edition, Para minimizar estes requisitos de criptografia de banco de dados transparente (TDE), bem como compactação de backup, são ambos fornecidos com o Enterprise Edition,

Implementing AlwaysOn Implementando AlwaysOn

Now that we have covered off the basics of what an AlwaysOn solution could possibly look like we are ready to start and plan for implementing this solution to meet your ever increasing High-Availability requirements and DR needs. Agora que nós cobrimos fora o básico do que uma solução AlwaysOn poderia parecer que estamos prontos para começar a planejar e implementar esta solução para atender às suas crescentes Alta Disponibilidade exigências e necessidades de DR.

Your final solution could look something like this: A solução final pode ser algo como isto:

Image 1 – SQL Server 2012 AlwaysOn Solution Imagem 1 - SQL Server 2012 Solution AlwaysOn

Building your AlwaysOn Cluster Construindo o seu Cluster AlwaysOn

In this scenario we are going to build a two-node SQL Server 2012 AlwaysOn Cluster. Neste cenário, vamos construir um dois-nó SQL Server 2012 Cluster AlwaysOn. To achieve this, all of the nodes that are going to participate in the SQL Server AlwaysOn Cluster need to have .NET Framework 3.5.1 and the Failover Clustering feature enabled. Para conseguir isso, todos os nós que vão participar do Cluster SQL Server AlwaysOn precisa ter. NET Framework 3.5.1 eo recurso Cluster de Failover habilitado.

Image 2 – Required features Imagem 2 - Os recursos necessários

Now that we have enabled both of these features we can build our WSFC. Agora que permitiu que esses dois recursos podemos construir nossa WSFC. From the Control Panel | Administrative Tools | Failover Cluster Manager | Validate a Configuration, we can validate whether our servers are okay to participate in a WSFC. No Painel de Controle | Ferramentas Administrativas | Failover Cluster Manager | Validar uma Configuração, podemos validar se os nossos servidores estão bem para participar de um WSFC.

Image 3 – Validate Cluster Imagem 3 - Validar Cluster

The 'Validate a Cluster Configuration' Wizard will start. O 'Validar uma Configuração de Cluster' Wizard será iniciado. Click through this wizard and you will be asked which tests you would like to run. Clique com o assistente e você será perguntado sobre qual testes que você gostaria de executar. I have selected all tests for this validation. Eu selecionei todos os testes para essa validação. You will need to add all of the nodes that you are going to add to your WSFC. Você vai precisar adicionar todos os nós que você está indo para adicionar ao seu WSFC.

Image 4 – Cluster Nodes Imagem 4 - nós de cluster

At the end of the Validation, as long as everything has passed, you should get the following notification: No final da validação, desde que tudo já passou, você deve ter a seguinte notificação:

Image 5 – Cluster Validation Success Imagem 5 - Cluster Sucesso Validação

Building your Windows Server Failover Cluster Construindo o seu Windows Cluster Server Failover

There is no difference between the task of building your WSFC for use with SQL Server 2012 AlwaysOn and your previously built WSFC for SQL Server 2008 R2. Não há diferença entre a tarefa de construir seu WSFC para uso com o SQL Server 2012 AlwaysOn e seu WSFC previamente construída para o SQL Server 2008 R2. If you have never built a WSFC before, you can read more on this here Failover Cluster Step-By-Step Guide . Se você nunca construiu um WSFC antes, você pode ler mais sobre isso aqui Failover Cluster Guia Passo a Passo . In this article, I am not going to go through the WSFC build, but I need to mention that your WSFC build needs to pass all of the validation rules in order to give you a supported WSFC. Neste artigo, eu não vou passar pela construção WSFC, mas eu preciso mencionar que seu WSFC construir necessidades para passar todas as regras de validação, a fim de dar-lhe uma WSFC suportado.

SQL Server 2012 Setup SQL Server 2012 Setup

Now that we have our two nodes in our WSFC, we are ready to start the build process for our SQL Server 2012 AlwaysOn Cluster. Agora que temos os nossos dois nós em nossa WSFC, estamos prontos para iniciar o processo de construir para o nosso SQL Server Cluster AlwaysOn 2012. We need to make sure that we have our installation media which is available for download from Microsoft SQL Server 2012 Downloads . Precisamos ter certeza de que temos nossos meios de instalação que está disponível para download a partir do Microsoft SQL Server 2012 downloads .

On Node1, we start the setup.exe to begin the installation process. No Node1, começamos o setup.exe para iniciar o processo de instalação. We are greeted with the initial screen. Estamos saudado com a tela inicial. You should navigate to the Installation Tab to start the installation, selecting 'New SQL Server stand-alone installation or add features to an existing installation'. Você deve navegar até a guia de instalação para iniciar a instalação, selecionando "Nova instalação do SQL Server stand-alone ou adicionar recursos a uma instalação existente".

Image 6 – Stand-Alone Installation Imagem 6 - Stand-Alone Instalação

The Setup Rules should all complete successfully and you can then click 'OK' to continue. As regras de configuração todos devem concluir com êxito e você pode, então, clique em 'OK' para continuar. Once your Product Update scan has completed click 'Next'. Uma vez que seu exame de atualização de produto foi concluída clique em 'Next'.

Follow the prompts until you get to the Installation Type screen, ensure you select 'Perform a new Installation of SQL Server 2012', click 'Next'. Siga as instruções até chegar à tela Tipo de Instalação, garantir que você selecione 'Executar uma nova instalação do SQL Server 2012', clique em 'Next'.

Image 7 – New Installation Imagem 7 - Nova Instalação

Enter your product key, click 'Next'. Digite a chave do produto, clique em 'Next'.

Image 8 – Product Key Imagem 8 - Chave de Produto

Accept the Terms and Conditions, click 'Next'. Aceite os Termos e Condições, clique em 'Next'.

Ensure you select 'SQL Server Feature Installation', click 'Next'. Certifique-se de selecionar "Instalação do SQL Server Feature", clique em 'Next'.

Image 9 – SQL Server Feature Installation Imagem 9 - Instalação do SQL Server Feature

Choose the features you need to install, click 'Next'. Escolha as características que você precisa para instalar, clique em 'Next'.

Image 10 – SQL Server Features Imagem 10 - Recursos do SQL Server

Your installation rules will be checked and, as long as there are no issues, you can continue with the installation by clicking 'Next'. Suas regras de instalação será verificado e, enquanto não há problemas, você pode continuar com a instalação clicando em 'Next'.

Enter your SQL Server 2012 Instance Name for the Instance that you are building, click 'Next'. Digite o seu SQL Server Instance Name 2012 para a instância que você está construindo, clique em 'Next'.

Image 11 – Instance Name Imagem 11 - Nome da Instância

Normally I would recommend having different service accounts for each of the SQL Services that you are installing. Normalmente eu recomendo ter contas de serviço diferentes para cada um dos serviços do SQL que você está instalando. However, in this installation I am just using the default local accounts. No entanto, nesta instalação eu apenas estou usando as contas locais padrão. You will need to have your Domain service accounts created and set the passwords on this Server Configuration screen in the installation. Você precisa ter suas contas de serviços de domínio criado e definir as senhas na tela de configuração do servidor na instalação. Once you have set the passwords, make sure you click on the Collation Tab so as to configure your Collation for the Instance, click 'Next'. Depois de definir as senhas, certifique-se clicar sobre a aba do Agrupamento, de modo a configurar o seu agrupamento para a instância, clique em 'Next'.

Image 12 – Service Account Details Imagem 12 - Detalhes da conta de serviços

On the Database Engine Configuration screen there are three tabs that we need to pay attention to. Na tela de configuração do Database Engine há três guias que precisamos prestar atenção. The Server Configuration Tab is where you set your security mode – Either Windows (recommended) or Mixed Mode. A guia de configuração do servidor é onde você define o modo de segurança - Ou Windows (recomendado) ou de modo misto. Remember to add the current account you are running the installation as, as well as any other individuals or groups that need to be members of the SysAdmins group. Lembre-se de adicionar a conta atual que você está executando a instalação como, bem como quaisquer outros indivíduos ou grupos que precisam ser membros do grupo Sysadmins.

Image 13 – Server Configuration Details Imagem 13 - Detalhes de configuração do servidor

The Data Directories Tab allows you to specify where you want to have your User Databases, TempDB and backup locations to be stored. O Data Tab diretórios permite que você especifique onde você quer ter seus bancos de dados de usuários, TempDB e locais de backup deve ser armazenado. Traditionally you would have four separate drive locations depending on your storage for Data files, Log Files, TempDB and Backups. Tradicionalmente, você teria quatro localizações de unidade separadas, dependendo do seu armazenamento de dados, arquivos de log, TempDB e backups.

The FileStream Tab allows you to Enable Filestream if this is a required option that you need in your environment. O Tab FileStream permite habilitar o FILESTREAM se esta é uma opção necessária que você precisa em seu ambiente. Click on this link for further reading on FileStream . Clique neste link para ler mais sobre FileStream.

Click 'Next' until you get to the ' Ready to Install ' screen. Clique em 'Next' até chegar ao "Pronto para instalar" tela. At this point in time you should review what is going to be installed and, if you are happy, then Click the Install button. Neste momento você deve rever o que vai ser instalado e, se você estiver feliz, então Clique no botão Instalar.

Image 14 – Ready to Install Image 14 - Pronto para instalar

Remember that these same steps need to be completed on the second node that you are including into your SQL Server 2012 AlwaysOn Cluster. Lembre-se que estes mesmos passos precisam ser concluídas no segundo nó que você está incluindo em seu SQL Server Cluster AlwaysOn 2012.

Configuring SQL Server 2012 Configurando o SQL Server 2012

Now that we have installed two stand-alone instances of SQL Server 2012 on our two servers in the WSFC we need to undertake some post-installation configuration. Agora que já instalou duas instâncias autônomas do SQL Server 2012, nossos dois servidores no WSFC que precisamos para realizar alguma configuração pós-instalação. This is achieved by using the SQL Server Configuration Manager which is available from Start | All Programs | Microsoft SQL Server 2012 | Configuration Tools. Isto é conseguido usando o SQL Server Configuration Manager, que está disponível a partir de Iniciar | Todos os Programas | Microsoft SQL Server 2012 | Configuration Tools.

Because the data transfers by SQL Server 2012 AlwaysOn are done via TCP/IP we need to enable this in the Network Configuration Protocols. Como as transferências de dados de SQL Server 2012 AlwaysOn é feito via TCP / IP que precisamos para ativar este nos protocolos de configuração de rede. By default this will be disabled. Por padrão, esse será desativado. Change the value to Enabled and click 'OK'. Altere o valor para Ativado e clique em 'OK'.

We are now at the main point with configuring our SQL Server 2012 AlwaysOn Cluster. Estamos agora no ponto principal com a configuração de nosso SQL Server 2012 Cluster AlwaysOn. Previously, we were creating a Clustered SQL Server Instance and we had to undertake the Clustered Build Option. Anteriormente, estávamos criando uma instância de cluster do SQL Server e tivemos que realizar o cluster opção de compilação. You will have noticed that we have installed stand-alone instances of SQL Server on each of the nodes participating in the WSFC. Você deve ter notado que temos instalado instâncias autônomas do SQL Server em cada um dos nós participantes da WSFC. We need to enable AlwaysOn Availability Groups. Precisamos permitir que grupos disponibilidade AlwaysOn. In the ' SQL Server Configuration Manager ' select the Instance of SQL Server, right click, Select Properties. No "SQL Server Configuration Manager", selecione a instância do SQL Server, com o botão direito, selecione Propriedades. On the ' AlwaysOn High Availabilit y' Tab tick the ' Enable AlwaysOn Availability Groups ' check box. Na guia "AlwaysOn alta Availabilit y 'marque a caixa' Enable Grupos disponibilidade AlwaysOn de seleção.

Click 'OK'. Clique em 'OK'. The changes will not take effect until the Instance is restarted. As mudanças não terão efeito até que a instância seja reiniciado. You will need to repeat this step on the second instance we installed. Você precisará repetir este passo na segunda instância foi instalado. (This will need to be done on every instance in your SQL Server 2012 AlwaysOn Cluster) (Este terá de ser feito em cada instância em seu servidor SQL 2012 Cluster AlwaysOn)

Image 15 – Enable AlwaysOn Availability Groups Imagem 15 - Grupos de disponibilidade Habilitar AlwaysOn

We are now ready to start configuring our Availability Groups. Agora estamos prontos para começar a configurar os nossos grupos de disponibilidade.

Configuring SQL Server 2012 AlwaysOn Availability Groups Configurando o SQL Server 2012 Grupos disponibilidade AlwaysOn

Before SQL Server 2012, one of the options available for you to use to build your High Availability (HA) solution was to utilise Database Mirroring. Antes do SQL Server 2012, uma das opções disponíveis para você usar para construir a sua alta disponibilidade (HA) a solução foi utilizar espelhamento de banco de dados. The Database Mirroring technology is very good at what it was created for. A tecnologia de espelhamento de banco é muito bom no que foi criada. However, it has some limitations when it comes to your HA solution. No entanto, tem algumas limitações quando se trata de sua solução de HA. The limitations include: As limitações incluem:

  • A Single Secondary database Um banco de dados único Secundário
  • Mirrored database is accessible via db snapshot only until failover occurs Espelhado banco de dados é acessível através instantâneo db somente até failover
  • Lack of support for MSDTC (distributed transactions) Falta de apoio para o MSDTC (transações distribuídas)
  • Related databases are not able to be grouped together Bancos de dados relacionados não são capazes de ser agrupados

SQL Server 2012 AAG's resolve most of these issues giving you more flexibility over your environment and more granular control over your environment to meet your ever growing complex HA requirements. SQL Server 2012 AAG de resolver a maioria desses problemas, dando-lhe mais flexibilidade sobre seu ambiente e controle mais granular sobre o seu ambiente para atender às suas crescentes exigências HA complexos.

With implementing SQL Server 2012 AAG's, which is still utilising the Database Mirroring technology to transfer your data via TCP/IP either synchronously or asynchronously to one or more replicas but giving you the added advantage of being able to access these replicas. Com a implementação do SQL Server 2012 AAG, que ainda está utilizando a tecnologia de espelhamento de banco de dados para a transferência de dados via TCP / IP de forma síncrona ou assíncrona para uma ou mais réplicas, mas dando-lhe a vantagem adicional de ser capaz de acessar essas réplicas. It still does not support transactional consistency for those databases participating in a availability group. Ele ainda não suporta a consistência transacional para os bancos de dados participantes em um grupo de disponibilidade.

Availability Groups Grupos de disponibilidade

As its name suggests, an Availability Group is a grouping of related databases. Como o próprio nome sugere, um Grupo de Disponibilidade é um agrupamento de bancos de dados relacionados. When you were setting up Database Mirroring Before SQL Server 2012, you could set up multiple mirrors, but you were only able to set up to mirror a single database at a time. Quando você começar a fazer espelhamento de banco de dados Antes de SQL Server 2012, você pode configurar múltiplos espelhos, mas você só foram capazes de definir para espelhar um banco de dados de cada vez. If you have multiple databases that are reliant on each other for the application to work, there is no simple way of ensuring that all of the databases failed over together. Se você tiver vários bancos de dados que são dependentes um do outro para que o aplicativo funcione, não há nenhuma maneira simples de garantir que todos os bancos de dados não mais juntos. Availability Groups now allow you to group appropriate databases together. Grupos de Disponibilidade agora permitem que você agrupe bases de dados apropriadas. You can setup, up to 10 AAG's on a per instance level. Você pode configurar, até 10 AAG está em um nível de instância por. Across these 10 Availability Groups you can have up to 100 replica databases participating. Através destes 10 Grupos de disponibilidade você pode ter até 100 bases de dados de réplica participantes.

The benefits given by an Availability Group are that it: Os benefícios concedidos por um Grupo de Disponibilidade são que:

Availability Replicas Réplicas disponibilidade

Availability replicas provide you the ability to setup: Réplicas disponibilidade fornecer-lhe a capacidade de configurar:

  • A primary replica which allows you to undertake read and write capabilities against those databases that have been configured in the AAG Uma réplica primária que lhe permite realizar ler e escrever recursos contra essas bases de dados que foram configurados na AAG
  • Up to four secondary replicas which allow you to have read-only capabilities against those databases that have been configured in the AAG. Até quatro réplicas secundárias que permitem que você tenha somente leitura recursos contra essas bases de dados que foram configurados na AAG. Also allows you to setup the ability to perform backups on these secondaries. Também permite que você configure a capacidade de realizar backups nesses secundários.

Availability Modes Modos de disponibilidade

As mentioned above, when configuring your SQL Server 2012 AlwaysOn Availability Groups, there are some considerations that need to be taken into account when determining what type of availability mode you can use. Como mencionado acima, ao configurar o SQL Server 2012 Grupos disponibilidade AlwaysOn, existem algumas considerações que precisam ser levados em consideração para determinar o tipo de modo de disponibilidade você pode usar.

If you are wanting to use AAGs for a reporting process, you could have your secondary replica located in the same physical data centre and implement synchronous-commit mode to give you a read only near time group of databases to report against without impacting the performance of the primary databases with reporting overheads. Se você está querendo usar AAGs por um processo de comunicação, você pode ter a sua réplica secundária localizada no mesmo centro de dados físico e implementar síncrono modo de confirmação para dar-lhe uma leitura só grupo de tempo perto de bancos de dados de relatório contra, sem afetar o desempenho do os bancos de dados primários com relatórios gerais. You probably would not consider this type of availability mode where there are large distances between data centres. Você provavelmente não iria considerar este tipo de modo de disponibilidade, onde existem grandes distâncias entre centros de dados.

If you have the requirement for a reporting process, that does not require the data to be near real time, you could consider implementing your secondary replica in a separate data centre that may be more than 30-40 Kilometers away. Se você tiver a necessidade de um processo de comunicação, que não exige os dados a ser quase em tempo real, você poderia considerar a implementação de sua réplica secundária em um centro de dados em separado que pode ser mais do que 30-40 quilômetros de distância. If this is the case, you would look at implementing asynchronous-commits for your AAG. Se este for o caso, você iria olhar para implementação assíncrona-commits para a AAG. By implementing an asynchronous-commit method, you would reduce the latency of the transactions on the primary site but it would open you up to the possibility of data loss. Ao implementar um método assíncrono-commit, você poderia reduzir a latência das transações no site principal, mas que iria abri-lo até a possibilidade de perda de dados.

As you can set up several secondary replicas, you are able to setup different availability modes in your environment. Como você pode configurar várias réplicas secundárias, você é capaz de configurar os modos diferentes de disponibilidade em seu ambiente. Each AAG is configured separately; for example: you may have two synchronous implementations and two asynchronous implementations. Cada AAG está configurado separadamente, por exemplo: você pode ter duas implementações síncronas e assíncronas duas implementações.

In this example you would have your primary databases in AAG1 residing in DC1. Neste exemplo você teria suas bases de dados primários em AAG1 residente em DC1. You then set up a secondary replica that is also located in DC1 in a synchronous-commit mode, thereby allowing you to run your reporting requirements without the reporting overhead impacting on your primary database. Você, então, criar uma réplica secundária que também está localizado em DC1 de modo síncrono-commit, permitindo que você execute seus requisitos de relatórios sem a sobrecarga de relatórios de impacto em seu banco de dados primário. This also provides for your HA requirements, by having a secondary environment that is transactionally consistent with the ability to failover to in the event of an issue with your primary databases. Isso também fornece para suas necessidades de HA, por ter um ambiente secundário que é transacional consistente com a capacidade de failover no caso de um problema com seus bancos de dados primários. You could then setup secondary replicas in DC2, DC3 & DC4 in asynchronous-commit mode. Você pode então configurar réplicas secundárias no DC2, DC3 e DC4 em assíncrono modo de confirmação. These asynchronous secondary replicas allow you to meet your DR requirements by having multiple copies in multiple geographical dispersed locations, with the ability to failover to in the event of an issue on the primary site. Estas réplicas assíncronas secundárias permitem que você para atender suas necessidades de DR por ter várias cópias em vários locais geográficos dispersos, com a capacidade de failover no caso de um problema no site principal.

Failing Over Failover

As with Database Mirroring and Windows Server Failover Clustering, AlwaysOn Availability Groups provide the ability to failover between the primary and secondary replicas that you have setup. Como em Database Mirroring e Clustering Failover do Windows Server, Grupos disponibilidade AlwaysOn fornecer a capacidade de failover entre as réplicas primárias e secundárias que você tem a configuração. There are three forms of failover which can be undertaken with AAG's: Há três formas de failover que podem ser realizadas com AAG de:

  • Automatic - Supported by Synchronous-Commit Mode - No Data Loss Automático - Apoiado por Synchronous-Commit Mode - sem perda de dados
  • Manual - Supported by Synchronous-Commit Mode - No Data Loss Manual - Apoiado por Synchronous-Commit Mode - sem perda de dados
  • Forced - Supported by Asynchronous-Commit - Possible Data Loss Forçado - Apoiado por Asynchronous-Commit - Possível perda de dados

The Availability Mode that is in use will depend on whether you are implementing High Availability or Disaster Recovery. O Modo de disponibilidade que está em uso vai depender se você estiver implementando alta disponibilidade ou recuperação de desastres. This affects the failover setup that you are going to implement in your SQL Server 2012 AlwaysOn environment. Isso afeta a configuração de failover que você está indo para implementar no seu ambiente SQL Server AlwaysOn 2012.

Availability Group Listener Ouvinte Grupo de Disponibilidade

In order to take advantage of the various solutions that we have stepped through in this article, we need to set up and allow for the applications to maintain connectivity to the SQL Server Databases after a failover. A fim de aproveitar as várias soluções que temos intensificado através deste artigo, é preciso configurar e permitir que as aplicações para manter a conectividade com bancos de dados SQL Server após um failover. This is where the AlwaysOn Availability Group Listeners (AAGL's) come into use. Este é o lugar onde os ouvintes AlwaysOn disponibilidade de grupo (AAGL de) entrar em uso.

An Availability Group Listener is a Virtual Server Name that applications connect to. Um ouvinte Grupo de Disponibilidade é um nome de servidor virtual que os aplicativos se conectam. From the applications point of view it does not matter where the Availability Database is active and available for use. Do ponto de vista aplicações não importa onde o Database Availability está ativo e disponível para uso. The AAGL consists of: O AAGL consiste em:

  • Virtual Network Name (VNN) Nome de Rede Virtual (VNN)
  • Listener Port Porto Listener
  • One or more Virtual IP Addresses (VIPs) Um ou mais endereços IP virtuais (VIPs)

For your application to connect, you can either set up a connection string for your AAGL or connect directly to your SQL Server Instance. Para sua aplicação para se conectar, você pode configurar uma seqüência de conexão para o seu AAGL ou conectar diretamente a sua instância do SQL Server. However, a direct connection does not give the failover support which this technology has been built for. No entanto, uma conexão direta não dá o suporte de failover que esta tecnologia tem sido construído.

When a failover occurs for an AAG, the connection from the client is terminated. Quando ocorre um failover para um AAG, a conexão do cliente é encerrado. To gain access again, the client needs to reconnect to the AAGL. Para ter acesso novamente, o cliente precisa se reconectar ao AAGL. To achieve this, the application must be designed and built to poll for the AAGL. Para isso, o pedido deve ser projetado e construído para sondar a AAGL. Depending on the connection that you are utilising: Dependendo da conexão que você está utilizando:

  • Primary database Banco de dados primário
  • Secondary read replica Secundária de leitura réplica

You will need to configure your ' ApplicationIntent ' in your AAGL connection string appropriately. Você precisará configurar o seu ' ApplicationIntent 'em sua seqüência de conexão AAGL adequadamente.

With these points in mind, we are now able to create our first AAG in several ways, which are to Com esses pontos em mente, estamos agora em condições para criar o nosso AAG primeira de várias maneiras, que são a

  • Create Availability Group Wizard Assistente de Criação de Grupo de Disponibilidade
  • TSQL TSQL
  • Powershell Powershell

Expanding the AlwaysOn High Availability tree | right click Availability Groups | New Availability Group Wizard Expandindo o AlwaysOn árvore Alta Disponibilidade | Grupos Disponibilidade clique direito | Novo Disponibilidade Grupo Assistente

Image 16 – New AlwaysOn Availability Group Wizard Imagem 16 - New Disponibilidade AlwaysOn Grupo Assistente

Name your AAG, click 'Next'. Nome do seu AAG, clique em 'Next'.

Select the databases that you need to include in the AAG, click 'Next'. Selecione os bancos de dados que você precisa para incluir na AAG, clique em 'Next'.

Image 17 – Availability Databases Imagem 17 - Bancos de Dados disponibilidade

Your primary replica will automatically be available for you to configure. Sua réplica primária estará automaticamente disponível para você configurar. Choose the Availability Mode, Failover strategy and Readable secondary requirements. Escolha o modo de Disponibilidade, a estratégia de failover e legível requisitos secundários. Click ' Add Replica' , connecting to your appropriate secondary servers. Clique em "Adicionar Replica ', a conexão com seus apropriados servidores secundários. Ensure that you set your secondary the same as your primary. Certifique-se de definir o seu secundário o mesmo que o primário.

Image 18 – Availability Replicas Imagem 18 - Réplicas disponibilidade

Selecting the Listener Tab, give your AAGL a name, port number and the appropriate IP Addresses, click 'Next'. Selecionando a guia Listener, dar o seu AAGL um nome, número da porta e os endereços IP apropriados, clique em 'Next'.

Image 19 – Availability Replicas Imagem 19 - Réplicas disponibilidade

Every replica needs to have access to a shared location to access the database backups created and used for synchronising the secondary databases. Cada réplica tem de ter acesso a um local compartilhado para acessar os backups de banco de dados criado e usado para sincronizar as bases de dados secundários. Enter your share path, click 'Next'. Digite o seu caminho de compartilhamento, clique em 'Next'.

Image 20 – Initial Data Synchronization Imagem 20 - Sincronização de Dados inicial

Ensure that you receive all green ticks for your validation, click 'Next'. Certifique-se de que você recebe todos os carrapatos verde para a sua validação, clique em 'Next'.

Image 21 – Validation Imagem 21 - Validação

Review the summary, click 'Finish'. Reveja o resumo, clique em "Concluir".

Image 22 – Finish Imagem 22 - Concluir