Partilhar via


Preparar seu ambiente para um link - Instância Gerenciada SQL do Azure

Aplica-se a:Azure SQL Managed Instance

Este artigo ensina como preparar o seu ambiente para um link de Instância Gerenciada , para que você possa replicar entre o SQL Server instalado no Windows ou Linux e a Azure SQL Managed Instance.

Observação

Você pode automatizar a preparação do ambiente para o link da Instância Gerenciada usando um script disponível para download. Para mais informações, consulte o blog Automatização de configuração de links.

Pré-requisitos

Para criar um link entre o SQL Server e a Instância Gerenciada SQL do Azure, você precisa dos seguintes pré-requisitos:

  • Uma assinatura ativa do Azure. Se tu não tiveres uma, cria uma conta gratuita.
  • Uma versão com suporte do SQL Server com a atualização de serviço necessária.
  • Instância Gerenciada SQL do Azure. Comece agora se não tiver um.
  • Um servidor que você pretende que seja o primário inicial. Essa escolha determina de onde você deve criar o link.
    • A configuração de um link de uma instância gerenciada do SQL primária para uma secundária do SQL Server 2025 só é suportada se as instâncias gerenciadas do SQL estiverem configuradas com a política de atualização do SQL Server 2025.
    • A configuração de um link de uma Instância Gerenciada do SQL primária para uma secundária do SQL Server 2022 só é suportada a partir do SQL Server 2022 CU10 e das instâncias gerenciadas do SQL configuradas com a política de atualização do SQL Server 2022.

Atenção

Ao criar a sua instância gerida de SQL para usar com a função de ligação, leve em consideração os requisitos de memória para qualquer funcionalidade OLTP In-Memory utilizada pelo SQL Server. Para obter mais informações, consulte Visão geral dos limites de recursos da Instância Gerenciada SQL do Azure .

Permissões

Para o SQL Server, você deve ter permissões de sysadmin.

Para a Instância Gerida SQL do Azure, deve ser membro do Colaborador da Instância Gerida SQLou ter as seguintes permissões para uma função personalizada:

Recurso Microsoft.Sql/ Permissões necessárias
Microsoft.Sql/managedInstances /ler, /escrever
Microsoft.Sql/managedInstances/hybridCertificate /ação
Microsoft.Sql/managedInstances/databases /ler, /apagar, /escrever, /concluirRestauro/ação, /lerCópiasSegurança/ação, /detalhesRestauro/ler
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /ler, /escrever, /apagar, /definirFunção/ação
Microsoft.Sql/managedInstances/endpointCertificates /ler
Microsoft.Sql/managedInstances/hybridLink /ler, /escrever, /excluir
Microsoft.Sql/managedInstances/serverTrustCertificates /escrever, /apagar, /ler

Preparar sua instância do SQL Server

Para preparar sua instância do SQL Server, você precisa validar que:

Você precisa reiniciar o SQL Server para que essas alterações entrem em vigor.

Instalar atualizações de serviço

Verifique se sua versão do SQL Server tem a atualização de serviço apropriada instalada, conforme listado na tabela de suporte da versão . Se precisar instalar atualizações, reinicie a instância do SQL Server durante a atualização.

Para verificar sua versão do SQL Server, execute o seguinte script Transact-SQL (T-SQL) no SQL Server:

-- Run on SQL Server
-- Shows the version and CU of the SQL Server
USE master;
GO
SELECT @@VERSION as 'SQL Server version';

Criar uma chave mestra de banco de dados no banco de dados mestre

A ligação utiliza certificados para encriptar autenticação e comunicação entre SQL Server e SQL Managed Instance. A chave mestra da base de dados protege os certificados usados pela ligação. Se já tiveres uma chave mestra de base de dados, podes saltar este passo.

Crie a chave mestra na base de dados master. Insira sua senha no lugar de <strong_password> no script a seguir e mantenha-a em um local confidencial e seguro. Execute este script T-SQL no SQL Server:

-- Run on SQL Server
-- Create a master key
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<strong_password>';

Para certificar-se de que você tem a chave mestra do banco de dados, use o seguinte script T-SQL no SQL Server:

-- Run on SQL Server
USE master;
GO
SELECT * FROM sys.symmetric_keys WHERE name LIKE '%DatabaseMasterKey%';

Habilitar grupos de disponibilidade

O recurso de link depende do recurso de grupos de disponibilidade Always On, que é desabilitado por padrão. Para obter mais informações, consulte Habilitar o recurso de grupos de disponibilidade Always On.

Observação

Para SQL Server no Linux, consulte Habilitar grupos de disponibilidade Always On.

Para confirmar se o recurso de grupos de disponibilidade está habilitado, execute o seguinte script T-SQL no SQL Server:

-- Run on SQL Server
-- Is the availability groups feature enabled on this SQL Server
DECLARE @IsHadrEnabled sql_variant = (select SERVERPROPERTY('IsHadrEnabled'))
SELECT
    @IsHadrEnabled as 'Is HADR enabled',
    CASE @IsHadrEnabled
        WHEN 0 THEN 'Availability groups DISABLED.'
        WHEN 1 THEN 'Availability groups ENABLED.'
        ELSE 'Unknown status.'
    END
    as 'HADR status'

Importante

Para o SQL Server 2016 (13.x), se você precisar habilitar o recurso de grupos de disponibilidade, deverá concluir as etapas adicionais documentadas no link Preparar pré-requisitos do SQL Server 2016 - Instância Gerenciada do SQL do Azure. Estes passos extra não são necessários para o SQL Server 2017 (14.x) e versões posteriores suportadas pelo link.

Se o recurso de grupos de disponibilidade não estiver habilitado, siga estas etapas para habilitá-lo:

  1. Abra SQL Server Configuration Manager.

  2. Selecione Serviços do SQL Server no painel esquerdo.

  3. Clique com o botão direito do mouse no serviço SQL Server e selecione Propriedades.

    Captura de tela que mostra o SQL Server Configuration Manager, com seleções para abrir propriedades para o serviço.

  4. Vá para a aba Always On Availability Groups.

  5. Marque a caixa de seleção Ativar grupos de disponibilidade Always On e selecione OK.

    Captura de tela que mostra as propriedades dos grupos de disponibilidade Always On.

  6. Selecione OK na caixa de diálogo.

  7. Reinicie o serviço SQL Server.

Ativar sinalizadores de rastreamento de inicialização

Para otimizar o desempenho do seu link, recomendamos ativar os seguintes sinalizadores de rastreamento na inicialização:

  • -T1800: Esse sinalizador de rastreamento otimiza o desempenho quando os arquivos de log das réplicas primária e secundária em um grupo de disponibilidade são hospedados em discos com tamanhos de setor diferentes, como 512 bytes e 4 KB. Se as réplicas primária e secundária tiverem um tamanho de setor de disco de 4 KB, esse sinalizador de rastreamento não será necessário. Para obter mais informações, consulte KB3009974.
  • -T9567: Este sinalizador de rastreamento permite a compactação do fluxo de dados para grupos de disponibilidade durante a propagação automática. A compressão aumenta a carga no processador, mas pode reduzir significativamente o tempo de transferência durante o seeding.

Observação

Para SQL Server no Linux, consulte Habilitar sinalizadores de rastreamento.

Para habilitar esses sinalizadores de rastreamento na inicialização, use as seguintes etapas:

  1. Abra o SQL Server Configuration Manager.

  2. Selecione Serviços do SQL Server no painel esquerdo.

  3. Clique com o botão direito do mouse no serviço SQL Server e selecione Propriedades.

    Captura de tela que mostra o SQL Server Configuration Manager.

  4. Vá para a guia Parâmetros de inicialização. Em Especifique um parâmetro de inicialização, digite e selecione Adicionar para adicionar o parâmetro de inicialização. Em seguida, digite -T9567 e selecione Adicionar para adicionar o outro sinalizador de rastreamento. Selecione Aplicar para salvar as alterações.

    Captura de tela que mostra as propriedades do parâmetro de inicialização.

  5. Selecione OK para fechar a janela Propriedades.

Para obter mais informações, consulte a sintaxe para habilitar sinalizadores de rastreamento.

Reinicie o SQL Server e valide a configuração

Depois de garantir que você está em uma versão com suporte do SQL Server, habilitar o recurso Grupos de disponibilidade Always On e adicionar seus sinalizadores de rastreamento de inicialização, reinicie a instância do SQL Server para aplicar todas estas alterações:

  1. Abra SQL Server Configuration Manager.

  2. Selecione Serviços do SQL Server no painel esquerdo.

  3. Clique com o botão direito do mouse no serviço SQL Server e selecione Reiniciar.

    Captura de tela que mostra a chamada de comando de reinicialização do SQL Server.

Após a reinicialização, execute o seguinte script T-SQL no SQL Server para validar a configuração da sua instância do SQL Server:

-- Run on SQL Server
-- Shows the version and CU of SQL Server
USE master;
GO
SELECT @@VERSION as 'SQL Server version';
GO
-- Shows if the Always On availability groups feature is enabled
SELECT SERVERPROPERTY ('IsHadrEnabled') as 'Is Always On enabled? (1 true, 0 false)';
GO
-- Lists all trace flags enabled on SQL Server
DBCC TRACESTATUS;

Sua versão do SQL Server deve ser uma das versões com suporte aplicadas com as atualizações de serviço apropriadas, o recurso de grupos de disponibilidade Always On deve estar habilitado e você deve ter os sinalizadores de rastreamento -T1800 e -T9567 habilitados. A captura de tela a seguir é um exemplo do resultado esperado para uma instância do SQL Server configurada corretamente:

Captura de tela que mostra o resultado esperado no SSMS.

Configurar a conectividade de rede

Para que o link funcione, você deve ter conectividade de rede entre o SQL Server e a Instância Gerenciada do SQL. A opção de rede escolhida depende se sua instância do SQL Server está ou não em uma rede do Azure.

SQL Server em Máquinas Virtuais do Azure

Implementar SQL Server em Máquinas Virtuais Azure na mesma rede virtual Azure que aloja a Instância Gerida SQL é o método mais simples, porque a conectividade de rede existe automaticamente entre as duas instâncias. Para obter mais informações, consulte Guia de início rápido: configurar uma VM do Azure para se conectar à Instância Gerenciada SQL do Azure.

Se a sua instância SQL Server no Azure Virtual Machines estiver numa rede virtual diferente da sua instância gerida por SQL, precisa de ligar as duas redes virtuais. As redes virtuais não precisam de estar na mesma subscrição para que este cenário funcione.

Existem duas opções para ligar redes virtuais:

O peering é preferível porque utiliza a rede de backbone da Microsoft. Assim, do ponto de vista da conectividade, não há diferença notória na latência entre máquinas virtuais numa rede virtual peered e na mesma rede virtual. O peering de redes virtuais é permitido entre redes na mesma região. O emparelhamento de rede virtual global é suportado para instâncias hospedadas em sub-redes que foram criadas após 22 de setembro de 2020. Para obter mais informações, consulte Perguntas frequentes (FAQ).

SQL Server fora do Azure

Se sua instância do SQL Server estiver hospedada fora do Azure, estabeleça uma conexão VPN entre o SQL Server e a Instância Gerenciada do SQL usando uma destas opções:

Dica

Recomendamos o ExpressRoute para obter o melhor desempenho de rede quando você estiver replicando dados. Provisione um gateway com largura de banda suficiente para seu caso de uso.

Portas de rede entre os ambientes

Independentemente do mecanismo de conectividade, há requisitos que devem ser atendidos para que o tráfego de rede flua entre os ambientes:

As regras do NSG (Grupo de Segurança de Rede) na sub-rede que hospeda a Instância Gerenciada SQL precisam permitir:

  • Porta de entrada 5022 e intervalo de portas 11000-11999 para receber tráfego do IP de origem do SQL Server
  • Porta de saída 5022 para enviar tráfego para o IP de destino do SQL Server

Todos os firewalls na rede que hospeda o SQL Server e o sistema operacional host precisam permitir:

  • Porta de entrada 5022 aberta para receber tráfego do intervalo de IP de origem da sub-rede MI /24 (por exemplo, 10.0.0.0/24)
  • As portas de saída 5022 e o intervalo de portas 11000-11999 foram abertos para enviar tráfego para o intervalo IP de destino da sub-rede MI (exemplo 10.0.0.0/24)

Diagrama mostrando os requisitos de rede para configurar o link entre o SQL Server e a instância gerenciada do SQL.

A tabela a seguir descreve as ações de porta para cada ambiente:

Meio Ambiente O que fazer
SQL Server (no Azure) Abra o tráfego de entrada e saída na porta 5022 no firewall de rede para todo o intervalo de endereços IP da sub-rede da Instância Gerida do SQL. Se necessário, faça o mesmo no firewall do sistema operacional host do SQL Server (Windows/Linux). Para permitir a comunicação na porta 5022, crie uma regra NSG (grupo de segurança de rede) na rede virtual que hospeda a máquina virtual (VM).
SQL Server (fora do Azure) Abra o tráfego de entrada e saída na porta 5022 no firewall de rede para todo o intervalo de endereços IP da sub-rede da Instância Gerida do SQL. Se necessário, faça o mesmo no firewall do sistema operacional host do SQL Server (Windows/Linux).
SQL Managed Instance Crie uma regra NSG no portal do Azure para permitir o tráfego de entrada e saída do endereço IP e da rede que hospeda o SQL Server na porta 5022 e no intervalo de portas 11000-11999.

Para abrir portas no Firewall do Windows, use o seguinte script do PowerShell no sistema operacional host Windows da instância do SQL Server:

New-NetFirewallRule -DisplayName "Allow TCP port 5022 inbound" -Direction inbound -Profile Any -Action Allow -LocalPort 5022 -Protocol TCP
New-NetFirewallRule -DisplayName "Allow TCP port 5022 outbound" -Direction outbound -Profile Any -Action Allow -LocalPort 5022 -Protocol TCP

O diagrama a seguir mostra um exemplo de um ambiente de rede local, indicando que todos os firewalls no ambiente precisam ter portas abertas, incluindo o firewall do sistema operacional que hospeda o SQL Server e quaisquer firewalls e/ou gateways corporativos:

Diagrama mostrando a infraestrutura de rede para configurar o link entre o SQL Server e a instância gerenciada do SQL.

Importante

  • As portas precisam estar abertas em todos os firewalls do ambiente de rede, incluindo o servidor host e quaisquer firewalls ou gateways corporativos na rede. Em ambientes corporativos, talvez seja necessário mostrar ao administrador de rede as informações desta seção para ajudar a abrir portas adicionais na camada de rede corporativa.
  • Embora você possa optar por personalizar o ponto de extremidade no lado do SQL Server, os números de porta da Instância Gerenciada do SQL não podem ser alterados ou personalizados.
  • Os intervalos de endereços IP das sub-redes que hospedam instâncias geridas e o SQL Server não devem sobrepor-se.

Adicionar URLs à lista de permissões

Dependendo das configurações de segurança da rede, pode ser necessário adicionar URLs à sua lista de permissões para o FQDN da Instância Gerenciada SQL e alguns dos pontos de extremidade de Gerenciamento de Recursos usados pelo Azure.

A lista a seguir lista os recursos que devem ser adicionados à sua lista de permissões:

  • O nome de domínio totalmente qualificado (FQDN) da sua Instância Gerenciada SQL. Por exemplo: managedinstance.a1b2c3d4e5f6.database.windows.net.
  • Autoridade Microsoft Entra
  • ID de recurso do Microsoft Entra Endpoint
  • Ponto de extremidade do Gestor de Recursos
  • Endereço de Serviço

Siga os passos na seção Configurar o SSMS para nuvens governamentais para aceder à interface Ferramentas no SQL Server Management Studio (SSMS) e identificar as URLs específicas dos recursos na sua nuvem que precisa adicionar à sua lista de permissões.

Testar a conectividade de rede

A conectividade de rede bidirecional entre o SQL Server e a Instância Gerenciada do SQL é necessária para que o link funcione. Depois de abrir portas no lado do SQL Server e configurar uma regra NSG no lado da Instância Gerenciada SQL, teste a conectividade usando o SQL Server Management Studio (SSMS) ou o Transact-SQL.

Teste a rede criando um trabalho temporário do SQL Agent no SQL Server e na Instância Gerenciada do SQL para verificar a conexão entre as duas instâncias. Quando se utiliza a Ferramenta Verificadora de Rede no SSMS, a tarefa é criada automaticamente para si e eliminada após a conclusão do teste. Você precisará excluir manualmente o trabalho do SQL Agent se testar sua rede usando T-SQL.

Observação

Atualmente, não há suporte para a execução de scripts do PowerShell pelo SQL Server Agent no SQL Server no Linux, portanto, atualmente não é possível executar Test-NetConnection do trabalho do SQL Server Agent no SQL Server no Linux.

Para usar o SQL Agent para testar a conectividade de rede, você precisa dos seguintes requisitos:

  • O utilizador que realiza o teste deve ter permissões para criar uma tarefa (seja como sysadmin ou pertencer à função SQLAgentOperator para ) tanto para o SQL Server como para a Instância Gerenciada do SQL.
  • O serviço SQL Server Agent deve estar executando no SQL Server. Como o Agente está ativado por padrão na Instância Gerenciada SQL, nenhuma ação adicional é necessária.

Considere o seguinte:

  • Para evitar falsos negativos, todos os firewalls ao longo do caminho da rede devem permitir o tráfego do Protocolo de Mensagens de Controlo da Internet (ICMP).
  • Para evitar falsos positivos, todos os firewalls ao longo do caminho de rede devem permitir o tráfego no protocolo proprietário SQL Server UCS. Bloquear o protocolo pode levar a um teste de ligação bem-sucedido, mas a ligação não se cria.
  • Configurações avançadas de firewall com guardas ao nível de pacotes precisam de ser devidamente configuradas para permitir o tráfego entre SQL Server e SQL Managed Instance.

Para testar a conectividade de rede entre o SQL Server e a Instância Gerenciada do SQL no SSMS, siga estas etapas:

  1. Conecte-se à instância que será a réplica primária no SSMS.

  2. No Explorador de Objetos, expanda as bases de dados e clique com o botão direito do mouse na base de dados que pretende ligar ao secundário. Selecione as TarefasInstância Gerenciada SQL do Azurelink Testar Conexão para abrir o assistente Verificador de Rede :

    Captura de tela do pesquisador de objetos no SSMS, com conexão de teste selecionada no menu do botão direito do mouse do link do banco de dados.

  3. Selecione Próximo na página Introdução do assistente Verificador de Rede.

  4. Se todos os requisitos forem atendidos na página Pré-requisitos, selecione Avançar. Caso contrário, resolva os pré-requisitos não atendidos e selecione Voltar a executar a validação.

  5. Na página de login , selecione Login para se conectar à outra instância que será a réplica secundária. Selecione Avançar.

  6. Verifique os detalhes na página Especificar Opções de Rede e forneça um endereço IP, se necessário. Selecione Avançar.

  7. Na página Resumo, reveja as ações que o assistente executa e, em seguida, selecione Concluir para testar a conexão entre ambas as réplicas.

  8. Revise a página de Resultados para validar a conectividade entre as duas réplicas e depois selecione Fechar para concluir.

Atenção

Prossiga com as próximas etapas somente se tiver validado a conectividade de rede entre seus ambientes de origem e de destino. Caso contrário, solucione problemas de conectividade de rede antes de continuar.

Migrar um certificado de um banco de dados protegido por TDE (opcional)

Se você estiver vinculando um banco de dados do SQL Server protegido pela TDE (Transparent Data Encryption) a uma instância gerenciada do SQL, deverá migrar o certificado de criptografia correspondente da instância local ou do SQL Server da VM do Azure para a instância gerenciada do SQL antes de usar o link. Para obter etapas detalhadas, consulte Migrar um certificado de um banco de dados protegido por TDE para a Instância Gerida do SQL do Azure.

Os bancos de dados da Instância Gerenciada SQL criptografados com chaves TDE gerenciadas por serviço não podem ser vinculados ao SQL Server. Você só pode vincular um banco de dados criptografado ao 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, consulte Configurar o SQL Server TDE com o Azure Key Vault.

Observação

O Azure Key Vault é suportado pelo SQL Server no Linux a partir da Atualização Cumulativa 14 para SQL Server 2022.

Instalar o SSMS

O SQL Server Management Studio (SSMS) é a maneira mais fácil de usar o link Instância Gerenciada. Instale a versão mais recente do SQL Server Management Studio (SSMS) na sua máquina cliente.

Após a conclusão da instalação, abra o SSMS e conecte-se à sua instância do SQL Server com suporte. Clique com o botão direito do mouse em um banco de dados de usuário e valide se a opção de link da Instância Gerenciada SQL do Azure aparece no menu.

Captura de ecrã que mostra a opção de link Instância Gerenciada SQL do Azure no menu de contexto.

Configurar o SSMS para nuvens governamentais

Se quiser implantar sua Instância Gerenciada SQL em uma nuvem governamental, você precisará modificar suas configurações do SQL Server Management Studio (SSMS) para usar a nuvem correta. Se você não estiver implantando sua Instância Gerenciada SQL em uma nuvem governamental, ignore esta etapa.

Para atualizar as configurações do SSMS, siga estas etapas:

  1. Abra o SSMS.
  2. No menu, selecione Ferramentas e, em seguida, escolha Opções .
  3. Expanda Serviços do Azure e selecione Azure Cloud.
  4. Em Selecionar uma Nuvem do Azure, use a lista suspensa para escolher entre AzureUSGovernmentou outra nuvem governamental, como AzureChinaCloud:

Captura de ecrã da IU do SSMS, página de opções, serviços do Azure, com a nuvem do Azure realçada.

Se quiser voltar à nuvem pública, escolha AzureCloud na lista suspensa.

Para usar o link:

Para saber mais sobre o link:

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