Share via


Configurar link com SSMS - Instância Gerenciada de SQL do Azure

Aplica-se a:Instância Gerenciada de SQL do Azure

Este artigo ensina como configurar um link entre o SQL Server e a Instância Gerenciada de SQL do Azure com o uso do SQL Server Management Studio (SSMS). Com o link, os bancos de dados da primária inicial são replicados para a réplica secundária quase em tempo real.

Depois que o link for criado, é possível fazer failover para a réplica secundária para fins de migração ou recuperação de desastre.

Observação

  • Também é possível configurar o link usando scripts.
  • A configuração da Instância Gerenciada de SQL do Azure como sua primária inicial está atualmente em prévia e só tem suporte a partir do SQL Server 2022 CU10.

Visão geral

Use o recurso de link para replicar bancos de dados da primária inicial para a réplica secundária. Para o SQL Server 2022, a primária inicial pode ser o SQL Server ou a Instância Gerenciada de SQL do Azure. Para o SQL Server 2019 e versões anteriores, a primária inicial deve ser o SQL Server. Depois que o link é configurado, os bancos de dados da primária inicial são replicados para a réplica secundária.

É possível optar por deixar o link no lugar para replicação contínua de dados em um ambiente híbrido entre a réplica primária e secundária, ou fazer o failover do banco de dados para a réplica secundária, para migrar para o Azure ou para recuperação de desastre. Para o SQL Server 2019 e versões anteriores, fazer failover para a Instância Gerenciada de SQL do Azure quebra o link. Assim, a operação de failback não tem suporte. Com o SQL Server 2022, é possível optar por manter o link e fazer failover de ida e volta entre as duas réplicas. Esse recurso está atualmente em versão prévia.

Se planejar utilizar a instância gerenciada secundária apenas para recuperação de desastre, é possível economizar em custos de licenciamento ativando o benefício de failover híbrido.

Utilize as instruções neste artigo para configurar manualmente o link entre o SQL Server e a Instância Gerenciada de SQL do Azure. Após a criação do link, o banco de dados de origem recebe uma cópia somente leitura na réplica secundária de destino.

Pré-requisitos

Observação

Algumas funcionalidades do link estão em disponibilidade geral, enquanto outras estão atualmente em versão prévia. Revise a compatibilidade de versões para obter mais informações.

Para replicar os bancos de dados para a réplica secundária por meio do link, é necessário ter os seguintes pré-requisitos:

Considere o seguinte:

  • O recurso de link suporta um banco de dados por link. Para replicar vários bancos de dados em uma instância, deve-se criar um link para cada banco de dados individual. Por exemplo, para replicar 10 bancos de dados para a Instância Gerenciada de SQL, crie 10 links individuais.
  • O agrupamento entre o SQL Server e a Instância Gerenciada do SQL deve ser o mesmo. Uma incompatibilidade no agrupamento pode causar uma incompatibilidade na caixa de nome do servidor e impedir uma conexão bem-sucedida do SQL Server com a Instância Gerenciada de SQL.
  • O erro 1475 no SQL Server primário inicial indica que é necessário iniciar uma nova cadeia de backup, criando um backup completo sem a COPY ONLY opção.
  • Para estabelecer um link, ou failover, da Instância Gerenciada de SQL para o SQL Server 2022, sua instância gerenciada deve ser configurada com a política de atualização do SQL Server 2022. A replicação de dados e o failover da Instância Gerenciada de SQL para o SQL Server 2022 não têm suporte em instâncias configuradas com a política de atualização Sempre atualizado.
  • Embora você possa estabelecer um link do SQL Server 2022 para uma instância gerenciada de SQL configurada com a política de atualização Sempre atualizado, após o failover para a Instância Gerenciada de SQL, você não poderá mais replicar dados nem fazer failback para o SQL Server 2022.

Permissões

No SQL Server, você deve ter permissões sysadmin.

Na Instância Gerenciada de SQL do Azure, você deve ser membro do Colaborador de Instância Gerenciada de SQL ou ter as seguintes permissões para uma função personalizada:

Recurso Microsoft.Sql/ Permissões necessárias
Microsoft.Sql/managedInstances /read, /write
Microsoft.Sql/managedInstances/hybridCertificate /action
Microsoft.Sql/managedInstances/databases /read, /delete, /write, /completeRestore/action, /readBackups/action, /restoreDetails/read
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /read, /write, /delete, /setRole/action
Microsoft.Sql/managedInstances/endpointCertificates /read
Microsoft.Sql/managedInstances/hybridLink /read, /write, /delete
Microsoft.Sql/managedInstances/serverTrustCertificates /write, /delete, /read

Preparar banco de dados

Se o SQL Server for a primária inicial, é necessário criar um backup do banco de dados. Como a Instância Gerenciada de SQL do Azure faz backups de forma automática, é possível ignorar esta etapa se a Instância Gerenciada de SQL for a primária inicial.

Utilize o SSMS para realizar o backup do banco de dados no SQL Server. Siga estas etapas:

  1. Conecte-se ao SQL Server no SQL Server Management Studio (SSMS).
  2. No Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados, aponte para Tarefas e selecione Fazer Backup.
  3. Escolha Completo para o tipo de backup.
  4. Verifique-se de que a opção Fazer backup em tenha o caminho de backup para um disco com espaço de armazenamento livre suficiente disponível.
  5. Clique em OK para concluir o backup completo.

Para saber mais, confira Criar um backup completo de banco de dados.

Observação

O link suporta apenas a replicação de bancos de dados de usuários. Não há suporte para a replicação de bancos de dados do sistema. Para replicar objetos de nível de instância (armazene em master ou msdb), faça os scripts deles e execute scripts o T-SQL scripts na instância de destino.

Nos etapas a seguir, utilize o assistente Novo Link de Instância Gerenciada no SSMS para criar um link entre a primária inicial e sua réplica secundária.

Após criar o link, o banco de dados de origem obterá uma cópia somente leitura em sua réplica secundária de destino.

  1. Abra o SSMS e conecte-se à primária inicial.

  2. No Pesquisador de Objetos, clique com o botão direito no banco de dados ao qual deseja vincular a réplica secundária, passe o cursor sobre Link da Instância Gerenciada de SQL do Azure e selecione Novo... para abrir o assistente Novo Link de Instância Gerenciada. Se não houver suporte para a versão do SQL Server, essa opção não estará disponível no menu de contexto.

    Captura de tela que mostra a opção do menu de contexto de um banco de dados para criar um novo link.

  3. Na página Introdução do assistente, selecione Próximo.

  4. Na página Especificar Opções de Link, deve-se fornecer um nome para o link. Caso selecionar vários bancos de dados, então o nome do banco de dados é acrescentado de forma automática ao final do nome que fornecido, para que não seja necessário incluí-lo manualmente. Marque as caixas se desejar habilitar a solução de problemas de conectividade e, para o SQL Server 2022, se planeja usar o link para recuperação de desastre bidirecional. Selecione Avançar.

  5. Na página Requisitos, o assistente valida os requisitos para estabelecer um link com a sua réplica secundária. Selecione Avançar depois que todos os requisitos forem validados ou resolva os requisitos que não forem atendidos e, em seguida, selecione Executar novamente a validação.

  6. Na página Selecionar Bancos de Dados, escolha o banco de dados que deseja replicar para sua réplica secundária por meio do link. Selecionar vários bancos de dados cria vários grupos de disponibilidade distribuídos, um para cada link. Selecione Avançar.

  7. Na página Especificar Réplica Secundária, selecione Adicionar réplica secundária e adicione a réplica secundária. Se a primária inicial for o SQL Server, isso abre a janela Entrar no Azure. Se a primária inicial for Instância Gerenciada de SQL, isso abrirá a caixa de diálogo Conecte-se ao servidor.

    1. Para uma primária inicial do SQL Server, conecte-se ao Azure, escolha a assinatura, o grupo de recursos e a instância gerenciada secundária do SQL Server no menu suspenso. Selecione Logon para abrir a caixa de diálogo Conectar ao Servidor e conecte-se à Instância Gerenciada de SQL para a qual você deseja replicar o banco de dados. Ao ver Logon bem-sucedido na janela Entrar, selecione OK para fechar a janela e volte ao assistente de Novo link de Instância Gerenciada.
    2. Para uma Instância Gerenciada de SQL primária inicial, conecte-se à instância do SQL Server para a qual você deseja replicar seu banco de dados.
  8. Depois de adicionar a réplica secundária, use as guias do assistente para modificar as configurações do Ponto de Extremidade, se necessário, e rever as informações sobre backups e o ponto de extremidade do link nas guias restantes. Quando estiver pronto para continuar, selecione Avançar.

  9. Se a Instância Gerenciada de SQL for sua primária inicial, a próxima página do assistente será a página Logon no Azure. Entre novamente, se necessário, e selecione Avançar. Esta página não está disponível quando o SQL Server é a primária inicial.

  10. Na página Validação, certifique-se de que todas as validações sejam aprovadas com sucesso. Se algum falhar, resolva-os e execute novamente a validação. Ao estar tudo pronto, selecione Avançar.

  11. Na página Resumo, revise sua configuração mais uma vez. Opcionalmente, selecione Script para gerar um script, permitindo recriar facilmente o mesmo link no futuro. Quando tudo estiver pronto para criar o link, selecione Concluir.

  12. A página Ações em execução exibe o progresso de cada ação.

  13. Após a conclusão de todas as etapas, a página resultados mostrará as marcas de seleção ao lado das ações concluídas com êxito. Agora você pode fechar a janela.

Exibir um banco de dados replicado

Depois que o link é criado, o banco de dados é replicado para a réplica secundária. Dependendo do tamanho do banco de dados e da velocidade da rede, o banco de dados pode inicialmente estar em um estado de Restauração na réplica secundária. Após concluir a propagação inicial, o banco de dados é restaurado para a instância gerenciada e está pronto para cargas de trabalho em uma versão somente leitura.

Em qualquer réplica, use o Pesquisador de Objetos no SSMS para exibir o estado Sincronizado do banco de dados replicado. Expanda Alta Disponibilidade Always On e Grupos de Disponibilidade para visualizar o grupo de disponibilidade distribuído criado para cada link.

Captura de tela que mostra o estado do banco de dados SQL Server e do grupo de disponibilidade distribuído em S S M S.Captura de tela que mostra o estado do banco de dados de Instância Gerenciada de SQL e do grupo de disponibilidade distribuído.

Independentemente de qual instância é primária, você também pode clicar com o botão direito do mouse no grupo de disponibilidade distribuído vinculado no SQL Server e selecionar Mostrar Painel para exibir o painel do grupo de disponibilidade distribuído, que mostra o status do banco de dados vinculado no grupo.

Parar carga de trabalho

Ao estar tudo certo para migrar ou fazer failover do seu banco de dados para a réplica secundária, primeiro interrompa todas as cargas de trabalho de aplicativos na réplica primária durante suas horas de manutenção. Isso permite que a replicação de banco de dados alcance a réplica secundária para que você possa migrar ou fazer failover para o Azure sem perda de dados. É necessário garantir que os aplicativos não estejam realizando transações na réplica primária antes do failover.

Fazer failover de um banco de dados

Utilize o assistente de Failover entre o SQL Server e a Instância Gerenciada no SSMS para fazer failover do banco de dados da réplica primária para a secundária.

É possível fazer um failover planejado a partir da réplica primária ou secundária. Para fazer um failover forçado, conecte-se à réplica secundária.

Cuidado

  • Antes de fazer failover, interrompa a carga de trabalho no banco de dados de origem para permitir que o banco de dados replicado alcance completamente e fazer failover sem perda de dados. Se você estiver executando um failover forçado, os dados podem ser perdidos.
  • O failover de um banco de dados no SQL Server 2019 e em versões anteriores quebra e remove o link entre as duas réplicas. Não é possível realizar o failback para a primária inicial.
  • O failover de um banco de dados ao manter o vínculo com o SQL Server 2022 está, atualmente, em versão prévia.

Para fazer failover do banco de dados, siga estas etapas:

  1. Abra o SSMS e conecte-se a qualquer réplica.

  2. No Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados replicado, passe o mouse sobre o link da Instância Gerenciada de SQL do Azure e selecione Fazer failover para abrir o assistente de Failover dentre o SQL Server e a Instância Gerenciada. Se houver vários links do mesmo banco de dados, é necessário expandir Grupos de Disponibilidade em Grupos de Disponibilidade Sempre Ativos no Pesquisador de Objetos e clicar com o botão direito no grupo de disponibilidade distribuído para o link desejado para fazer failover. Selecione Failover... para abrir o assistente de Failover entre o SQL Server e a Instância Gerenciada para o link específico.

    Captura de tela que mostra a opção do menu de contexto de failover de um banco de dados.

  3. Na página Introdução, selecione Avançar.

  4. A página Escolher tipo de failover mostra detalhes sobre cada réplica, a função do banco de dados selecionado e os tipos de failover com suporte. Você pode iniciar o failover a partir de qualquer réplica. Caso haja a escolha de um failover forçado, é necessário marcar a caixa para indicar que entende que pode haver perda de dados em potencial. Selecione Avançar.

  5. Na página Logon no Azure e Instância Remota, selecione Entrar para fornecer suas credenciais e entrar em sua conta do Azure. Selecione Logon para entrar na réplica secundária do SQL Server ou da Instância Gerenciada do SQL, caso seja solicitado.

  6. Na página Operações Pós-Failover, as opções diferem entre o SQL Server 2022 e versões anteriores.

    1. No SQL Server 2022, você pode optar por interromper a replicação entre as réplicas, excluir o link e o grupo de disponibilidade distribuído após a conclusão do failover. É possível manter o link e continuar replicando dados entre réplicas. Neste caso, deixe a caixa desmarcada. Também é possível optar por descartar o link. Neste caso, poderá marcar a caixa para descartar o grupo de disponibilidade se o tiver criado exclusivamente com a finalidade de replicar seu banco de dados para o Azure e não precisar mais dele. Marque as caixas que se ajustam ao seu cenário e selecione Avançar.
    2. Para o SQL Server 2019 e versões anteriores, a opção Remover o link é marcada por padrão e você não pode desmarcá-lo, pois o failover para a Instância Gerenciada do SQL interrompe a replicação, quebra o link e descarta o grupo de disponibilidade distribuído. Marque a caixa para indicar que você entende que o link será descartado e selecione Avançar.
  7. Na página Resumo, revise as ações. Opcionalmente, selecione Script para gerar um script, permitindo que fazer failover facilmente do banco de dados usando o mesmo link no futuro. Quando estiver pronto para prosseguir com o failover do banco de dados, selecione Concluir.

  8. Após a conclusão de todas as etapas, a página resultados mostrará as marcas de seleção ao lado das ações concluídas com êxito. Agora você pode fechar a janela.

Se você optar por manter o link para o SQL Server 2022, a secundária se tornará a nova primária, o link ainda estará ativo e você poderá fazer o failback para a secundária.

Se você estiver no SQL Server 2019 e em versões anteriores, ou se optar por descartar o link para o SQL Server 2022, o link será descartado e não existirá mais após a conclusão do failover. O banco de dados de origem e o banco de dados de destino em cada réplica podem executar uma carga de trabalho de leitura/escrita. Eles são completamente independentes.

Importante

Após o failover bem-sucedido para a Instância Gerenciada de SQL, reencaminhe manualmente a cadeia de conexão da aplicação para o FQDN da Instância Gerenciada de SQL para concluir o processo de migração ou falha e continuar executando no Azure.

Ver banco de dados após failover

Para o SQL Server 2022, se optar por manter o vínculo, é possível verificar o banco de dados no Pesquisador de Objetos no SQL Server ou na Instância Gerenciada do SQL. O status do banco de dados é Sincronizado e o grupo de disponibilidade distribuída em Grupos de Disponibilidade existe.

Se você descartou o link durante o failover, poderá usar o Pesquisador de Objetos para confirmar que o grupo de disponibilidade distribuída não existe mais, mas se optar por manter o grupo de disponibilidade, o banco de dados ainda será Sincronizado.

Solucionar problemas

Esta seção fornece orientações para lidar com problemas na configuração e uso do link.

Erros

Se você encontrar uma mensagem de erro ao criar o link ou fazer failover de um banco de dados, selecione o erro para abrir uma janela com detalhes adicionais sobre o erro.

Se você encontrar um erro ao trabalhar com o link, o assistente do SSMS interromperá a execução na etapa que falhou e não poderá ser reiniciado novamente. Resolva o problema e, se necessário, limpe o ambiente para reverter ao estado original removendo o grupo de disponibilidade distribuída e o grupo de disponibilidade, se ele tiver sido criado durante a configuração do link. Em seguida, inicie o assistente novamente para recomeçar.

Estado inconsistente após failover forçado

O uso de failover forçado pode resultar em um estado inconsistente entre as réplicas primária e secundária, causando um cenário de split brain em que ambas as réplicas estão na mesma função. A replicação de dados falhará nesse estado até que o usuário resolva a situação designando manualmente uma réplica como primária e a outra como secundária.

Para obter mais informações sobre o recurso de link, veja os seguintes artigos: