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.
Aplica-se a:Instância Gerenciada de SQL do Azure
Este artigo ensina como preparar seu ambiente para uma vinculação de instância gerenciada para que você possa duplicar entre o SQL Server instalado no Windows ou Linux e a Instância Gerenciada de SQL do Azure.
Observação
É possível automatizar a preparação do ambiente para o link de instância gerenciada usando um script para download. Para obter mais informações, confira Blog de configuração de link de automação.
Pré-requisitos
Para criar um link entre o SQL Server e a Instância Gerenciada de SQL do Azure, você precisa dos seguintes pré-requisitos:
- Uma assinatura ativa do Azure. Se você não tiver uma, crie uma conta gratuita.
- Uma versão com suporte do SQL Server com a atualização de serviço necessária.
- Instância Gerenciada de SQL do Azure. Comece se você não tiver um.
- Um servidor que você pretende ser o primário inicial. Essa escolha determina de onde você deve criar o link.
- A configuração de um link de um primário da Instância Gerenciada de SQL para um secundário do SQL Server 2025 é suportada apenas com instâncias gerenciadas de SQL configuradas com a política de atualização do SQL Server 2025.
- A configuração de um link desde uma instância gerenciada primária do SQL para uma secundária do SQL Server 2022 somente tem suporte a partir do SQL Server 2022 CU10 e com instâncias gerenciadas de SQL configuradas com a política de atualização do SQL Server 2022.
Cuidado
Ao criar sua instância gerenciada de SQL para usar com o recurso de link, leve em conta os requisitos de memória para qualquer In-Memory recursos OLTP (Processamento de Transações Online) que o SQL Server usa. Para obter mais informações, confira Visão geral dos limites de recursos da Instância Gerenciada de SQL do Azure.
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 | /ler, /escrever |
| Microsoft.Sql/managedInstances/hybridCertificate | /action |
| Microsoft.Sql/managedInstances/databases | /ler, /excluir, /escrever, /completarRestauração/ação, /lerBackups/ação, /detalhesRestauração/ler |
| Microsoft.Sql/managedInstances/distributedAvailabilityGroups | /ler, /escrever, /excluir, /definirPapel/ação |
| Microsoft.Sql/managedInstances/endpointCertificates | /read |
| Microsoft.Sql/managedInstances/hybridLink | /ler, /escrever, /excluir |
| Microsoft.Sql/managedInstances/serverTrustCertificates | /escrever, /excluir, /ler |
Prepare sua instância do SQL Server
Para preparar a instância do SQL Server, você precisará validar isso:
- Você está na versão mínima com suporte.
- Você criou uma chave mestra de banco de dados no
masterbanco de dados. - Você habilitou o recurso grupos de disponibilidade.
- Você adicionou os sinalizadores de rastreamento adequados na inicialização.
Será necessário reiniciar o SQL Server para que essas alterações entrem em vigor.
Instalar atualizações de serviço
Certifique-se de que sua versão do SQL Server tenha a atualização de serviço apropriada instalada, conforme listado na tabela de compatibilidade de 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 de 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
O link usa certificados para criptografar a autenticação e a comunicação entre o SQL Server e a Instância Gerenciada de SQL. A chave mestra do banco de dados protege os certificados usados pelo link. Se você já tiver uma chave mestra de banco de dados, ignore esta etapa.
Crie uma chave mestra de banco de dados no master banco de dados. Insira sua senha no lugar de <strong_password> no script a seguir e guarde-a em um lugar 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 uma 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 os grupos de disponibilidade
O recurso de link depende do recurso de grupos de disponibilidade Always On, que está desabilitado por padrão. Para obter mais informações, confira Habilitar o recurso de grupos de disponibilidade Always On.
Observação
Para SQL Server em Linux, consulte Habilitar grupos de disponibilidade Always On.
Para confirmar que o recurso de grupos de disponibilidade está habilitado, execute o seguinte script de 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 extras documentadas no link Preparar pré-requisitos do SQL Server 2016 – Instância Gerenciada de SQL do Azure. Essas etapas extras não são necessárias para o SQL Server 2017 (14.x) e versões posteriores compatíveis com o link.
Se o recurso de grupos de disponibilidade não estiver habilitado, siga estas etapas para habilitá-lo:
Abra o SQL Server Configuration Manager.
Selecione Serviços do SQL Server no painel à esquerda.
Clique com o botão direito do mouse no serviço do SQL Server e selecione Propriedades.
Vá para a aba Grupos de Disponibilidade Always On.
Marque a caixa de seleção Habilitar os grupos de disponibilidade AlwaysOn e selecione OK.
- Se estiver usando o SQL Server 2016 (13.x) e se a opção Habilitar Grupos de Disponibilidade AlwaysOn estiver desabilitada com a mensagem
This computer is not a node in a failover cluster, siga as etapas extras descritas em Preparar pré-requisitos do SQL Server 2016 – link da Instância Gerenciada de SQL do Azure. Depois de concluir essas outras etapas, volte e tente novamente esta etapa.
- Se estiver usando o SQL Server 2016 (13.x) e se a opção Habilitar Grupos de Disponibilidade AlwaysOn estiver desabilitada com a mensagem
Selecione OK na caixa de diálogo.
Reinicie o serviço SQL Server.
Habilitar sinalizadores de rastreamento na inicialização
Para otimizar o desempenho do link, é recomendável habilitar os seguintes sinalizadores de rastreamento na inicialização:
-
-T1800: esse sinalizador de rastreamento otimiza o desempenho quando os arquivos de log para as réplicas primária e secundária em um grupo de disponibilidade são hospedadas em discos com tamanhos diferentes de setor, como 512 bytes e 4 KB. Se tanto as réplicas primárias quanto as secundárias 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: esse sinalizador de rastreamento habilita a compactação do fluxo de dados para grupos de disponibilidade durante a propagação automática. A compactação aumenta a carga no processador, mas pode reduzir consideravelmente o tempo de transferência durante a propagação.
Observação
Para SQL Server em Linux, consulte Habilitar sinalizadores de rastreamento.
Para habilitar esses sinalizadores de rastreamento na inicialização, use as etapas a seguir:
Abra o SQL Server Configuration Manager.
Selecione Serviços do SQL Server no painel à esquerda.
Clique com o botão direito do mouse no serviço do SQL Server e selecione Propriedades.
Vá para a guia Parâmetros de inicialização. Em Especificar um parâmetro de inicialização, insira
-T1800e selecione Adicionar para adicionar o parâmetro de inicialização. Em seguida, insira-T9567e selecione adicionar para adicionar o outro sinalizador de rastreamento. Selecione Aplicar para salvar as alterações.
Clique em OK para fechar a janela Propriedades.
Para obter mais informações, consulte a sintaxe para habilitar os sinalizadores de rastreamento.
Reiniciar o SQL Server e validar a configuração
Após se certificar de que está em uma versão com suporte do SQL Server, habilitou o recurso Grupos de Disponibilidade AlwaysOn e adicionou os sinalizadores de rastreamento na inicialização, reinicie sua instância do SQL Server para aplicar todas essas alterações:
Abra o SQL Server Configuration Manager.
Selecione Serviços do SQL Server no painel à esquerda.
Clique com o botão direito do mouse no serviço do SQL Server e selecione Reiniciar.
Após a reinicialização, execute o seguinte script T-SQL no SQL Server para validar a configuração de 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 compatíveis aplicadas com as atualizações de serviço apropriadas, e tanto o recurso de grupos de disponibilidade Always On quanto os sinalizadores de rastreamento -T1800 e -T9567 devem estar habilitados. A captura de tela a seguir é um exemplo do resultado esperado para uma instância do SQL Server configurada corretamente:
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 de 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
Implantar o SQL Server em Máquinas Virtuais do Azure na mesma rede virtual do Azure que hospeda a Instância Gerenciada de SQL é o método mais simples, pois a conectividade de rede existe automaticamente entre as duas instâncias. Para obter mais informações, confira Início Rápido: Configure uma VM do Azure para conectar à Instância Gerenciada de SQL do Azure.
Se a instância do SQL Server em Máquinas Virtuais do Azure estiver em uma rede virtual diferente da instância gerenciada de SQL, você precisará conectar as duas redes virtuais. As redes virtuais não precisam estar na mesma assinatura para que esse cenário funcione.
Há duas opções para conectar redes virtuais:
- Emparelhamento de rede virtual do Azure
- Gateway de VPN VNET a VNET (portal do Azure, PowerShell, CLI do Azure)
O emparelhamento é preferível porque usa a rede de backbone da Microsoft. Portanto, do ponto de vista da conectividade, não há nenhuma diferença perceptível na latência entre máquinas virtuais em uma rede virtual emparelhada e na mesma rede virtual. Há suporte para emparelhamento de rede virtual entre redes na mesma região. Há suporte para emparelhamento de rede virtual global para instâncias hospedadas em sub-redes criadas após 22 de setembro de 2020. Para obter mais informações, confira as Perguntas frequentes.
SQL Server fora do Azure
Se a 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 das seguintes opções:
Dica
Quando você estiver replicando dados é recomendável o ExpressRoute para o melhor desempenho de rede. Provisionar 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 a serem 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 de SQL precisam permitir:
- Porta de entrada 5022 e intervalo de portas 11000-11999 para receber tráfego do IP de SQL Server de origem
- Porta de saída 5022 para enviar tráfego para o IP de SQL Server de destino
Todos os firewalls na rede que hospeda o SQL Server e o sistema operacional host precisam permitir o seguinte:
- 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 de IP de destino da sub-rede MI (exemplo 10.0.0.0/24)
A tabela a seguir descreve as ações da porta para cada ambiente:
| Ambiente | O que fazer |
|---|---|
| SQL Server (no Azure) | Abra o tráfego de entrada e de saída na porta 5022 para o firewall de rede para toda a sub-rede do intervalo de IP da Instância Gerenciada do SQL. Se necessário, faça o mesmo no firewall de sistema operacional (Windows/Linux) do host do SQL Server. Para permitir a comunicação na porta 5022, crie uma regra de NSG (grupo de segurança de rede) na rede virtual que hospeda a VM (máquina virtual). |
| SQL Server (fora do Azure) | Abra o tráfego de entrada e de saída na porta 5022 para o firewall de rede para toda a sub-rede do intervalo de IP da Instância Gerenciada do SQL. Se necessário, faça o mesmo no firewall de sistema operacional (Windows/Linux) do host do SQL Server. |
| Instância Gerenciada de SQL | 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 o intervalo de portas 11000-11999. |
Para abrir portas no Firewall do Windows, use o seguinte script do PowerShell no sistema operacional host do 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, bem como todos os firewalls corporativos e gateways:
Importante
- As portas precisam ser abertas em todos os firewalls no 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 nesta 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 SQL Server, os números da porta para a Instância Gerenciada de SQL não podem ser alterados nem personalizados.
- Os intervalos de endereços IP das sub-redes que hospedam as instâncias gerenciadas e o SQL Server não devem se sobrepor.
Adicionar URLs à lista de permissões
Dependendo das configurações de segurança de rede, talvez seja necessário adicionar URLs à sua lista de permissões para o FQDN da Instância Gerenciada de 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:
- FQDN (nome de domínio totalmente qualificado) da Instância Gerenciada de SQL. Por exemplo:
managedinstance.a1b2c3d4e5f6.database.windows.net. - Autoridade do Microsoft Entra
- ID do recurso de ponto de extremidade do Microsoft Entra
- Ponto de Extremidade do Resource Manager
- Ponto de Extremidade do Serviço
Siga as etapas na seção Configurar o SSMS para nuvens governamentais para acessar a interface de Ferramentas no SQL Server Management Studio (SSMS) e identificar as URLs específicas para os recursos na nuvem que você 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 de SQL é necessária para que o link funcione. Depois de abrir as portas no lado do SQL Server e configurar uma regra NSG no lado da Instância Gerenciada de 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 de SQL para verificar a conexão entre as duas instâncias. Quando você usa o Verificador de Rede no SSMS, o trabalho é criado automaticamente para você e excluído 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
No momento, não há suporte para a execução de scripts do PowerShell pelo SQL Server Agent no SQL Server em Linux, portanto, não é possível executar Test-NetConnection no trabalho do SQL Server Agent no SQL Server em Linux.
Para usar o SQL Agent para testar a conectividade de rede, você precisará cumprir os seguintes requisitos:
- O usuário que faz o teste deve ter permissões para criar um trabalho (seja como um sysadmin ou pertencendo à função SQLAgentOperator para
msdb) tanto para o SQL Server quanto para a Instância Gerenciada de SQL. - O serviço SQL Server Agent deve estar em execução no SQL Server. Como o agente está ativado por padrão na Instância Gerenciada de SQL, nenhuma ação adicional é necessária.
Considere o seguinte:
- Para evitar falsos negativos, todos os firewalls ao longo do caminho de rede devem permitir o tráfego de ICMP (Internet Control Message Protocol).
- Para evitar falsos positivos, todos os firewalls ao longo do caminho de rede devem permitir o tráfego no protocolo UCS proprietário do SQL Server. Bloquear o protocolo pode levar a um teste de conexão bem-sucedido, mas a conexão não é criada.
- As configurações avançadas de firewall com guardrails no nível de pacote no local precisam ser configuradas corretamente para permitir o tráfego entre o SQL Server e a Instância Gerenciada de SQL.
Para testar a conectividade de rede entre o SQL Server e a instância gerenciada do SQL no SSMS, execute estas etapas:
Conecte-se à instância que será a réplica primária no SSMS.
No Pesquisador de Objetos, expanda bancos de dados e clique com o botão direito do mouse no banco de dados que você pretende vincular ao secundário. Selecione Tarefas>Instância Gerenciada SQL do Azure link>Testar Conexão para abrir o assistente do Verificador de Rede:
Selecione Avançar na página Introdução do assistente Verificador de Rede.
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 Executar novamente a validação.
Na página Logon, selecione Logon para se conectar à outra instância que será a réplica secundária. Selecione Avançar.
Verifique os detalhes na página Especificar Opções de Rede e forneça um endereço IP, se necessário. Selecione Avançar.
Na página Resumo, examine as ações executadas pelo assistente e selecione Concluir para testar a conexão entre as duas réplicas.
Examine a página Resultados para validar a conectividade existente entre as duas réplicas e selecione Fechar para concluir.
Cuidado
Continue com as próximas etapas somente se você validou a conectividade de rede entre os ambientes de origem e de destino. Caso contrário, solucione os 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 Transparent Data Encryption (TDE) a uma instância gerenciada de SQL, deverá migrar o certificado de criptografia correspondente da instância do SQL Server da VM do Azure ou local para a instância gerenciada de SQL antes de usar o link. Para etapas detalhadas, consulte Migrar um certificado de um banco de dados protegido por TDE-para a Instância Gerenciada de SQL do Azure.
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 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, confira Configurar SQL Server TDE com o Azure Key Vault.
Observação
O Azure Key Vault tem suporte do SQL Server no Linux a partir da Atualização Cumulativa 14 para SQL Server 2022.
Instalar SSMS
O SSMS (SQL Server Management Studio) é a maneira mais fácil de usar o link da Instância Gerenciada. Instale a versão mais recente do SSMS (SQL Server Management Studio) no computador cliente.
Após concluir a instalação, abra o SSMS e conecte-se à instância de SQL Server com suporte. Clique com o botão direito do mouse em um banco de dados de usuário e valide que a opção link da Instância Gerenciada de SQL do Azure aparece no menu.
Configurar o SSMS para as nuvens governamentais
Se você quiser implantar a Instância Gerenciada de SQL em uma nuvem governamental, precisará modificar as configurações do SQL Server Management Studio (SSMS) para usar a nuvem correta. Se você não estiver implantando a Instância Gerenciada de SQL em uma nuvem governamental, ignore esta etapa.
Para atualizar as configurações do SSMS, siga estas etapas:
- Abra o SSMS.
- No menu, escolha Ferramentas e Opções.
- Expanda Serviços do Azure e selecione Nuvem do Azure.
- Em Selecionar uma nuvem do Azure, use a lista suspensa para escolher AzureUSGovernment ou outra nuvem do governo, como a AzureChinaCloud:
Se você quiser voltar para a nuvem pública, escolha AzureCloud na lista suspensa.
Conteúdo relacionado
Para usar o link:
- Configurar o link entre o SQL Server e a instância gerenciada do SQL com o SSMS
- Configurar o link entre o SQL Server e a instância gerenciada de SQL com os scripts
- Fazer failover do link
- Migrar com o link
- Práticas recomendadas para manter o link
Para saber mais sobre o link:
- Visão geral do Link da Instância Gerenciada
- Recuperação de desastre com link de instância gerenciada
Para outros cenários de replicação e migração, considere: