Compartilhar via


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 Azure-SSIS IR com SSISDB hospedado pela Instância Gerenciada de SQL do Azure

Pré-requisitos

  1. Habilite a ID do Microsoft Entra na InstânciaGerenciada de SQL do Azure ao escolher a autenticação do Microsoft Entra.

  2. 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)

      1. 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.

      2. Configure a rede virtual.

    • 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:

        1. 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
        2. 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

  1. 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.
  2. Rede virtual.

    1. 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.

    2. 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.

    3. 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
    4. 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.

      1. 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.
      2. 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.
      3. 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.
    5. 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

  1. 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.

    Screenshot shows Integration runtime setup with Create S S I S catalog selected and Catalog database server endpoint entered.

  2. Selecione a autenticação do Microsoft Entra quando aplicável.

    catalog-public-endpoint

    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.

  3. 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.

    Screenshot shows the Integration runtime setup Advanced settings, where you can select a virtual network for your runtime to join.

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.