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:
Como:
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
No Pesquisador de Objetos, clique com o botão direito do mouse na instância de servidor e clique em Propriedades.
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
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
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.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
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.
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.
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.Selecione a guia Alta Disponibilidade AlwaysOn .
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.
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
Altere o diretório (
cd
) para uma instância de servidor que você queira habilitar para Grupos de Disponibilidade AlwaysOn.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
Antes de desativar o AlwaysOn:
Para desativar o AlwaysOn, usando:
Acompanhamento: Depois de desativar o 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:
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).
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
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.
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.
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.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.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
Altere o diretório (
cd
) para uma instância de servidor habilitada no momento que você deseja desabilitar para Grupos de Disponibilidade AlwaysOn.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:
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).
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.
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.
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)