Usar a Instância Gerenciada SQL do Azure com o SQL Server Integration Services (SSIS) no Azure Data Factory ou no Azure Synapse Analytics
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Agora, pode mover os projetos, pacotes e cargas de trabalho do SQL Server Integration Services (SSIS) para a cloud do Azure. Implante, execute e gerencie projetos e pacotes do SSIS no Banco de Dados SQL do Azure ou na Instância Gerenciada do SQL com ferramentas familiares, como o SQL Server Management Studio (SSMS). Este artigo destaca as seguintes áreas específicas ao usar a Instância Gerenciada SQL do Azure com o tempo de execução de integração (IR) do Azure-SSIS:
- Aprovisionar um Azure-SSIS IR com o catálogo SSIS (SSISDB) alojado pelo Azure SQL Managed Instance
- Executar pacotes SSIS através da tarefa do Azure SQL Managed Instance
- Limpar os registos SSISDB através da tarefa do Azure SQL Managed Instance
- Ativação pós-falha do Azure-SSIS IR com o Azure SQL Managed Instance
- Migrar cargas de trabalho do SSIS local para o SSIS no ADF
Provisionar o IR do Azure-SSIS com o SSISDB hospedado pela Instância Gerenciada SQL do Azure
Pré-requisitos
Habilite a ID do Microsoft Entra na Instância Gerenciada SQL do Azure ao escolher a autenticação do Microsoft Entra.
Escolha como conectar a Instância Gerenciada SQL, sobre ponto de extremidade privado ou sobre ponto de extremidade público:
Sobre o ponto final privado (preferencial)
Escolha a rede virtual para o IR do Azure-SSIS participar:
- Dentro da mesma rede virtual da instância gerenciada, com sub-rede diferente.
- Dentro de uma rede virtual diferente da instância gerenciada, por meio do emparelhamento de rede virtual (que é limitado à mesma região devido a restrições de emparelhamento de rede VNet global) ou uma conexão de rede virtual para rede virtual.
Para saber mais sobre a conectividade da Instância Gerenciada SQL, veja Conectar seu aplicativo à Instância Gerenciada SQL do Azure.
Configure a rede virtual.
Ponto final público
As Instâncias Gerenciadas SQL do Azure podem fornecer conectividade sobre 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 do SQL e o IR do Azure-SSIS:
quando o IR do Azure-SSIS não estiver dentro de uma rede virtual (preferencial)
Requisito de entrada da Instância Gerenciada do SQL, para permitir o tráfego de entrada do IR do Azure-SSIS.
Protocolo de transporte Origem Intervalo de portas de origem Destino Intervalo de portas de destino TCP Tag de serviço do Azure Cloud * VirtualNetwork 3342 Para obter mais informações, consulte Permitir tráfego de ponto de extremidade público no grupo de segurança de rede.
quando Azure-SSIS IR dentro de uma rede virtual
Há um cenário especial quando a Instância Gerenciada do SQL está em uma região que o IR do Azure-SSIS não suporta, o IR do Azure-SSIS está dentro de uma rede virtual sem emparelhamento de VNet devido à limitação de emparelhamento de VNet Global. Nesse cenário, o IR do Azure-SSIS dentro de uma rede virtual conecta a Instância Gerenciada do SQL pelo ponto de extremidade público. Use abaixo as regras do NSG (Grupo de Segurança de Rede) para permitir o tráfego entre a Instância Gerenciada do SQL e o IR do Azure-SSIS:
Requisito de entrada da Instância Gerenciada do SQL, para permitir o tráfego de entrada do IR do Azure-SSIS.
Protocolo de transporte Origem Intervalo de portas de origem Destino Intervalo de portas de destino TCP Endereço IP estático do IR do Azure-SSIS
Para obter detalhes, consulte Bring Your Own Public IP for Azure-SSIS IR.* VirtualNetwork 3342 Requisito de saída do IR do Azure-SSIS, para permitir o tráfego de saída para a Instância Gerenciada do SQL.
Protocolo de transporte Origem 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 SQL 3342
Configurar uma rede virtual
Permissão de usuário. O usuário que cria o IR do Azure-SSIS 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 necessária Microsoft.Network/virtualNetworks/*/join/action . Se você também quiser trazer seus próprios endereços IP públicos para o IR do Azure-SSIS ao associá-lo a uma rede virtual do Azure Resource Manager, inclua também a permissão Microsoft.Network/publicIPAddresses/*/join/action na função.
Rede virtual.
Certifique-se de que o grupo de recursos da rede virtual pode criar e excluir determinados recursos de rede do Azure.
O IR do Azure-SSIS 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 IR do Azure-SSIS for iniciado. Eles serão excluídos quando o IR do Azure-SSIS parar. Para evitar bloquear a interrupção do IR do Azure-SSIS, não reutilize esses recursos de rede em seus outros recursos.
Certifique-se de que não tem bloqueio de recursos no grupo de recursos/subscrição a que pertence a rede virtual. Se você configurar um bloqueio somente leitura/exclusão, iniciar e parar seu IR do Azure-SSIS falhará ou ele deixará de responder.
Certifique-se de que não tem uma definição de Política do Azure que impeça a criação dos seguintes recursos no grupo/subscrição de recursos a que a rede virtual pertence:
- Microsoft.Network/LoadBalancers
- Microsoft.Network/NetworkSecurityGroups
Permitir tráfego na regra NSG (Grupo de Segurança de Rede), para permitir o tráfego entre a Instância Gerenciada do SQL e o IR do Azure-SSIS e o tráfego necessário para o IR do Azure-SSIS.
Requisito de entrada da Instância Gerenciada do SQL, para permitir o tráfego de entrada do IR do Azure-SSIS.
Protocolo de transporte Origem 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 do Banco de dados SQL estiver definida como Proxy em vez de Redirecionar, apenas a porta 1433 será necessária. Requisito de saída do IR do Azure-SSIS, para permitir o tráfego de saída para a Instância Gerenciada do SQL e outro tráfego necessário para o IR do Azure-SSIS.
Protocolo de transporte Origem Intervalo de portas de origem Destino Intervalo de portas de destino Comentários TCP VirtualNetwork * VirtualNetwork 1433, 11000-11999 Permitir tráfego de saída para a Instância Gerenciada SQL. Se a política de conexão estiver definida como Proxy em vez de Redirect, apenas a porta 1433 será necessária. TCP VirtualNetwork * AzureCloud 443 Os nós do seu IR do Azure-SSIS na rede virtual usam essa porta para acessar os serviços do Azure, como o Armazenamento do Azure e os Hubs de Eventos do Azure. TCP VirtualNetwork * Internet 80 (Opcional) Os nós do seu IR do Azure-SSIS na rede virtual usam essa porta para baixar uma lista de revogação de certificados da Internet. Se você bloquear esse tráfego, poderá fazer downgrade de desempenho ao iniciar o IR e perder a capacidade de verificar a lista de revogação de certificados quanto ao uso do certificado. Se você quiser restringir ainda mais o destino a determinados FQDNs, consulte Configurar rotas definidas pelo usuário (UDRs). TCP VirtualNetwork * Armazenamento 445 (Opcional) Esta regra só é necessária quando você deseja executar o pacote SSIS armazenado nos Arquivos do Azure. Requisito de entrada do IR do Azure-SSIS, para permitir o tráfego necessário para o IR do Azure-SSIS.
Protocolo de transporte Origem Intervalo de portas de origem Destino Intervalo de portas de destino Comentários TCP BatchNodeManagement * VirtualNetwork 29876, 29877 (se você unir o RI a uma rede virtual do Resource Manager)
10100, 20100, 30100 (se você unir o IR a uma rede virtual clássica)O serviço Data Factory usa essas portas para se comunicar com os nós do seu IR do Azure-SSIS na rede virtual.
Quer você crie ou não um NSG de nível de sub-rede, o Data Factory sempre configura um NSG no nível das placas de interface de rede (NICs) conectadas às máquinas virtuais que hospedam o IR do Azure-SSIS. Somente o tráfego de entrada de endereços IP do Data Factory nas portas especificadas é permitido por esse NSG de nível NIC. Mesmo se você abrir essas portas para o tráfego da Internet no nível da sub-rede, o tráfego de endereços IP que não são endereços IP do Data Factory será bloqueado no nível da NIC.TCP CorpNetSaw * VirtualNetwork 3389 (Opcional) Esta regra só é necessária quando o suporte da Microsoft pede ao cliente para abrir para solução de problemas avançada e pode ser fechada logo após a solução de problemas. A etiqueta de serviço CorpNetSaw permite que apenas 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 por meio do Azure PowerShell ou da CLI do Azure.
No nível de NIC NSG, a porta 3389 é aberta por padrão e permitimos que você controle a porta 3389 no nível de sub-rede NSG, enquanto o Azure-SSIS IR não permitiu a saída da porta 3389 por padrão na regra de firewall do Windows em cada nó IR para proteção.
Consulte a configuração de rede virtual para obter mais informações:
- Se você trouxer seus próprios endereços IP públicos para o IR do Azure-SSIS
- Se utilizar o seu próprio servidor DNS (Sistema de Nomes de Domínio)
- Se você usar o Azure ExpressRoute ou uma rota definida pelo usuário (UDR)
- Se você usar o Azure-SSIS IR personalizado
Provisionar o tempo de execução da integração Azure-SSIS
Selecione Ponto de extremidade privado ou ponto de extremidade público da Instância Gerenciada SQL.
Ao provisionar o IR do Azure-SSIS no portal do Azure/aplicativo ADF, na página Configurações do SQL, use o ponto de extremidade privado ou ponto de extremidade público da Instância Gerenciada do SQL ao criar o catálogo do SSIS (SSISDB).
O nome do host do ponto de extremidade público vem no formato <mi_name.public>.<dns_zone.database.windows.net> e que a porta usada para a conexão é 3342.
Selecione Autenticação Microsoft Entra quando aplicável.
Para saber mais sobre como habilitar a autenticação do Microsoft Entra, veja Habilitar a ID do Microsoft Entra na Instância Gerenciada SQL do Azure.
Junte o IR do Azure-SSIS à rede virtual quando aplicável.
Na página de configuração avançada, selecione a Rede Virtual e a sub-rede para participar.
Quando estiver dentro da mesma rede virtual que a Instância Gerenciada SQL, escolha uma sub-rede diferente da Instância Gerenciada SQL.
Para obter mais informações sobre como unir o IR do Azure-SSIS em uma rede virtual, consulte Ingressar em um tempo de execução de integração do Azure-SSIS a uma rede virtual.
Para obter mais informações sobre como criar um IR do Azure-SSIS, consulte Criar um tempo de execução 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 em catalog.catalog_properties:
OPERATION_CLEANUP_ENABLED
Quando o valor é TRUE, os detalhes da operação e as mensagens da operação anteriores a RETENTION_WINDOW (dias) são excluídos do catálogo. Quando o valor é FALSE, todos os detalhes da operação e mensagens da operação são armazenados no catálogo. Nota: 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 são armazenados no catálogo. Quando o valor é -1, a janela de retenção é infinita. Nota: Se nenhuma limpeza for desejada, defina OPERATION_CLEANUP_ENABLED como FALSE.
Para remover logs SSISDB que estão fora da janela de retenção definida pelo administrador, você pode acionar o procedimento [internal].[cleanup_server_retention_window_exclusive]
armazenado . Opcionalmente, você pode agendar a execução do trabalho do agente da Instância Gerenciada SQL para disparar o procedimento armazenado.