Executar um failover manual planejado de um grupo de disponibilidade (SQL Server)
Este tópico descreve como fazer um failover manual sem perda de dados (um failover manual planejado) em um grupo de disponibilidade AlwaysOn usando o SQL Server Management Studio, o Transact-SQL ou o PowerShell no SQL Server 2012. Um grupo de disponibilidade faz failover no nível de uma réplica de disponibilidade. Um failover manual planejado, como qualquer failover do Grupos de Disponibilidade AlwaysOn, faz a transição de uma réplica secundária e, simultaneamente, faz a transição da réplica primária antiga para a função secundária.
Um failover manual planejado, que é suportado apenas quando a réplica primária e a réplica secundária de destino estão executando em modo de confirmação síncrona e estão sincronizadas no momento, preserva todos os dados nos bancos de dados secundários que estão unidos ao grupo de disponibilidade em uma réplica secundária de destino. Quando a réplica primária antiga faz a transição para a função secundária, seus bancos de dados se tornam bancos de dados secundários e começam a ser sincronizados com os novos bancos de dados primários. Depois que a transição de todos é feita para o estado SYNCHRONIZED, a nova réplica secundária se torna qualificada para servir como o destino de uma futuro failover manual planejado.
Observação |
---|
Se as réplicas secundárias e primárias estiverem configuradas para o modo de failover automático, quando a réplica secundária for sincronizada, ela também poderá servir como o destino de um failover automático. Para obter mais informações, consulte Modos de disponibilidade (grupos de disponibilidade AlwaysOn). |
Antes de começar:
Limitações e restrições
Pré-requisitos e restrições
Segurança
Para fazer o failover de um grupo de disponibilidade manualmente usando:
SQL Server Management Studio
Transact-SQL
PowerShell
Acompanhamento: depois do failover manual de um grupo de disponibilidade
Antes de começar
Limitações e restrições
Um comando de failover é retornado assim que a réplica secundária de destino aceitar o comando. No entanto, a recuperação de banco de dados ocorre de forma assíncrona depois que o grupo de disponibilidade terminar o failover.
A consistência do banco de dados entre bancos de dados dentro do grupo de disponibilidade não é mantida no failover.
Observação Não há suporte para transações entre bancos de dados e transações distribuídas no Grupos de Disponibilidade AlwaysOn. Para obter mais informações, consulte Transações envolvendo todos os bancos de dados sem suporte para espelhamento de banco de dados ou Grupos de Disponibilidade AlwaysOn (SQL Server).
Pré-requisitos e restrições
A réplica secundária de destino e a réplica primária devem estar executando em modo de disponibilidade de confirmação síncrona.
A réplica primária de destino deve estar sincronizada com a réplica primária. Isso requer que todos os bancos de dados secundários dessa réplica secundária ao grupo tenham sido unidos ao grupo de disponibilidade e tenham sido sincronizados com os bancos de dados primários correspondentes (quer dizer, os bancos de dados secundários locais devem estar SYNCHRONIZED).
Dica Para determinar a prontidão do failover de uma réplica secundária, consulte a coluna is_failover_ready na exibição de gerenciamento dinâmico sys.dm_hadr_database_cluster_states ou consulte a coluna Prontidão de Failover do Painel Grupo AlwaysOn.
Esta tarefa tem suporte apenas na réplica secundária de destino. Você deve estar conectado à instância de servidor que hospeda a réplica secundária de destino.
Segurança
Permissões
Requer a permissão ALTER AVAILABILITY GROUP no grupo de disponibilidade, a permissão CONTROL AVAILABILITY GROUP, a permissão ALTER ANY AVAILABILITY GROUP ou a permissão CONTROL SERVER.
[Início]
Usando o SQL Server Management Studio
Para fazer o failover de um grupo de disponibilidade manualmente
No Pesquisador de Objetos, conecte-se a uma instância do servidor que hospeda uma réplica secundária do grupo de disponibilidade que precise passar por failover e expanda a árvore de servidores.
Expanda os nós Alta Disponibilidade AlwaysOn e Grupos de Disponibilidade.
Clique com o botão direito do mouse no grupo de disponibilidade do qual fazer failover e selecione o comando Failover.
Isso inicia o Assistente de Grupo de Disponibilidade de Failover. Para obter mais informações, consulte Usar o Assistente para Grupo de Disponibilidade de Failover (SQL Server Management Studio).
[Início]
Usando Transact-SQL
Para fazer o failover de um grupo de disponibilidade manualmente
Conecte-se à instância do servidor que hospeda a réplica secundária de destino.
Use a instrução ALTER AVAILABILITY GROUP, da seguinte maneira:
ALTER AVAILABILITY GROUP group_name FAILOVER
onde group_name é o nome do grupo de disponibilidade.
O exemplo a seguir faz o failover manual do grupo de disponibilidade MyAg na réplica secundária conectada.
ALTER AVAILABILITY GROUP MyAg FAILOVER;
[Início]
Usando o PowerShell
Para fazer o failover de um grupo de disponibilidade manualmente
Altere o diretório (cd) para a instância do servidor que hospeda a réplica secundária de destino.
Use o cmdlet Switch-SqlAvailabilityGroup.
Observação Para exibir a sintaxe de um cmdlet, use o cmdlet Get-Help no ambiente do SQL Server 2012 PowerShell. Para obter mais informações, consulte Obter Ajuda do SQL Server PowerShell.
O exemplo a seguir faz o failover do grupo de disponibilidade MyAg na réplica secundária com o caminho especificado.
Switch-SqlAvailabilityGroup -Path SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MyAg
Para configurar e usar o provedor do SQL Server PowerShell
[Início]
Acompanhamento: após o failover manual de um grupo de disponibilidade
Se você fez failover fora do conjunto de failover automático do grupo de disponibilidade, ajuste os votos de quorum dos nós WSFC para refletir sua nova configuração de grupo de disponibilidade. Para obter mais informações, consulte WSFC (Windows Server Failover Clustering) com o SQL Server.
[Início]
Consulte também
Conceitos
Visão geral de grupos de disponibilidade AlwaysOn (SQL Server)
Failover e modos de failover (grupos de disponibilidade AlwaysOn)
Executar um failover manual forçado de um grupo de disponibilidade (SQL Server)