Visão geral do link da Instância Gerenciada

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

Este artigo fornece uma visão geral do recurso de link da Instância Gerenciada que permite a replicação de dados quase em tempo real entre o SQL Server e a Instância Gerenciada de SQL do Azure. O link fornece flexibilidade híbrida e mobilidade de banco de dados, pois desbloqueia vários cenários, como dimensionamento de cargas de trabalho somente leitura, descarregamento de análises e relatórios para o Azure, e migração para o Azure. E, com o SQL Server 2022, o link possibilita a recuperação de desastres online com failback para o SQL Server (atualmente em visualização), bem como a configuração do link da Instância Gerenciada de SQL para o SQL Server 2022 (também em visualização).

Visão geral

O link Instância Gerenciada usa grupos de disponibilidade distribuídos para expandir seu conjunto de dados de maneira segura, replicando dados quase em tempo real do SQL Server hospedado em qualquer lugar para a Instância Gerenciada de SQL do Azure, ou da Instância Gerenciada de SQL do Azure para o SQL Server 2022 hospedado em qualquer lugar.

O link dá suporte a instâncias do SQL Server de nó único e de vários nós, com ou sem grupos de disponibilidade existentes. Por meio do link, você pode aproveitar os benefícios do Azure sem migrar o acervo de dados do SQL Server para a nuvem.

Embora o link dê suporte à replicação de um banco de dados por link, é possível replicar vários bancos de dados de uma única instância do SQL Server para uma ou mais instâncias gerenciadas do SQL, ou replicar o mesmo banco de dados para várias instâncias gerenciadas do SQL, configurando vários links, um para cada par de banco de dados e instância gerenciada.

Atualmente, o recurso de link oferece a seguinte funcionalidade:

  • Replicação unidirecional a partir das versões do SQL Server 2016 e 2019: use a funcionalidade de link para replicar dados unidirecionais de uma instância SQL para uma Instância Gerenciada de SQL do Azure. Embora você possa fazer failover manualmente para sua instância gerenciada no caso de um desastre, isso interrompe o link e não há suporte para failback.
  • Recuperação de desastre (SQL Server 2022): use o recurso de link para replicar dados entre o SQL Server 2022 e a Instância Gerenciada de SQL, faça failover manualmente para sua secundária durante um desastre, e faça failback para a sua primária depois de atenuar o desastre. O SQL Server e a Instância Gerenciada de SQL podem ser a primária inicial. Esse recurso está atualmente na visualização.

Você pode continuar executando o link pelo tempo necessário, por meses e até anos por vez. E para sua jornada de modernização, se ou quando você estiver pronto para migrar para o Azure, o link permite uma experiência de migração consideravelmente aprimorada. A migração por meio do link oferece tempo de inatividade mínimo em comparação com todas as outras opções de migração disponíveis, fornecendo uma verdadeira migração online para sua Instância Gerenciada de SQL.

Os bancos de dados que são replicados por meio do link entre o SQL Server e a Instância Gerenciada de SQL do Azure podem ser usados para vários cenários, como:

  • Recuperação de desastre
  • Usar os serviços do Azure sem migrar para a nuvem
  • Descarregar cargas de trabalho somente leitura para o Azure
  • Migrar para o Azure
  • Copiando dados no local

Diagrama que ilustra o cenário principal do link da Instância Gerenciada.

Suporte de versões

Há suporte para o link de Instância Gerenciada na camada de serviço Uso Geral e Comercialmente Crítico da Instância Gerenciada do Banco de Dados SQL do Azure. O recurso de link funciona com as edições Enterprise, Developer e Standard do SQL Server.

A seguinte tabela lista a funcionalidade do recurso de link e as versões mínimas do SQL Server com suporte:

Versão primária inicial OS (sistema operacional) Replicação unidirecional Opções de recuperação de desastre Requisito de atualização de manutenção
Instância Gerenciada do Azure SQL Windows Server e Linux Visualizar Prévia bidirecional SQL Server 2022 CU10 (KB5031778)1
SQL Server 2022 (16.x) Windows Server e Linux Disponível para o público geral Bidirecional:
Offline (disponível para o público geral)
Online (prévia)
SQL Server 2022 RTM
SQL Server 2019 (15.x) Windows Server apenas Disponível para o público geral Do SQL Server para o SQL MI somente SQL Server CU20 2019 (KB5024276)
SQL Server 2017 (14.x) N/D N/D N/D N/D
SQL Server 2016 (13.x) Windows Server apenas Disponível para o público geral Do SQL Server para o SQL MI somente SQL Server 2016 SP3 (KB 5003279) e SQL Server 2016 Azure Connect pack (KB 5014242)

1 Embora a criação de um link com o SQL Server 2022 como primário inicial tenha suporte a partir da versão RTM do SQL Server 2022, a criação de um link com a Instância Gerenciada de SQL do Azure como o primário inicial tem suporte a partir do SQL Server 2022 CU10. Se você criar o link a partir de uma Instância Gerenciada de SQL como primário inicial, o downgrade do SQL Server abaixo de CU10 não terá suporte enquanto o link estiver ativo, pois pode causar problemas após o failover em qualquer direção.

Não há suporte para as versões do SQL Server anteriores à 2016 (SQL Server 2008 – 2014), pois o recurso de link depende da tecnologia de grupo de disponibilidade distribuído, que foi introduzida no SQL Server 2016.

Além da versão com suporte do SQL Server, você precisará do seguinte:

  • Conectividade de rede entre sua instância do SQL Server e sua instância gerenciada. Se o SQL Server estiver em execução no local, use um link VPN ou o Azure ExpressRoute. Se o SQL Server estiver em execução em uma VM (máquina virtual) do Azure, implante sua VM na mesma rede virtual que sua instância gerenciada ou use o emparelhamento de rede virtual para conectar as duas sub-redes separadas.
  • Uma implantação da Instância Gerenciada de SQL do Azure provisionada para qualquer nível de serviço.

As seguintes ferramentas também são necessárias:

Ferramenta Observações
SSMS 19.2 ou posterior O SSMS (SQL Server Management Studio) é a maneira mais fácil de usar o link da Instância Gerenciada, pois fornece assistentes que automatizam a configuração do link.
Az.SQL 3.9.0 ou posterior Um módulo do PowerShell é necessário para as etapas de configuração manual.

Observação

O recurso de link da Instância Gerenciada está disponível em todas as regiões públicas do Azure e nas nuvens nacionais ou governamentais.

A tecnologia subjacente por trás do recurso de link da Instância Gerenciada de SQL é baseada na criação de um grupo de disponibilidade distribuído entre o SQL Server e a Instância Gerenciada de SQL do Azure. A solução dá suporte a sistemas de nó único com ou sem grupos de disponibilidade existentes ou sistemas de vários nós com grupos de disponibilidade existentes.

Diagrama que mostra como funciona o recurso de link da Instância Gerenciada de SQL usando a tecnologia de grupo de disponibilidade distribuída.

A conectividade privada, como um VPN ou Azure ExpressRoute, é usada entre uma rede local e o Azure. Se o SQL Server estiver hospedado em uma VM do Azure, o backbone interno do Azure poderá ser usado entre a VM e a instância gerenciada, como o emparelhamento de rede virtual. A confiança entre os dois sistemas é estabelecida usando a autenticação baseada em certificado, no qual o SQL Server e a Instância Gerenciada de SQL trocam as chaves públicas de seus respectivos certificados.

Pode existir até 100 links da mesma ou de várias fontes do SQL Server para uma única Instância Gerenciada de SQL do Azure. Esse limite é regido pelo número de bancos de dados que podem ser hospedados em uma instância gerenciada ao mesmo tempo. Assim, uma única Instância do SQL Server pode estabelecer vários links de sincronização de banco de dados paralelos com várias instâncias gerenciadas em diferentes regiões do Azure em uma relação de 1 para 1 entre um banco de dados e uma instância gerenciada.

Para ajudar você a configurar o ambiente inicial, revise o guia para preparar seu ambiente do SQL Server para usar o recurso de link com a Instância Gerenciada de SQL:

Depois de garantir que os requisitos iniciais de ambiente foram atendidos, você pode criar o link usando o assistente automatizado no SSMS (SQL Server Management Studio) ou pode optar por configurar o link manualmente usando scripts:

Depois de criar o link, siga as práticas recomendadas para manter o link:

Recuperação de desastre

O link da Instância Gerenciada possibilita a recuperação de desastre, onde, em caso de desastre, você pode fazer failover manualmente da carga de trabalho do primário para o secundário. Para começar, consulte Recuperação de desastres com o link da Instância Gerenciada.

Com o SQL Server 2016 e o SQL Server 2019, o primário é sempre o SQL Server e o failover para a instância gerenciada secundária é unidirecional. Não há suporte para a realização de failback para o SQL Server. Porém, é possível recuperar os seus dados para o SQL Server ao usar opções de movimentação de dados, como replicação transacional ou exportar um arquivo bacpac.

Com o SQL Server 2022, o SQL Server ou a Instância Gerenciada de SQL podem ser o primário inicial, e você pode estabelecer o link a partir do SQL Server ou da Instância Gerenciada de SQL. Você pode fazer failback de suas cargas de trabalho entre o primário e o secundário, alcançando uma verdadeira recuperação de desastres bidirecional.

Ao fazer o failback para o SQL Server, você pode escolher fazer o failback:

  • online, ao usar diretamente o link da Instância Gerenciada. Esta opção ainda está em versão prévia.
  • offline ao realizar um backup do banco de dados da Instância Gerenciada de SQL e restaurá-lo para a instância do SQL Server 2022. Essa opção está em disponibilidade geral.

Diagrama que mostra o cenário de recuperação de desastre.

Usar serviços do Azure

Use o recurso de link para aproveitar os serviços do Azure usando dados do SQL Server sem migrar para a nuvem. Os exemplos incluem relatórios, análises, backups, aprendizado de máquina e outros trabalhos que enviam dados para o Azure.

Descarregar cargas de trabalho no Azure

Você também pode usar o recurso de link para descarregar cargas de trabalho no Azure. Por exemplo, um aplicativo pode usar o SQL Server para cargas de trabalho de leitura/gravação, ao passo que descarrega cargas de trabalho somente leitura nas implantações da Instância Gerenciada de SQL em qualquer região do Azure em todo o mundo. Depois que o link for estabelecido, o banco de dados primário no SQL Server será acessível para leitura/gravação, enquanto os dados replicados para sua instância gerenciada no Azure são acessíveis como somente leitura. Esse arranjo permite vários cenários em que os bancos de dados replicados na sua instância gerenciada podem ser usados para a expansão de leitura e o descarregamento de cargas de trabalho somente leitura no Azure. Em paralelo, sua instância gerenciada também pode hospedar bancos de dados de leitura/gravação independentes. Isso permite copiar o banco de dados replicado em outro banco de dados de leitura/gravação na mesma instância gerenciada para processamento de dados adicionais.

O link tem o escopo do banco de dados (um link por um banco de dados), permitindo a consolidação e a não consolidação de cargas de trabalho no Azure. Por exemplo, você pode replicar bancos de dados de várias instâncias do SQL Server para uma única implantação da Instância Gerenciada de SQL no Azure (consolidação) ou pode replicar bancos de dados de uma única Instância de SQL Server para várias instâncias gerenciadas por meio de uma relação de 1 para 1 entre um banco de dados e uma instância gerenciada e qualquer uma das regiões do Azure em todo o mundo (não consolidação). A não consolidação fornece uma maneira eficiente de rapidamente levar suas cargas de trabalho para seus clientes em qualquer região do mundo e você pode usá-las como réplicas somente leitura.

Migrar para o Azure

O recurso de link também facilita a migração do SQL Server para a Instância Gerenciada de SQL, permitindo:

  • A migração com melhor desempenho em tempo de inatividade comparado a todas as outras soluções disponíveis hoje.
  • Migração online verdadeira para a Instância Gerenciada de SQL em qualquer camada de serviço.

Como o recurso de link permite migração com tempo de inatividade mínimo, você pode migrar para sua instância gerenciada enquanto mantém sua carga de trabalho principal online. Embora atualmente seja possível realizar migrações online para a camada de serviço Uso Geral com outras soluções, o recurso de link é a única solução que permite verdadeiras migrações online para a camada Comercialmente Crítico.

Copiar Dados no local

Com o SQL Server 2022, você pode estabelecer seu link da Instância Gerenciada de SQL para o SQL Server, desbloqueando cenários adicionais, como criar uma réplica de banco de dados quase em tempo real fora do Azure, testar planos de continuidade dos negócios e atender aos requisitos de conformidade. O estabelecimento de um link da Instância Gerenciada de SQL para o SQL Server 2022 está atualmente em versão prévia.

Backups automatizados

Depois que seus bancos de dados são replicados para sua Instância Gerenciada de SQL do Azure, eles são automaticamente copiados para o armazenamento do Azure. Você pode reduzir o gerenciamento local e os custos de operação, aproveitando a confiabilidade dos backups do Azure para seus bancos de dados replicados. Em seguida, você pode executar uma restauração pontual do banco de dados replicado para qualquer implantação da Instância Gerenciada de SQL na mesma região, como acontece com qualquer outro backup automatizado.

Réplica de DR passiva sem licença

Você pode poupar nos custos de licenciamento do vCore se ativar o benefício de failover híbrido para recuperação de desastre passiva secundária apenas em instâncias gerenciadas por SQL que não têm cargas de trabalho.

Para começar, consulte Réplica passiva sem licença.

Benefício de custo

Se você designar uma réplica de instância gerenciada apenas para recuperação de desastre, a Microsoft não cobrará os custos de licenciamento do SQL Server pelos vCores usados pela instância secundária. Lembre-se de que a instância é cobrada por uma granularidade de hora, e você ainda pode ser cobrado pelos custos de licenciamento por uma hora inteira se atualizar o benefício de licenciamento durante a hora.

O benefício reflete de forma diferente para o modelo de cobrança pré-pago e o Benefício Híbrido do Azure. Para um modelo de cobrança pré-pago, os vCores são descontados na sua fatura. Se você usar o Benefício Híbrido do Azure para a réplica passiva, o número de vCores que a réplica secundária usa é retornado ao seu pool de licenciamento.

Por exemplo, como um cliente pré-pago, se você tiver 16 vCores atribuídos à instância secundária, um desconto de 16 vCores aparecerá em sua fatura se você designar sua instância secundária para failover híbrido.

Em outro exemplo, se você tiver 16 licenças de Benefício Híbrido do Azure e sua Instância Gerenciada de SQL secundária usar 8 vCores, depois que você designar a instância secundária para failover híbrido, 8 vCores são devolvidos ao seu pool de licença para usar com com outras implantações do SQL do Azure.

Para obter termos e condições precisos do benefício dos direitos de failover híbrido, consulte os termos de licenciamento do SQL Server online na seção "SQL Server: direitos de failover".

Limitações

Considere as limitações a seguir ao usar o link.

As limitações de capacidade de suporte de versões incluem:

  • Você não pode usar clientes Windows 10 e 11 para hospedar sua instância do SQL Server, pois não é possível habilitar o recurso de grupo de disponibilidade Always On necessário para o link. As instâncias do SQL Server devem ser hospedadas no Windows Server 2012 ou posterior.
  • Não há suporte para as versões do SQL Server 2008 a 2014 pelo recurso de link, pois o mecanismo SQL dessas versões não tem suporte interno para grupos de disponibilidade distribuídos necessários para o link. Atualize para uma versão mais recente do SQL Server para usar o link.
  • Há suporte para estabelecer um link da Instância Gerenciada de SQL para o SQL Server apenas com o SQL Server 2022.

As limitações de replicação de dados incluem:

  • Somente bancos de dados de usuários podem ser replicados. Não há suporte para a replicação de bancos de dados do sistema.
  • A solução não replica objetos de nível de servidor, trabalhos de agente ou logons de usuário de SQL Server para a Instância Gerenciada de SQL.
  • No SQL Server versões 2016 e 2019, a replicação dos bancos de dados de usuário das instâncias do SQL Server para as implantações da Instância Gerenciada de SQL é unidirecional. Os bancos de dados de usuário das implantações da Instância Gerenciada de SQL não podem ser replicados de volta para as instâncias do SQL Server. A replicação bidirecional com failback para a Instância do SQL Server só está disponível para o SQL Server 2022.
  • A configuração de um link da Instância Gerenciada de SQL para o SQL Server em um banco de dados não tem suporte para bancos de dados da Instância Gerenciada de SQL que já estão vinculados.

As limitações de configuração incluem:

  • Se houver várias instâncias do SQL Server em um servidor, será possível configurar um link com cada instância, mas cada instância precisa ser configurada para usar um ponto de extremidade de espelhamento de banco de dados separado com uma porta dedicada por instância. Somente a instância padrão deve usar a porta 5022 para o ponto de extremidade de espelhamento de banco de dados.
  • Somente um banco de dados pode ser colocado em um só grupo de disponibilidade por link da Instância Gerenciada. No entanto, é possível replicar vários bancos de dados em uma única instância do SQL Server estabelecendo vários links.
  • Uma única instância gerenciada dá suporte a até 100 links de várias instâncias do SQL Server.
  • Um link da Instância Gerenciada pode replicar um banco de dados de qualquer tamanho se ele se ajustar ao tamanho do armazenamento escolhido da implantação da Instância Gerenciada de SQL de destino.
  • A autenticação do link da Instância Gerenciada entre o SQL Server e a Instância Gerenciada de SQL é baseada em certificado, disponível somente por meio de uma troca de certificados. Não há suporte para o uso da autenticação do Windows para estabelecer o link entre a instância do SQL Server e a instância gerenciada.
  • Apenas o ponto de extremidade de VNet local tem suporte para estabelecimento de um link com a Instância Gerenciada de SQL.
  • Não é possível usar um ponto de extremidade público para estabelecer o link com a instância gerenciada.
  • Bancos de dados com vários arquivos de log não podem ser replicados, pois a Instância Gerenciada de SQL não dá suporte a vários arquivos de log.

As limitações de recursos incluem:

  • Não há suporte para grupos de failover com instâncias que usam o recurso de link. Não é possível estabelecer um link em uma instância gerenciada que faça parte de um grupo de failover e, por outro lado, não é possível configurar um grupo de failover automático em uma instância que tenha um link estabelecido.
  • Se você estiver usando a CDA (captura de dados de alterações), o envio de logs ou um agente de serviços com bancos de dados replicados na instância do SQL Server, quando o banco de dados for migrado para uma implantação da Instância Gerenciada de SQL, durante um failover para o Azure, os clientes precisarão se conectar usando o nome da instância da réplica primária global atual. Essas configurações devem ser reconfiguradas manualmente.
  • Se você estiver usando a replicação transacional com um banco de dados em uma instância do SQL Server em um cenário de migração, durante o failover para o Azure, a replicação transacional na implantação da SQL Managed Instance falhará e deverá ser reconfigurada manualmente.
  • Se você estiver usando transações distribuídas com um banco de dados replicado da instância do SQL Server e, em um cenário de migração, na transição para a nuvem, as funcionalidades do Coordenador de Transações Distribuídas não serão transferidas. Não é possível que o banco de dados migrado se envolva em transações distribuídas com a instância do SQL Server, pois a implantação da Instância Gerenciada de SQL não oferece suporte a transações distribuídas com o SQL Server no momento. Para referência, a Instância Gerenciada de SQL hoje oferece suporte a transações distribuídas apenas entre outras instâncias gerenciadas. Para obter mais informações, confira Transações distribuídas entre bancos de dados na nuvem.
  • Se você estiver usando o TDE (Transparent Data Encryption) para criptografar bancos de dados SQL Server, a chave de criptografia de banco de dados do SQL Server precisará ser exportada e carregada no Azure Key Vault. Você também precisará configurar a opção TDE BYOK na Instância Gerenciada de SQL antes de criar o link.
  • Os bancos de dados da Instância Gerenciada de SQL criptografados com chaves TDE gerenciadas pelo serviço não podem ser vinculados ao SQL Server. Você só poderá vincular um banco de dados criptografado no SQL Server se ele tiver sido criptografado com uma chave gerenciada pelo cliente e o servidor de destino tiver acesso à mesma chave usada para criptografar o banco de dados. Para obter mais informações, confira Configurar SQL Server TDE com o Azure Key Vault.
  • Você não pode estabelecer um link entre o SQL Server e a Instância Gerenciada de SQL se a funcionalidade usada na instância do SQL Server não tiver suporte na instância gerenciada. Por exemplo:
    • Bancos de dados com tabelas de arquivos e fluxos de arquivos não podem ser replicados, pois a Instância Gerenciada de SQL não dá suporte a tabelas de arquivos ou fluxos de arquivos.
    • Os bancos de dados que usam OLTP In-Memory podem ser replicados apenas para a Instância Gerenciada de SQL na camada de serviço Comercialmente Crítico, pois a camada de serviço Uso Geral não dá suporte a OLTP In-Memory. Bancos de dados com vários arquivos OLTP in-memory não têm suporte na Instância Gerenciada de SQL e não podem ser replicados.

Ao tentar adicionar uma funcionalidade sem suporte a um banco de dados replicado no:

  • SQL Server 2019 e 2022, ocorre um erro.
  • SQL Server 2016, resulta em link corrompido, que precisa ser excluído e recriado.

Para ver a lista completa das diferenças entre o SQL Server e a Instância Gerenciada de SQL, confira Diferenças de T-SQL entre o SQL Server e a Instância Gerenciada de SQL do Azure.

Para outros cenários de replicação e migração, considere: