Compartilhar via


Habilitar e desabilitar Grupos de Disponibilidade AlwaysOn (SQL Server)

Habilitar Grupos de Disponibilidade AlwaysOn é um pré-requisito para uma instância de servidor usar grupos de disponibilidade. Antes de criar e configurar qualquer grupo de disponibilidade, o recurso Grupos de Disponibilidade AlwaysOn deve ter sido habilitado em cada instância do SQL Server que hospedará uma réplica de disponibilidade para um ou mais grupos de disponibilidade.

Importante

Se você excluir e recriar um cluster WSFC, deverá desabilitar e reabilitar o recurso Grupos de Disponibilidade AlwaysOn em cada instância do SQL Server que hospedou uma réplica de disponibilidade no cluster WSFC original.

Antes de começar

Pré-requisitos para habilitar Grupos de Disponibilidade AlwaysOn

  • A instância de servidor deve residir em um nó WSFC (Windows Server Failover Clustering).

  • A instância de servidor deve estar executando uma edição do SQL Server que dê suporte a Grupos de Disponibilidade AlwaysOn. Para obter mais informações, consulte Features Supported by the Editions of SQL Server 2014.

  • Habilitar Grupos de Disponibilidade AlwaysOn somente em uma instância de servidor de cada vez. Depois de habilitar os Grupos de Disponibilidade AlwaysOn, aguarde até que o serviço SQL Server seja reiniciado antes de prosseguir para outra instância do servidor.

Para obter informações sobre pré-requisitos adicionais para criar e configurar grupos de disponibilidade, consulte Pré-requisitos, restrições e recomendações para Grupos de Disponibilidade AlwaysOn (SQL Server).

Segurança

Embora os Grupos de Disponibilidade AlwaysOn estejam habilitados em uma instância do SQL Server, a instância do servidor tem controle total no cluster WSFC.

Permissões

Requer a associação ao grupo Administrador no computador local e o controle total no cluster WSFC. Quando for habilitar o AlwaysOn usando o PowerShell, abra a janela Prompt de Comando usando a opção Executar como administrador .

Exige que o Active Directory crie objetos e gerencie permissões de objetos.

Determinar se os Grupos de Disponibilidade AlwaysOn estão habilitados

Como usar o SQL Server Management Studio.

Para determinar se os Grupos de Disponibilidade AlwaysOn estão habilitados

  1. No Pesquisador de Objetos, clique com o botão direito do mouse na instância de servidor e clique em Propriedades.

  2. Na caixa de diálogo Propriedades do Servidor , clique na página Geral . A propriedade Está habilitado para HADR exibirá um dos seguintes valores:

    • True, se os Grupos de Disponibilidade AlwaysOn estiverem habilitados

    • False, se os Grupos de Disponibilidade AlwaysOn estiverem desabilitados

Usando o Transact-SQL

Para determinar se os Grupos de Disponibilidade AlwaysOn estão habilitados

  1. Use a seguinte instrução SERVERPROPERTY :

    SELECT SERVERPROPERTY ('IsHadrEnabled');  
    

    A configuração da propriedade do IsHadrEnabled servidor indica se uma instância do SQL Server está habilitada para Grupos de Disponibilidade AlwaysOn, da seguinte maneira:

    • Se IsHadrEnabled = 1, os Grupos de Disponibilidade AlwaysOn estão habilitados.

    • Se IsHadrEnabled = 0, os Grupos de Disponibilidade AlwaysOn estarão desabilitados.

    Observação

    Para obter mais informações sobre a propriedade do IsHadrEnabled servidor, consulte SERVERPROPERTY (Transact-SQL).

Usando o PowerShell

Para determinar se os Grupos de Disponibilidade AlwaysOn estão habilitados

  1. Defina default (cd) como a instância do servidor (por exemplo, \SQL\NODE1\DEFAULT) na qual você deseja determinar se os Grupos de Disponibilidade AlwaysOn estão habilitados.

  2. Digite o seguinte comando Get-Item do PowerShell:

    Get-Item . | Select IsHadrEnabled  
    

    Observação

    Para exibir a sintaxe de um cmdlet, use o Get-Help cmdlet no ambiente do SQL Server PowerShell. Para obter mais informações, consulte Get Help SQL Server PowerShell.

Para configurar e usar o provedor do SQL Server PowerShell

Habilitar Grupos de Disponibilidade AlwaysOn

Para ativar o AlwaysOn, usando:

Usando o SQL Server Configuration Manager

Para habilitar Grupos de Disponibilidade AlwaysOn

  1. Conecte-se ao nó WSFC (Clustering de Failover do Windows Server) que hospeda a instância do SQL Server em que você deseja habilitar os Grupos de Disponibilidade AlwaysOn.

  2. No menu Iniciar, aponte para Todos os Programas, aponte para Microsoft SQL Server 2014, aponte para Ferramentas de Configuração e clique em SQL Server Configuration Manager.

  3. No SQL Server Configuration Manager, clique em Serviços do SQL Server, clique com o botão direito do mouse em SQL Server (><instance name), onde <instance name> está o nome de uma instância de servidor local para a qual você deseja habilitar Grupos de Disponibilidade AlwaysOn e clique em Propriedades.

  4. Selecione a guia Alta Disponibilidade AlwaysOn .

  5. Verifique se o campo Nome do cluster de failover do Windows contém o nome do cluster de failover local. Caso esse campo esteja em branco, significa que essa instância de servidor no momento não dá suporte a Grupos de Disponibilidade Always On. O computador local não é um nó de cluster, o cluster WSFC foi desligado ou esta edição do SQL Server 2014 não dá suporte a Grupos de Disponibilidade AlwaysOn.

  6. Marque a caixa de seleção Habilitar Grupos de Disponibilidade AlwaysOn e clique em OK.

    SQL Server Configuration Manager salva suas alterações. Em seguida, você deve reiniciar manualmente o serviço do SQL Server . Isso permite escolher a hora de reinicialização mais adequada de acordo com as necessidades da sua empresa. Quando o serviço SQL Server for reiniciado, o AlwaysOn será habilitado e a propriedade do IsHadrEnabled servidor será definida como 1.

Usando o SQL Server PowerShell

Para habilitar o AlwaysOn

  1. Altere o diretório (cd) para uma instância de servidor que você queira habilitar para Grupos de Disponibilidade AlwaysOn.

  2. Use o cmdlet Enable-SqlAlwaysOn para habilitar Grupos de Disponibilidade AlwaysOn.

    Para exibir a sintaxe de um cmdlet, use o Get-Help cmdlet no ambiente do SQL Server PowerShell. Para obter mais informações, consulte Get Help SQL Server PowerShell.

    Observação

    Para obter informações sobre como controlar se o Enable-SqlAlwaysOn cmdlet reinicia o serviço do SQL Server, consulte Quando um cmdlet reinicia o serviço do SQL Server?, mais adiante neste tópico.

Para configurar e usar o provedor do SQL Server PowerShell

Exemplo: Enable-SqlAlwaysOn

O comando do PowerShell a seguir habilita Grupos de Disponibilidade AlwaysOn em uma instância do SQL Server (Instância de Computador\).

Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  

Desabilitar Grupos de Disponibilidade AlwaysOn

Importante

Desabilite AlwaysOn em somente uma instância de servidor de cada vez. Depois de desabilitar os Grupos de Disponibilidade AlwaysOn, aguarde até que o serviço SQL Server seja reiniciado antes de prosseguir para outra instância do servidor.

Recomendações

Antes de você desabilitar o AlwaysOn em uma instância de servidor, nós recomendamos que você faça o seguinte:

  1. Se a instância de servidor estiver hospedando a réplica primária de um grupo de disponibilidade que você deseja manter, nós recomendaremos que você realize manualmente o failover do grupo de disponibilidade para uma réplica secundária sincronizada, se possível. Para obter mais informações, confira Executar um failover manual planejado de um grupo de disponibilidade (SQL Server).

  2. Remova todas as réplicas secundárias locais. Para obter mais informações, confira Remover uma réplica secundária de um grupo de disponibilidade (SQL Server).

Usando o SQL Server Configuration Manager

Para desativar o AlwaysOn

  1. Conecte-se ao nó WSFC (Clustering de Failover do Windows Server) que hospeda a instância do SQL Server em que você deseja desabilitar os Grupos de Disponibilidade AlwaysOn.

  2. No menu Iniciar, aponte para Todos os Programas, aponte para Microsoft SQL Server 2014, aponte para Ferramentas de Configuração e clique em SQL Server Configuration Manager.

  3. No SQL Server Configuration Manager, clique em Serviços do SQL Server, clique com o botão direito do mouse em SQL Server (instance name<>), onde <instance name> está o nome de uma instância de servidor local para a qual você deseja desabilitar os Grupos de Disponibilidade AlwaysOn e clique em Propriedades.

  4. Na guiaAlta Disponibilidade AlwaysOn, desmarque a caixa de seleção Habilitar Grupos de Disponibilidade AlwaysOn e clique em OK.

    O SQL Server Configuration Manager salva a alteração e reinicia o serviço SQL Server. Quando o serviço SQL Server for reiniciado, o AlwaysOn será desabilitado e a propriedade do servidor será definida como 0, para indicar que os IsHadrEnabled Grupos de Disponibilidade AlwaysOn estão desabilitados.

  5. Recomendamos que você leia as informações em Acompanhamento: depois de desabilitar o AlwaysOn, mais adiante neste tópico.

Usando o SQL Server PowerShell

Para desativar o AlwaysOn

  1. Altere o diretório (cd) para uma instância de servidor habilitada no momento que você deseja desabilitar para Grupos de Disponibilidade AlwaysOn.

  2. Use o cmdlet Disable-SqlAlwaysOn para habilitar Grupos de Disponibilidade AlwaysOn.

    Por exemplo, o comando a seguir desabilita Grupos de Disponibilidade AlwaysOn em uma instância do SQL Server (Instância de Computador\). Este comando requer a reinicialização da instância e você será solicitado a confirmar esta reinicialização.

    Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  
    

    Importante

    Para obter informações sobre como controlar se o Disable-SqlAlwaysOn cmdlet reinicia o serviço do SQL Server, consulte Quando um cmdlet reinicia o serviço do SQL Server?, mais adiante neste tópico.

    Para exibir a sintaxe de um cmdlet, use o Get-Help cmdlet no ambiente do SQL Server PowerShell. Para obter mais informações, consulte Get Help SQL Server PowerShell.

Para configurar e usar o provedor do SQL Server PowerShell

Acompanhamento: depois de desabilitar o AlwaysOn

Depois de desabilitar os Grupos de Disponibilidade AlwaysOn, a instância do SQL Server deve ser reiniciada. O SQL Server Configuration Manager reinicia a instância de servidor automaticamente. Porém, se você usou o cmdlet Disable-SqlAlwaysOn, precisará reiniciar a instância de servidor manualmente. Para obter mais informações, consulte sqlservr Application.

Na instância de servidor reiniciada:

  • Os bancos de dados de disponibilidade não iniciam na inicialização do SQL Server, tornando-os inacessíveis.

  • A única instrução AlwaysOn Transact-SQL com suporte é DROP AVAILABILITY GROUP. CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP e as opções SET HADR de ALTER DATABASE não têm suporte.

  • Os metadados do SQL Server e os dados de configuração de Grupos de Disponibilidade AlwaysOn no WSFC não são afetados pela desabilitação de Grupos de Disponibilidade AlwaysOn.

Se você desabilitar os grupos de disponibilidade AlwaysOn permanentemente em todas as instâncias de servidor que hospedam uma réplica de disponibilidade para um ou mais grupos de disponibilidade, nós recomendaremos que você conclua as etapas a seguir:

  1. Se você não removeu as réplicas de disponibilidade locais antes de desabilitar o AlwaysOn, exclua (ignore) cada grupo de disponibilidade para o qual a instância de servidor está hospedando uma réplica de disponibilidade. Para obter informações sobre como excluir um grupo de disponibilidade, confira Remover um Grupo de Disponibilidade (SQL Server).

  2. Para remover os metadados deixados para trás, exclua (ignore) cada grupo de disponibilidade afetado em uma instância de servidor que faz parte do cluster do WSFC original.

  3. Qualquer banco de dados primário continuará acessível a todas as conexões, mas a sincronização de dados entre os bancos de dados primário e secundário será interrompida.

  4. Os bancos de dados secundários entram no estado RESTORING. Você pode excluí-los ou restaurá-los usando RESTORE WITH RECOVERY. No entanto, os bancos de dados restaurados não participarão mais da sincronização de dados de grupos de disponibilidade.

Quando um cmdlet reinicia o serviço do SQL Server?

Em uma instância de servidor atualmente em execução, usando Enable-SqlAlwaysOn ou Disable-SqlAlwaysOn para alterar a configuração atual de AlwaysOn pode provocar a reinicialização do serviço do SQL Server. O comportamento de reinicialização depende das seguintes condições:

Parâmetro -NoServiceRestart especificado Parâmetro -Force especificado O serviço SQL Server foi reiniciado?
Não Não Por padrão. Mas o cmdlet solicita o seguinte:

Para concluir essa ação, devemos reiniciar o serviço SQL Server na instância de servidor “<instance_name>”. Deseja continuar?

[Y] Sim [N] Não [S] Suspender [?] Ajuda (o padrão é “Y”):

Se você especificar N ou S, o serviço não será reiniciado.
Não Sim O serviço será reiniciado.
Sim Não O serviço não será reiniciado.
Sim Sim O serviço não será reiniciado.

Confira também

Visão geral dos Grupos de Disponibilidade AlwaysOn (SQL Server)
SERVERPROPERTY (Transact-SQL)