Partilhar via


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:

Provisionar o IR do Azure-SSIS com o SSISDB hospedado pela Instância Gerenciada SQL do Azure

Pré-requisitos

  1. Ativar o Microsoft Entra ID na Instância SQL Gerida do Azure ao escolher a autenticação do Microsoft Entra.

  2. Escolha como conectar a Instância Gerenciada SQL, sobre ponto de extremidade privado ou sobre ponto de extremidade público:

    • Via ponto de extremidade privado (preferencial)

      1. Escolha a rede virtual à qual o IR do Azure-SSIS deve aderir.

        • Dentro da mesma rede virtual da instância gerenciada, com uma sub-rede diferente.
        • Dentro de uma rede virtual diferente da instância gerida, por meio do emparelhamento de rede virtual (que é limitado à mesma região devido a restrições de emparelhamento de rede global (VNet)) ou por uma ligação de rede virtual entre redes virtuais.

        Para saber mais sobre a conectividade da Instância Gerenciada SQL, veja Conectar seu aplicativo à Instância Gerenciada SQL do Azure.

      2. Configurar rede virtual.

    • Ponto final público

      As Instâncias Geridas SQL do Azure podem fornecer conectividade sobre endpoints 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 * Rede virtual 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 está dentro de uma rede virtual

        Há um cenário especial quando a Instância Gerenciada SQL está numa região que o IR de Azure-SSIS não suporta e o IR de Azure-SSIS está dentro de uma rede virtual sem emparelhamento de VNet devido à limitação do emparelhamento de VNet Global. Nesse cenário, o IR do Azure-SSIS dentro de uma rede virtual conecta a Instância Gerida de SQL através do ponto de extremidade público. Use as seguintes regras NSG (Network Security Group) para permitir o tráfego entre a Instância Gerenciada SQL e Azure-SSIS IR:

        1. 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.
          * Rede virtual 3342
        2. Requisito de saída do Azure-SSIS IR para permitir o tráfego de saída para a Instância Gerida do SQL.

          Protocolo de transporte Origem Intervalo de portas de origem Destino Intervalo de portas de destino
          TCP Rede virtual * Endereço IP do endpoint público da Instância Gerenciada SQL 3342

Configurar uma rede virtual

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

    1. 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 são criados quando seu Azure-SSIS IR é iniciado. Eles são excluídos quando o IR do Azure-SSIS é interrompido. Para evitar que o seu IR do Azure-SSIS seja interrompido, não reutilize esses recursos de rede nos seus outros recursos.

    2. Certifique-se de que não tem bloqueio de recursos no grupo de recursos/subscrição a que pertence a rede virtual. Se configurar um bloqueio de leitura/exclusão, iniciar e parar o IR Azure-SSIS não funcionará ou deixará de responder.

    3. 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
    4. Permitir tráfego através da regra do Grupo de Segurança de Rede (NSG) para permitir o tráfego entre a Instância Gerida de SQL e o IR Azure-SSIS, e o tráfego necessário para o IR Azure-SSIS.

      1. 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 Rede virtual * Rede virtual 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.
      2. 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 Rede virtual * Rede virtual 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 Rede virtual * 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 Rede virtual * 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 bloquear este tráfego, poderá ocorrer uma degradação de desempenho ao iniciar o IR e perder a capacidade de verificar a lista de revogação de certificados para o uso de certificados. Se você quiser restringir ainda mais o destino a determinados FQDNs, consulte Configurar rotas definidas pelo usuário (UDRs).
        TCP Rede virtual * Armazenamento 445 (Opcional) Esta regra só é necessária quando você deseja executar o pacote SSIS armazenado nos Arquivos do Azure.
      3. 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 * Rede virtual 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 proveniente dos endereços IP do Data Factory nas portas especificadas é permitido por este NSG a nível de 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 * Rede virtual 3389 (Opcional) Esta regra só é necessária quando o Microsoft supporter 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 NSG de nível NIC, a porta 3389 está aberta por defeito, e permitimos que o utilizador controle a porta 3389 ao nível de sub-rede do NSG. Enquanto isso, Azure-SSIS IR impediu a saída da porta 3389 por padrão na regra do Firewall do Windows em cada nó IR para proteção.
    5. Consulte a configuração de rede virtual para obter mais informações:

      • Se trouxeres os teus 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

  1. Selecione Ponto de extremidade privado ou ponto de extremidade público da Instância Gerenciada SQL.

    Ao provisionar o Azure-SSIS IR no portal do Azure/aplicação ADF, na página Configurações do SQL, use o ponto de extremidade privado ou ponto de extremidade público da Instância Gerida do SQL ao criar o catálogo do SSIS (SSISDB).

    O nome do host do ponto de extremidade público tem o formato <mi_name>.public.<dns_zone>.database.windows.net e a porta utilizada para a conexão é 3342.

    A captura de tela mostra a configuração do tempo de execução da integração com o catálogo Create S S I S selecionado e o ponto de extremidade do servidor de banco de dados do catálogo inserido.

  2. Selecione Autenticação Microsoft Entra quando aplicável.

    ponto-final-público-do-catálogo

    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.

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

    A captura de tela mostra as configurações avançadas de configuração do tempo de execução de integração, onde você pode selecionar uma rede virtual para ingressar no tempo de execução.

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:

  • OPERAÇÃO_LIMPEZA_ATIVADA

    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: uma tarefa do SQL Server executa a limpeza da operação.

  • JANELA_DE_RETENÇÃO

    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 os logs SSISDB que estão fora da janela de retenção definida pelo administrador, pode-se acionar o procedimento armazenado [internal].[cleanup_server_retention_window_exclusive]. Opcionalmente, você pode agendar a execução do trabalho do agente da Instância Gerenciada SQL para disparar o procedimento armazenado.