Use a Instância Gerenciada de SQL do Azure com o SSIS (SQL Server Integration Services) no Azure Data Factory ou no Azure Synapse Analytics
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!
Agora você pode mover suas cargas de trabalho, pacotes e projetos do SSIS (SQL Server Integration Services) para a nuvem do Microsoft Azure. Implante, execute e gerencie projetos e pacotes do SSIS no Banco de Dados SQL do Azure ou na Instância Gerenciada de SQL usando ferramentas conhecidas, como o SSMS (SQL Server Management Studio). Este artigo destaca as seguintes áreas específicas ao usar a Instância Gerenciada de SQL do Azure com o IR (runtime de integração) do SSIS do Azure:
- Provisionar um Azure-SSIS IR com o catálogo do SSIS (SSISDB) hospedado pela Instância Gerenciada de SQL do Azure
- Executar pacotes SSIS pelo trabalho do Agente de Instância Gerenciada do SQL do Azure
- Limpar logs do SSISDB pelo trabalho do Agente de Instância Gerenciada do SQL do Azure
- Failover do Azure-SSIS IR com uma Instância Gerenciada de SQL do Azure
- Migrar cargas de trabalho do SSIS local para o SSIS no ADF
Provisionar Azure-SSIS IR com SSISDB hospedado pela Instância Gerenciada de SQL do Azure
Pré-requisitos
Habilite a ID do Microsoft Entra na InstânciaGerenciada de SQL do Azure ao escolher a autenticação do Microsoft Entra.
Escolha como conectar a Instância Gerenciada de SQL no ponto de extremidade privado ou no ponto de extremidade público:
Ponto de extremidade privado (preferencial)
Escolha a rede virtual para o Azure-SSIS IR ingressar:
- Dentro da mesma rede virtual que a instância gerenciada, com sub-rede diferente.
- Dentro de uma rede virtual diferente da instância gerenciada, por meio de emparelhamento de rede virtual (que é limitado à mesma região devido a restrições de emparelhamento da VNet Global) ou uma conexão de rede virtual para rede virtual.
Para saber mais sobre conectividade da Instância Gerenciada de SQL, confira Conectar seu aplicativo à Instância Gerenciada de SQL do Azure.
Ponto de extremidade público
As Instâncias Gerenciadas de SQL do Azure podem fornecer conectividade em pontos de extremidade públicos. Os requisitos de entrada e saída precisam ser atendidos para permitir o tráfego entre a Instância Gerenciada de SQL do Azure e o Azure-SSIS IR:
quando Azure-SSIS IR não está dentro de uma rede virtual (preferencial)
Requisito de entrada da Instância Gerenciada de SQL para permitir o tráfego de entrada do Azure-SSIS IR.
Protocolo de transporte Fonte Intervalo de portas de origem Destino Intervalo de portas de destino TCP Marca de serviço de nuvem do Azure * VirtualNetwork 3342 Para saber mais, confira Permitir tráfego de ponto de extremidade público no grupo de segurança de rede.
quando Azure-SSIS IR está dentro de uma rede virtual
Há um cenário especial quando a Instância Gerenciada de SQL está em uma região em que o Azure-SSIS IR não oferece suporte e o Azure-SSIS IR está dentro de uma rede virtual sem o emparelhamento da VNet devido à limitação de emparelhamento global da VNet. Neste cenário, o Azure-SSIS IR dentro de uma rede virtual conecta a Instância Gerenciada de SQL ao ponto de extremidade público. Use as regras do NSG (Grupo de Segurança de Rede) mostradas abaixo para permitir o tráfego entre a Instância Gerenciada de SQL e o Azure-SSIS IR:
Requisito de entrada da Instância Gerenciada de SQL para permitir o tráfego de entrada do Azure-SSIS IR.
Protocolo de transporte Fonte Intervalo de portas de origem Destino Intervalo de portas de destino TCP Endereço IP estático de Azure-SSIS IR
Para obter detalhes, confira Traga seu IP público para o Azure-SSIS IR.* VirtualNetwork 3342 Requisito de saída do Azure-SSIS IR para permitir o tráfego de saída para a Instância Gerenciada de SQL.
Protocolo de transporte Fonte Intervalo de portas de origem Destino Intervalo de portas de destino TCP VirtualNetwork * Endereço IP do ponto de extremidade público da Instância Gerenciada de SQL 3342
Configurar rede virtual
Permissão de usuário. O usuário que cria o Azure-SSIS IR do Azure deve ter a atribuição de função pelo menos no recurso do Azure Data Factory com uma das opções abaixo:
- Use a função interna de Colaborador de Rede. Essa função vem com a permissão Microsoft.Network/*, que tem um escopo muito maior do que o necessário.
- Crie uma função personalizada que inclua apenas a permissão Microsoft.Network/virtualNetworks/*/join/action necessária. Se você também deseja trazer seus endereços IP públicos para o Azure-SSIS IR enquanto ingressa em uma rede virtual do Azure Resource Manager, inclua também a permissão Microsoft.Network/publicIPAddresses/*/join/action na função.
Rede virtual.
Verifique se o grupo de recursos da rede virtual pode criar e excluir determinados recursos de rede do Azure.
O Azure-SSIS IR precisa criar determinados recursos de rede no mesmo grupo de recursos que a rede virtual. Esses recursos incluem:
- Um balanceador de carga do Azure, com o nome <Guid>-azurebatch-cloudserviceloadbalancer
- Um grupo de segurança de rede, com o nome *<Guid>-azurebatch-cloudservicenetworksecuritygroup
- Um endereço IP público do Azure, com o nome -azurebatch-cloudservicepublicip
Esses recursos serão criados quando o Azure-SSIS IR for iniciado. Eles serão excluídos quando o Azure-SSIS IR for interrompido. Para evitar o bloqueio do Azure-SSIS IR, não reutilize esses recursos de rede nos outros recursos.
Certifique-se de que você não tem nenhum bloqueio de recurso no grupo de recursos/assinatura à qual pertence a rede virtual. Se você configurar um bloqueio somente leitura/exclusão, o início e a parada do Azure-SSIS IR falharão ou pararão de responder.
Não configure definições do Azure Policy que impeçam a criação dos seguintes recursos no grupo de recursos/assinatura ao qual a rede virtual pertence :
- Microsoft.Network/LoadBalancers
- Microsoft.Network/NetworkSecurityGroups
Permita o tráfego na regra do NSG (Grupo de Segurança de Rede), para permitir o tráfego entre a Instância Gerenciada de SQL e o Azure-SSIS IR e o tráfego necessário para o Azure-SSIS IR.
Requisito de entrada da Instância Gerenciada de SQL para permitir o tráfego de entrada do Azure-SSIS IR.
Protocolo de transporte Fonte Intervalo de portas de origem Destino Intervalo de portas de destino Comentários TCP VirtualNetwork * VirtualNetwork 1433, 11000-11999 Se a política de conexão do servidor de Banco de Dados SQL estiver definida como Proxy em vez de Redirecionar, será necessária apenas a porta 1433. Requisito de saída do Azure-SSIS IR para permitir o tráfego de saída para a Instância Gerenciada de SQL e outros tráfegos necessários do Azure-SSIS IR.
Protocolo de transporte Fonte Intervalo de portas de origem Destino Intervalo de portas de destino Comentários TCP VirtualNetwork * VirtualNetwork 1433, 11000-11999 Permita o tráfego de saída para a Instância Gerenciada de SQL. Se a política de conexão estiver definida como Proxy em vez de Redirecionar, apenas a porta 1433 será necessária. TCP VirtualNetwork * AzureCloud 443 Os nós do Azure-SSIS IR na rede virtual usam essa porta para acessar os serviços do Azure, como o Armazenamento do Microsoft Azure e Hubs de Eventos do Azure. TCP VirtualNetwork * Internet 80 (Opcional) Os nós de seu Azure-SSIS IR na rede virtual usam essa porta para baixar a lista de revogação de certificados da Internet. Se você bloquear esse tráfego, poderá sofrer um downgrade de desempenho ao iniciar o IR e perder a capacidade de verificar a lista de revogação de certificados quanto ao uso de certificados. Se você deseja restringir ainda mais o destino a determinados FQDNs, confira Configurar UDRs (Rotas Definidas pelo Usuário). TCP VirtualNetwork * Armazenamento 445 (Opcional) Esta regra é necessária apenas quando você deseja executar o pacote SSIS armazenado nos Arquivos do Azure. Requisito de entrada do Azure-SSIS IR para permitir o tráfego necessário para o Azure-SSIS IR.
Protocolo de transporte Fonte Intervalo de portas de origem Destino Intervalo de portas de destino Comentários TCP BatchNodeManagement * VirtualNetwork 29876, 29877 (se você unir o IR a uma rede virtual do Azure Resource Manager)
10100, 20100, 30100 (se você unir o IR a uma rede virtual clássica)Os serviços do Azure Data Factory usam essas portas para comunicarem-se com os nós de seu tempo de execução de integração do Azure-SSIS IR na rede virtual.
Se você criar ou não um NSG no nível de sub-rede, o Azure Data Factory sempre configurará um NSG no nível dos adaptadores de rede anexados às máquinas virtuais que hospedam o Azure-SSIS IR. Somente o tráfego de entrada dos endereços IP do Data Factory nas portas especificadas é permitido pelo NSG no nível do adaptador de rede. Mesmo se você abrir essas portas para o tráfego da Internet no nível de sub-rede, o tráfego de endereços IP que não sejam endereços IP do Data Factory será bloqueado no nível do adaptador de rede.TCP CorpNetSaw * VirtualNetwork 3389 (Opcional) Esta regra é necessária apenas quando o suporte da Microsoft solicita que o cliente abra para solução avançada de problemas e pode ser fechado logo após a solução. A marca de serviço CorpNetSaw permite que apenas as estações de trabalho de acesso seguro na rede corporativa da Microsoft usem a área de trabalho remota. E essa marca de serviço não pode ser selecionada no portal e só está disponível via Azure PowerShell ou CLI do Azure.
No NSG no nível da NIC, a porta 3389 é aberta por padrão e permitimos que você controle a porta 3389 no nível de sub-rede NSG. Enquanto isso, o Azure-SSIS IR não permite a saída da porta 3389 por padrão na regra de firewall do Windows em cada nó de IR para proteção.
Confira configuração de rede virtual para saber mais:
- Se você trouxer seus endereços IP públicos para o Azure-SSIS IR
- Se você usar seu servidor DNS (Sistema de Nomes de Domínio)
- Se você usar o Azure ExpressRoute ou uma UDR (rota definida pelo usuário)
- Se você usar Azure-SSIS IR personalizado
Provisionar um Azure-SSIS Integration Runtime
Selecione o ponto de extremidade privado ou público da Instância Gerenciada de SQL.
Ao provisionar o Azure-SSIS IR no portal do Azure/aplicativo ADF, na página Configurações de SQL, use o ponto de extremidade privado ou público da Instância Gerenciada de SQL ao criar o catálogo SSIS (SSISDB).
O nome do host do ponto de extremidade público é fornecido no formato <nome_mi>.public.<zona_dns>.database.windows.net e a porta usada para a conexão é 3342.
Selecione a autenticação do Microsoft Entra quando aplicável.
Para obter mais informações sobre como habilitar a autenticação do Microsoft Entra, consulte Habilitar a ID do Microsoft Entra na InstânciaGerenciada de SQL do Azure.
Associe o Azure-SSIS IR à rede virtual quando aplicável.
Na página de configuração avançada, selecione a rede virtual e a sub-rede para ingressar.
Quando estiver na mesma rede virtual que a Instância Gerenciada de SQL, escolha uma sub-rede diferente da Instância Gerenciada de SQL.
Para saber mais sobre como ingressar no Azure-SSIS IR em uma rede virtual, confira Associar um tempo de execução de integração do Azure-SSIS a uma rede virtual.
Para obter mais informações sobre como criar um Azure-SSIS IR, consulte Criar um runtime de integração do Azure-SSIS no Azure Data Factory.
Limpar logs do SSISDB
A política de retenção de logs do SSISDB é definida pelas propriedades abaixo nas catalog.catalog_properties:
OPERATION_CLEANUP_ENABLED
Quando o valor for TRUE, os detalhes da operação e as mensagens da operação anteriores a RETENTION_WINDOW (dias) serão excluídos do catálogo. Quando o valor for FALSE, todos os detalhes da operação e mensagens da operação serão armazenados no catálogo. Observação: um trabalho do SQL Server executa a limpeza da operação.
RETENTION_WINDOW
O número de dias em que os detalhes da operação e as mensagens da operação serão armazenados no catálogo. Quando o valor for -1, a janela de retenção será infinita. Observação: Se nenhuma limpeza for desejada, defina OPERATION_CLEANUP_ENABLED como FALSE.
Para remover os logs do SSISDB que estão fora da janela de retenção definida pelo administrador, você pode disparar o procedimento armazenado [internal].[cleanup_server_retention_window_exclusive]
. Opcionalmente, você pode agendar a execução do trabalho do agente da Instância Gerenciada de SQL para acionar o procedimento armazenado.