Configure um IR auto-hospedado como representante de um Azure-SSIS IR na Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Este artigo descreve como executar pacotes de Serviços de Integração SQL Server (SSIS) num Tempo de Execução de Integração Azure-SSIS (Azure-SSIS IR) na Azure Data Factory (ADF) com um tempo de integração auto-hospedado (IR auto-hospedado) configurado como procuração.

Com esta funcionalidade, pode aceder aos dados e executar tarefas nas instalações sem ter de se juntar ao seu Azure-SSIS IR a uma rede virtual. A funcionalidade é útil quando a sua rede corporativa tem uma configuração demasiado complexa ou uma política demasiado restritiva para que possa injetar o seu Azure-SSIS IR na sua.

Esta funcionalidade só pode ser ativada em dados SSIS Flow Tarefa e Executar SQL/Tarefas de Processo por enquanto.

Ativada em Data Flow Task, esta funcionalidade irá decompô-la em duas tarefas de encenação sempre que aplicável:

  • Tarefa de preparação no local: Esta tarefa executa o seu componente de fluxo de dados que se conecta a uma loja de dados no local no seu IR auto-hospedado. Move dados da loja de dados no local para uma área de preparação no seu Azure Blob Armazenamento ou vice-versa.
  • Tarefa de preparação em nuvem: Esta tarefa executa o seu componente de fluxo de dados que não se conecta a uma loja de dados no local no seu Azure-SSIS IR. Move dados da área de preparação na sua Armazenamento Azure Blob para uma loja de dados em nuvem ou vice-versa.

Se o seu Data Flow Task mover dados de instalações para nuvem, então as tarefas de primeira e segunda encenação serão no local e tarefas de preparação em nuvem, respectivamente. Se o seu Data Flow Task mover dados da nuvem para as instalações, então as tarefas de primeira e segunda encenação serão tarefas de preparação em nuvem e no local, respectivamente. Se o seu Data Flow Task mover dados de instalações para as instalações, então as tarefas de primeira e segunda encenação serão tarefas de preparação no local. Se o seu Data Flow Task move dados de nuvem para nuvem, então esta funcionalidade não é aplicável.

Ativada em Executar SQL/Tarefas de Processo, esta funcionalidade irá executá-las no seu IR auto-hospedado.

Outros benefícios e capacidades desta funcionalidade permitem,por exemplo, configurar o seu IR auto-hospedado em regiões que ainda não são suportadas por um IR Azure-SSIS, e permitir o endereço IP estático público do seu IR auto-hospedado na firewall das suas fontes de dados.

Prepare o IR auto-hospedado

Para utilizar esta funcionalidade, cria primeiro uma fábrica de dados e cria-se um IR Azure-SSIS na sua área. Se ainda não o fez, siga as instruções em Configurar um Azure-SSIS IR.

Em seguida, instalou o seu IR auto-hospedado na mesma fábrica de dados onde está configurado o seu IR Azure-SSIS. Para tal, consulte Criar um IR auto-hospedado.

Por fim, descarrega e instala a versão mais recente do IR auto-hospedado, bem como os controladores e tempo de execução adicionais, na sua máquina de bordo ou na máquina virtual Azure (VM), da seguinte forma:

  • Descarregue e instale a versão mais recente do IR auto-hospedado.

  • Se utilizar a Base de Dados de Ligação de Objetos e Incorporação (OLEDB), a Conectividade da Base de Dados Aberta (ODBC) ou ADO.NET conectores nas suas embalagens, descarregue e instale os controladores relevantes na mesma máquina onde o seu IR auto-hospedado está instalado, se ainda não o fez.

    Se utilizar a versão anterior do controlador OLEDB para SQL Server (SQL Server Native Client [SQLNCLI]), descarregue a versão de 64 bits.

    Se utilizar a versão mais recente do controlador OLEDB para SQL Server (MSOLEDBSQL), descarregue a versão de 64 bits.

    Se utilizar controladores OLEDB/ODBC/ADO.NET para outros sistemas de base de dados, tais como PostgreSQL, MySQL, Oracle, e assim por diante, pode descarregar as versões de 64 bits dos seus websites.

  • Se utilizar componentes de fluxo de dados do Azure Feature Pack nos seus pacotes, descarregue e instale o Azure Feature Pack para SQL Server 2017 na mesma máquina onde o seu IR auto-alojado está instalado, se ainda não o fez.

  • Se ainda não o fez, descarregue e instale a versão de 64 bits do tempo de funcionaamento Visual C++ (VC) na mesma máquina onde está instalado o seu IR auto-hospedado.

Ativar Windows autenticação para tarefas no local

Se as tarefas de preparação no local e executar SQL/Tarefas de processo no seu IR auto-hospedado exigirem Windows autenticação, também deve configurar Windows função de autenticação no seu Azure-SSIS IR.

As suas tarefas de preparação no local e executar SQL/Tarefas de processo serão invocadas com a conta de serviço de IR auto-hospedada (NT SERVICE\DIAHostService, por padrão), e as suas lojas de dados serão acedidas com a conta de autenticação Windows. Ambas as contas exigem que sejam atribuídas determinadas políticas de segurança. Na máquina de INFRAVERMELHOs auto-hospedada, vá à Atribuição de Direitos de Utilizador de Políticas Locais de > Segurança > Local, e, em seguida, faça o seguinte:

  1. Atribua as quotas de memória de Ajuste para um processo e substitua as políticas de símbolo de nível de processo na conta de serviço de ir auto-hospedada. Isto deve ocorrer automaticamente quando instalar o seu IR auto-hospedado com a conta de serviço predefinida. Se não, atribua essas apólices manualmente. Se utilizar uma conta de serviço diferente, atribua-lhe as mesmas políticas.

  2. Atribua o Registo como uma política de serviço à conta Windows Autenticação.

Prepare o serviço Armazenamento ligado à Mancha de Azure para a encenação

Se ainda não o fez, crie um serviço Azure Blob Armazenamento ligado na mesma fábrica de dados onde está configurado o seu Azure-SSIS IR. Para tal, consulte criar um serviço ligado à Fábrica de Dados Azure. Certifique-se de fazer o seguinte:

  • Para a Data Store, selecione Azure Blob Armazenamento.
  • Para Ligação através do tempo de integração, selecione AutoResolveIntegrationRuntime (não o seu IR auto-hospedado), para que possamos ignorá-lo e usar o seu Azure-SSIS IR em vez de obter credenciais de acesso para o seu Azure Blob Armazenamento.
  • Para método de autenticação, selecione Tecla de conta, SAS URI, Principal de Serviço, Identidade Gerida ou Identidade Gerida atribuída pelo Utilizador.

Dica

Se selecionar o método Principal de Serviço, conceda ao seu diretor de serviço pelo menos uma função de contribuinte de dados blob Armazenamento. Para mais informações, consulte o conector Azure Blob Armazenamento. Se selecionar o / método de identidade gerida atribuída pelo utilizador, conceda ao sistema especificado/identidade gerida atribuída ao utilizador para o seu ADF uma função adequada para aceder a Azure Blob Armazenamento. Para obter mais informações, consulte o Access Azure Blob Armazenamento utilizando a autenticação Azure Ative Directory (Azure AD) com o sistema especificado/identidade gerida atribuída ao utilizador para o seu ADF.

Prepare o serviço ligado ao armazenamento Azure Blob para a realização

Configure um Azure-SSIS IR com o seu IR auto-hospedado como procuração

Depois de ter preparado o seu serviço de IR e Azure Blob Armazenamento ligado à encenação, pode agora configurar o seu novo ou existente IR Azure-SSIS COM o IR auto-hospedado como representante no seu portal ou app de fábrica de dados. Antes de o fazer, no entanto, se o seu Azure-SSIS IR já estiver em execução, pode parar, editar e, em seguida, reiniciá-lo.

  1. No painel de configuração de tempo de integração, ultrapasse as definições gerais e as definições de implementação selecionando o botão Continuar.

  2. Na página de definições Avançadas, faça o seguinte:

    1. Selecione o Prazo de execução de integração Self-Hosted Configuração como um proxy para a sua caixa de verificação de runtime de integração Azure-SSIS.

    2. Na lista de drop-down de integração auto-hospedada, selecione o seu IR auto-hospedado existente como um representante para o Azure-SSIS IR.

    3. Na lista de drop-down do serviço ligado ao armazenamento de Staging, selecione o seu serviço de Armazenamento ligado a Azure Blob existente ou crie um novo para a realização.

    4. Na caixa de caminho de encenação, especifique um recipiente blob na sua conta Azure Armazenamento ou deixe-a vazia para utilizar uma padrão para a encenação.

    5. Selecione o botão Continuar.

    Configurações avançadas com um IR auto-hospedado

Também pode configurar o seu novo ou existente Azure-SSIS IR com o IR auto-hospedado como proxy utilizando o PowerShell.

$ResourceGroupName = "[your Azure resource group name]"
$DataFactoryName = "[your data factory name]"
$AzureSSISName = "[your Azure-SSIS IR name]"
# Self-hosted integration runtime info - This can be configured as a proxy for on-premises data access 
$DataProxyIntegrationRuntimeName = "" # OPTIONAL to configure a proxy for on-premises data access 
$DataProxyStagingLinkedServiceName = "" # OPTIONAL to configure a proxy for on-premises data access 
$DataProxyStagingPath = "" # OPTIONAL to configure a proxy for on-premises data access 

# Add self-hosted integration runtime parameters if you configure a proxy for on-premises data access
if(![string]::IsNullOrEmpty($DataProxyIntegrationRuntimeName) -and ![string]::IsNullOrEmpty($DataProxyStagingLinkedServiceName))
{
    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
        -DataFactoryName $DataFactoryName `
        -Name $AzureSSISName `
        -DataProxyIntegrationRuntimeName $DataProxyIntegrationRuntimeName `
        -DataProxyStagingLinkedServiceName $DataProxyStagingLinkedServiceName

    if(![string]::IsNullOrEmpty($DataProxyStagingPath))
    {
        Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
            -DataFactoryName $DataFactoryName `
            -Name $AzureSSISName `
            -DataProxyStagingPath $DataProxyStagingPath
    }
}
Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $DataFactoryName `
    -Name $AzureSSISName `
    -Force

Permitir que os pacotes SSIS utilizem um proxy

Ao utilizar o SSDT mais recente como extensão de Projetos SSIS para Visual Studio ou um instalador autónomo, pode encontrar uma nova ConnectByProxy propriedade nos gestores de ligação para componentes de fluxo de dados suportados e ExecuteOnProxy propriedades em Executar SQL/Tarefas de Processo.

Quando concebe novos pacotes que contenham Data Flow Tarefas com componentes que acedam aos dados nas instalações, pode ativar a ConnectByProxy propriedade definindo-a para True no painel de propriedades dos gestores de conexão relevantes.

Quando concebe novos pacotes que contenham executar SQL/Tarefas de processo que funcionam no local, pode ativar a ExecuteOnProxy propriedade definindo-a para True no painel de propriedades das próprias tarefas relevantes.

Ativar a propriedade ConnectByProxy/ExecuteOnProxy

Também pode ativar as ConnectByProxy / ExecuteOnProxy propriedades quando executar as embalagens existentes, sem ter que alterá-las manualmente uma a uma. Existem duas opções:

  • Opção A: Abrir, reconstruir e recolocar o projeto que contém esses pacotes com o mais recente SSDT a funcionar no seu Azure-SSIS IR. Em seguida, pode ativar a ConnectByProxy propriedade definindo-a para True para os gestores de ligação relevantes que aparecem no separador Gestores de Ligação da janela pop-up Do Pacote Executo quando estiver a executar pacotes a partir de SSMS.

    Ativar a propriedade ConnectByProxy/ExecuteOnProxy2

    Também pode ativar a ConnectByProxy propriedade definindo-a para True para os gestores de conexão relevantes que aparecem no separador Gestores de Ligação da atividade do Pacote Executo SSIS quando estiver a executar pacotes em pipelines data factory.

    Ativar a propriedade ConnectByProxy/ExecuteOnProxy3

  • Opção B: Reimplantar o projeto que contém esses pacotes para executar no seu SSIS IR. Em seguida, pode ativar as ConnectByProxy / ExecuteOnProxy propriedades fornecendo os seus caminhos de \Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy] / \Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy] / \Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy] propriedade, e definindo-os para True como substituições de propriedade no separador Avançado do Pacote Executante janela pop-up quando estiver a executar pacotes a partir de SSMS.

    Ativar a propriedade ConnectByProxy/ExecuteOnProxy4

    Também pode ativar as ConnectByProxy / ExecuteOnProxy propriedades fornecendo os seus caminhos de \Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy] / \Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy] / \Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy] propriedade, e definindo-os para True como substituições de propriedade no separador Propriedade Overrides da atividade do Pacote Executo SSIS quando estiver a executar pacotes em oleodutos data factory.

    Ativar a propriedade ConnectByProxy/ExecuteOnProxy5

Depurar as tarefas no local e tarefas de preparação em nuvem

No seu IR auto-hospedado, pode encontrar os registos de tempo de execução na pasta C:\ProgramData\SSISTelemetry e os registos de execução de tarefas de encenação no local e executar SQL/Tarefas de processo na pasta C:\ProgramData\SSISTelemetry\ExecutionLog. Pode encontrar os registos de execução de tarefas de encenação em nuvem no seu SSISDB, caminhos de ficheiros de registo especificados ou Monitor Azure dependendo se armazena os seus pacotes no SSISDB, possibilite a integração do Azure Monitor,etc. Também pode encontrar os IDs exclusivos de tarefas de encenação no local nos registos de execução de tarefas de encenação em nuvem.

ID único da primeira tarefa de encenação

Se tiver levantado bilhetes de apoio ao cliente, pode selecionar o botão Enviar registos no separador De diagnóstico do Microsoft Integration Runtime Gestor de Configuração que está instalado no seu IR auto-hospedado para enviar registos de operação/execução recentes para que possamos investigar.

Faturação para as tarefas no local e tarefas de preparação em nuvem

As tarefas de encenação no local e executar SQL/Tarefas de processo que funcionam no seu IR auto-hospedado são faturadas separadamente, assim como quaisquer atividades de movimento de dados que funcionam em um IR auto-hospedado são faturadas. Isto é especificado no artigo de preços do pipeline de dados da Azure Data Factory.

As tarefas de preparação em nuvem que funcionam no seu Azure-SSIS IR não são faturadas separadamente, mas o seu Azure-SSIS IR em execução é faturado conforme especificado no artigo de preços do Azure-SSIS IR.

Ativar componentes de fluxo de dados personalizados/3º partidos

Para permitir que os seus componentes de fluxo de dados personalizados/3º partidos acedam a dados nas instalações utilizando o IR auto-hospedado como representante da Azure-SSIS IR, siga estas instruções:

  1. Instale os seus componentes de fluxo de dados personalizados/3º partidos direcionados SQL Server 2017 no Azure-SSIS IR através de configurações personalizadas standard/express.

  2. Crie as seguintes chaves de registo DTSPath em IR auto-hospedado se já não existirem:

    1. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath definido para C:\Program Files\Microsoft SQL Server\140\DTS\
    2. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath definido para C:\Program Files (x86)\Microsoft SQL Server\140\DTS\
  3. Instale os seus componentes de fluxo de dados personalizados/3º partidos direcionados SQL Server 2017 no IR auto-hospedado no DTSPath acima e certifique-se de que o seu processo de instalação:

    1. Cria, <DTSPath> <DTSPath>/Connections e <DTSPath>/PipelineComponents <DTSPath>/UpgradeMappings pastas se já não existirem.

    2. Cria o seu próprio ficheiro XML para mapeamentos de extensão na <DTSPath>/UpgradeMappings pasta.

    3. Instala todos os conjuntos referenciados pelos conjuntos de componentes de fluxo de dados personalizados/3º partidos na cache de montagem global (GAC).

Aqui estão exemplos dos nossos parceiros, Theobald Software e Aecorsoft,que adaptaram os seus componentes de fluxo de dados para usar a nossa configuração personalizada expressa e o IR auto-hospedado como proxy para a Azure-SSIS IR.

Impor TLS 1.2

Se precisar de aceder a lojas de dados que foram configuradas para utilizar apenas a criptografia/protocolo de rede mais seguro (TLS 1.2), incluindo o seu Armazenamento Azure Blob para a realização, tem de ativar apenas as versões TLS 1.2 e desativar as versões SSL/TLS mais antigas ao mesmo tempo no seu IR auto-hospedado. Para tal, pode descarregar e executar o script principal.cmd que fornecemos na pasta CustomSetupScript/UserScenarios/TLS 1.2 do nosso recipiente de pré-visualização pública. Utilizando Explorador de Armazenamento do Azure,pode ligar-se ao nosso recipiente de pré-visualização pública, introduzindo o seguinte SAS URI:

https://ssisazurefileshare.blob.core.windows.net/publicpreview?sp=rl&st=2020-03-25T04:00:00Z&se=2025-03-25T04:00:00Z&sv=2019-02-02&sr=c&sig=WAD3DATezJjhBCO3ezrQ7TUZ8syEUxZZtGIhhP6Pt4I%3D

Limitações atuais

  • Apenas os componentes de fluxo de dados que são incorporados/pré-instalados em Standard Edition Azure-SSIS IR, com exceção dos componentes Hadoop/HDFS/DQS, são atualmente suportados, consulte todos os componentes incorporados/pré-instalados no Azure-SSIS IR.
  • Apenas componentes de fluxo de dados personalizados/3º partidos que estão escritos em código gerido (.NET Framework) são atualmente suportados - Os que estão escritos em código nativo (C++) não são atualmente suportados.
  • A alteração dos valores variáveis tanto nas tarefas de preparação no local como na nuvem não é atualmente suportada.
  • A alteração dos valores variáveis do objeto tipo em tarefas de encenação no local não será refletida noutras tarefas.
  • O ParâmetroMapping em OLEDB Source não é atualmente suportado. Como solução, utilize SQL Comando A partir de Variável como o AccessMode e use a Expressão para inserir as suas variáveis/parâmetros num comando SQL. Como ilustração, consulte o pacote ParameterMappingSample.dtsx que pode ser encontrado na pasta SelfHostedIRProxy/Limitations do nosso recipiente de bolhas de pré-visualização pública. Utilizando Explorador de Armazenamento do Azure, pode ligar-se ao nosso recipiente de pré-visualização pública, introduzindo o SAS URI acima.

Passos seguintes

Depois de configurar o seu IR auto-hospedado como representante do seu Azure-SSIS IR, pode implementar e executar os seus pacotes para aceder aos dados no local como executar atividades do Pacote SSIS em pipelines data Factory. Para saber como, consulte os pacotes Run SSIS como executar atividades do Pacote SSIS em pipelines data factory.