Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Applies to:SQL Server
Antes de criar e configurar um grupo de disponibilidade Always On, você deve habilitar o recurso Always On grupos de disponibilidade em cada instância de SQL Server que hospeda uma réplica de disponibilidade.
Importante
Se você excluir e recriar um cluster WSFC, deverá desabilitar e reabilitar o recurso de grupos de disponibilidade Always On em cada instância de SQL Server que hospedou uma réplica de disponibilidade no cluster WSFC original.
Pré-requisitos
No SQL Server 2016 (13.x), a instância deve residir em um nó WSFC (Cluster de Failover do Windows Server) para habilitar o recurso do grupo de disponibilidade.
No SQL Server 2017 (14.x) e versões posteriores, para dar suporte a grupos de disponibilidade read-scale, você pode habilitar o recurso de grupo de disponibilidade mesmo que a instância SQL Server não resida em um Cluster de Failover do Windows Server.
A instância do servidor deve executar uma edição de SQL Server que dê suporte a grupos de disponibilidade Always On. Para obter mais informações, consulte Editions e recursos com suporte do SQL Server 2025.
Habilite grupos de disponibilidade em apenas uma instância de servidor por vez. Depois de habilitar grupos de disponibilidade, aguarde até que o serviço SQL Server seja reiniciado antes de prosseguir para outra instância do servidor.
Para obter mais informações, consulte Prerequisites, restrições e recomendações para grupos de disponibilidade Always On (SQL Server).
Permissões
Quando você habilita grupos de disponibilidade em uma instância de SQL Server, a instância do servidor tem controle total sobre o cluster WSFC.
Você precisa ser membro do grupo Administrador no computador local e ter controle total sobre o cluster WSFC. Ao habilitar grupos de disponibilidade com o PowerShell, abra a janela Prompt de Comando usando a opção Executar como administrador .
Você precisa de permissões Active Directory Create Objects e Manage Objects.
Determinar se o recurso está habilitado
Você pode usar SQL Server Management Studio (SSMS), Transact-SQL ou PowerShell para verificar se o recurso de grupos de disponibilidade está habilitado.
Usando o SQL Server Management Studio
No SQL Server Management Studio (SSMS), em Object Explorer, clique com o botão direito do mouse na instância do servidor e selecione Properties.
Na caixa de diálogo Propriedades do Servidor , selecione a página Geral . A propriedade Está habilitado para HADR exibirá um dos seguintes valores:
- True, se os grupos de disponibilidade estiverem habilitados
- False, se os grupos de disponibilidade estiverem desabilitados.
Usar Transact-SQL
Use a seguinte instrução SERVERPROPERTY :
SELECT SERVERPROPERTY('IsHadrEnabled');
A configuração da propriedade de servidor IsHadrEnabled indica se uma instância de SQL Server está habilitada para grupos de disponibilidade, da seguinte maneira:
-
IsHadrEnabledé1, se os grupos de disponibilidade estiverem habilitados. -
IsHadrEnabledé0, se os grupos de disponibilidade estiverem desabilitados.
Observação
Para obter mais informações sobre a propriedade do IsHadrEnabled servidor, consulte SERVERPROPERTY.
Usar o PowerShell
Mude o diretório (
cd) para uma instância de servidor onde você deseja determinar se os grupos de disponibilidade Always On estão habilitados.Insira o seguinte comando do PowerShell
Get-ItemnoSQLSERVER:\SQL\NODE1\DEFAULTprompt:Get-Item . | Select-Object IsHadrEnabledObservação
Para exibir a sintaxe de um cmdlet, use o cmdlet
Get-Helpno ambiente SQL Server PowerShell. Para obter mais informações, consulte Get Help SQL Server PowerShell.
Para configurar e usar o provedor SQL Server PowerShell, consulte SQL Server PowerShell Provider.
Habilitar o recurso
Você pode habilitar o recurso grupos de disponibilidade usando SQL Server Management Studio (SSMS) ou PowerShell.
Habilitar com SQL Server Management Studio
Conecte-se ao nó WSFC (Cluster de Failover do Windows Server) que hospeda a instância SQL Server em que você deseja habilitar grupos de disponibilidade.
No menu Start, aponte para All Programs, aponte para Microsoft SQL Server, aponte para Configuration Tools e selecione SQL Server Configuration Manager.
Em SQL Server Configuration Manager, selecione SQL Server Services, clique com o botão direito do mouse em SQL Server (<instance name>). O <nome> da instância é o nome de uma instância de servidor local para a qual você deseja habilitar grupos de disponibilidade. Selecione Propriedades.
Selecione a guia Sempre Ligado na Alta Disponibilidade.
Verifique se o campo nome do cluster de failover do Windows contém o nome do cluster de failover local. Se esse campo estiver em branco, essa instância do servidor atualmente não oferece suporte aos Grupos de Disponibilidade Sempre Ativo. Ou o computador local não é um nó de cluster, ou o cluster WSFC está desligado, ou esta edição do SQL Server não dá suporte aos grupos de disponibilidade Always On.
Marque a opção Enable Always On Availability Groups e clique em OK.
SQL Server Configuration Manager salva sua alteração. Em seguida, você deve reiniciar manualmente o serviço SQL Server. Esta etapa permite que você escolha um tempo de reinicialização que melhor atenda aos seus requisitos de negócios. Quando o serviço SQL Server é reiniciado, os grupos de disponibilidade são habilitados e a propriedade do servidor
IsHadrEnabledé definida como1.
Habilitar com o PowerShell
Altere o diretório (
cd) para uma instância de servidor na qual você deseja habilitar grupos de disponibilidade.Use o cmdlet Enable-SqlAlwaysOn para ativar grupos de disponibilidade.
Para exibir a sintaxe de um cmdlet, use o cmdlet
Get-Helpno ambiente 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 cmdlet
Enable-SqlAlwaysOnreinicia o serviço SQL Server, consulte Quando um cmdlet reinicia o serviço SQL Server?, mais adiante neste artigo.
Para configurar e usar o provedor SQL Server PowerShell, consulte SQL Server PowerShell Provider.
Exemplo: Enable-SqlAlwaysOn
O comando do PowerShell a seguir habilita os grupos de disponibilidade Always On em uma instância de SQL Server (<computer>\<Instance>).
Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
Desabilitar o recurso
Use as seções a seguir para desabilitar o recurso de grupos de disponibilidade usando SQL Server Configuration Manager ou PowerShell. Depois de concluir a operação de desabilitar, você pode executar todas as tarefas de acompanhamento necessárias.
Importante
Desabilite o recurso de grupos de disponibilidade em apenas uma instância de servidor por vez. Depois de desabilitar Always On grupos de disponibilidade, aguarde até que o serviço SQL Server seja reiniciado antes de prosseguir para outra instância do servidor.
Recomendações
Antes de desabilitar o recurso de grupos de disponibilidade em uma instância de servidor, conclua as seguintes etapas:
Se a instância do servidor atualmente hospeda a réplica primária de um grupo de disponibilidade que você deseja manter, faça failover manualmente do grupo de disponibilidade para uma réplica secundária sincronizada, se possível. Para obter mais informações, consulte 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, consulte Remover uma Réplica Secundária de um Grupo de Disponibilidade (SQL Server).
Desabilitar com o Gerenciador de Configurações do SQL Server
Conecte-se ao nó WSFC (Cluster de Failover do Windows Server) que hospeda a instância SQL Server em que você deseja desabilitar grupos de disponibilidade.
No menu Start, aponte para All Programs, aponte para Microsoft SQL Server, aponte para Configuration Tools e selecione SQL Server Configuration Manager.
Em SQL Server Configuration Manager, selecione SQL Server Services, clique com o botão direito do mouse em SQL Server (<instance name>). O <nome> da instância é o nome de uma instância de servidor local para a qual você deseja desabilitar grupos de disponibilidade. Selecione Propriedades.
Na guia Always On Alta Disponibilidade, desmarque a caixa de seleção Habilitar Always On Grupos de Disponibilidade e selecione OK.
SQL Server Configuration Manager salva a alteração e reinicia o serviço de SQL Server. Quando o serviço SQL Server é reiniciado, os grupos de disponibilidade são desabilitados e a propriedade de servidor IsHadrEnabled é definida como
0, para indicar que o recurso está desabilitado.Leia as informações em Acompanhamento, mais adiante neste artigo.
Desativar com o PowerShell
Altere o diretório (
cd) para uma instância de servidor atualmente habilitada em que você deseja desabilitar grupos de disponibilidade.Use o
Disable-SqlAlwaysOncmdlet para desabilitar grupos de disponibilidade.Por exemplo, o comando a seguir desabilita grupos de disponibilidade em uma instância de SQL Server (Computer\Instance). Esse comando requer a reinicialização da instância e você será solicitado a confirmar essa reinicialização.
Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\InstanceImportante
Para obter informações sobre como controlar se o cmdlet
Disable-SqlAlwaysOnreinicia o serviço SQL Server, consulte Quando um cmdlet reinicia o serviço SQL Server?, mais adiante neste artigo.Para exibir a sintaxe de um cmdlet, use o cmdlet
Get-Helpno ambiente SQL Server PowerShell. Para obter mais informações, consulte Get Help SQL Server PowerShell.
Para configurar e usar o provedor SQL Server PowerShell, consulte SQL Server PowerShell Provider.
Acompanhamento após desabilitar grupos de disponibilidade
Depois de desabilitar Always On grupos de disponibilidade, reinicie a instância do SQL Server. O SQL Configuration Manager reinicia a instância do servidor automaticamente. No entanto, se você usar o Disable-SqlAlwaysOn cmdlet, precisará reiniciar a instância do servidor manualmente. Para obter mais informações, consulte sqlservr Application.
Na instância de servidor reiniciada:
Os bancos de dados de disponibilidade não são iniciados durante a inicialização do SQL Server, tornando-os inacessíveis.
A única instrução Transact-SQL do grupo de disponibilidade com suporte é DROP AVAILABILITY GROUP.
CREATE AVAILABILITY GROUP,ALTER AVAILABILITY GROUP, e as opçõesSET HADRdeALTER DATABASEnão são suportadas.Metadados do SQL Server e dados de configuração dos grupos de disponibilidade Always On no WSFC não são afetados pela desativação dos grupos de disponibilidade.
Se você desabilitar permanentemente grupos de disponibilidade em cada instância de servidor que hospeda uma réplica de disponibilidade para um ou mais grupos de disponibilidade, conclua as seguintes etapas:
Se você não removeu as réplicas de disponibilidade locais antes de desabilitar grupos de disponibilidade, exclua (descarte) cada grupo de disponibilidade para o qual a instância do servidor está hospedando uma réplica de disponibilidade. Para obter informações sobre como excluir um grupo de disponibilidade, consulte Remove an Availability Group (SQL Server).
Para remover os metadados, exclua (descarte) cada grupo de disponibilidade afetado em uma instância de servidor que faz parte 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 de restauração. 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 de SQL Server?
Em uma instância de servidor atualmente em execução, usar Enable-SqlAlwaysOn ou Disable-SqlAlwaysOn para alterar a configuração atual do grupo de disponibilidade pode fazer com que o serviço SQL Server seja reiniciado. O comportamento de reinicialização depende das seguintes condições:
-NoServiceRestart parâmetro especificado |
-Force parâmetro especificado |
serviço de SQL Server reiniciado |
|---|---|---|
| Não | Não | Por padrão. Veja se ambos os parâmetros são especificados. |
| Não | Sim | O serviço será reiniciado. |
| Sim | Não | O serviço não é reiniciado. |
| Sim | Sim | O serviço não é reiniciado. |
Se ambos os parâmetros forem especificados
Se você especificar ambos os parâmetros -NoServiceRestart e -Force, o cmdlet solicitará o seguinte (o padrão é Y):
To complete this action, we must restart the SQL Server service for server instance '<instance_name>'. Do you want to continue?
[Y] Yes [N] No [S] Suspend [?] Help
Se você especificar N ou S, o serviço não será reiniciado.