Configurare un runtime di integrazione self-hosted come proxy per un runtime di integrazione Azure-SSIS

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Questo articolo descrive come eseguire pacchetti di SQL Server Integration Services (SSIS) in azure-SSIS Integration Runtime (Azure-SSIS IR) con un runtime di integrazione self-hosted (runtime di integrazione self-hosted) configurato come proxy.

Con questa funzionalità è possibile accedere ai dati ed eseguire attività in locale senza dover aggiungere il runtime di integrazione Azure-SSIS a una rete virtuale. La funzionalità è utile quando la rete aziendale ha una configurazione troppo complessa o un criterio troppo restrittivo per l'inserimento del runtime di integrazione Azure-SSIS.

Questa funzionalità può essere abilitata solo in SSIS Flusso di dati Attività ed Esegui attività SQL/Processo per il momento.

Abilitata in Flusso di dati Attività, questa funzionalità verrà suddivisa in due attività di gestione temporanea ogni volta che applicabile:

  • Attività di gestione temporanea locale: questa attività esegue il componente del flusso di dati che si connette a un archivio dati locale nel runtime di integrazione self-hosted. Sposta i dati dall'archivio dati locale in un'area di gestione temporanea nel Archiviazione BLOB di Azure o viceversa.
  • Attività di gestione temporanea cloud: questa attività esegue il componente del flusso di dati che non si connette a un archivio dati locale nel runtime di integrazione Azure-SSIS. Sposta i dati dall'area di gestione temporanea nel Archiviazione BLOB di Azure a un archivio dati cloud o viceversa.

Se l'attività Flusso di dati sposta i dati dall'ambiente locale al cloud, la prima e la seconda attività di staging saranno rispettivamente attività locali e di gestione temporanea cloud. Se l'attività Flusso di dati sposta i dati dal cloud all'ambiente locale, la prima e la seconda attività di gestione temporanea saranno rispettivamente attività di gestione temporanea cloud e locale. Se l'attività Flusso di dati sposta i dati dall'ambiente locale all'ambiente locale, la prima e la seconda attività di staging saranno entrambe attività di staging locali. Se l'attività Flusso di dati sposta i dati dal cloud al cloud, questa funzionalità non è applicabile.

Abilitata in Esegui attività SQL/Processo, questa funzionalità verrà eseguita nel runtime di integrazione self-hosted.

Altri vantaggi e funzionalità di questa funzionalità consentono, ad esempio, di configurare il runtime di integrazione self-hosted nelle aree non ancora supportate da un runtime di integrazione Azure-SSIS e di consentire l'indirizzo IP statico pubblico del runtime di integrazione self-hosted nel firewall delle origini dati.

Preparare il runtime di integrazione self-hosted

Per usare questa funzionalità, creare prima una data factory e configurare un runtime di integrazione SSIS di Azure. Se non è già stato fatto, seguire le istruzioni riportate in Configurare un runtime di integrazione Azure-SSIS.

Si configura quindi il runtime di integrazione self-hosted nella stessa data factory in cui è configurato il runtime di integrazione Azure-SSIS. A tale scopo, vedere Creare un runtime di integrazione self-hosted.

Infine, è possibile scaricare e installare la versione più recente del runtime di integrazione self-hosted, nonché i driver e il runtime aggiuntivi, nel computer locale o nella macchina virtuale di Azure, come indicato di seguito:

  • Scaricare e installare la versione più recente del runtime di integrazione self-hosted.

  • Abilitare l'esecuzione di pacchetti SSIS nel nodo del runtime di integrazione self-hosted se la versione del runtime di integrazione self-hosted è 5.28.0 o successiva.

    La proprietà ExecuteSsisPackage è stata introdotta da runtime di integrazione self-hosted versione 5.28.0. Usare l'azione della riga di comando del runtime di integrazione self-hosted seguente per abilitare o disabilitare l'esecuzione del pacchetto SSIS:

    • -EnableExecuteSsisPackage Abilitare l'esecuzione del pacchetto SSIS nel nodo del runtime di integrazione self-hosted.

    • -DisableExecuteSsisPackage Disabilita l'esecuzione del pacchetto SSIS nel nodo del runtime di integrazione self-hosted.

    • -GetExecuteSsisPackage

    I dettagli della riga di comando del runtime di integrazione self-hosted fanno riferimento a Configurare un runtime di integrazione self-hosted esistente tramite PowerShell locale.

    Il nodo del runtime di integrazione self-hosted appena installato con la versione 5.28.0 o successiva, la proprietà ExecuteSsisPackage è disabilitata per impostazione predefinita.

    Il nodo del runtime di integrazione self-hosted esistente è stato aggiornato alla versione 5.28.0 o successiva, la proprietà ExecuteSsisPackage è abilitata per impostazione predefinita

  • Se si usano database OLEDB (Object Linking and Embedding Database), Open Database Connessione ivity (ODBC) o connettori ADO.NET nei pacchetti, scaricare e installare i driver pertinenti nello stesso computer in cui è installato il runtime di integrazione self-hosted, se non è già stato fatto.

    Se si usa la versione precedente del driver OLEDB per SQL Server (SQL Server Native Client [SQLNCLI]), scaricare la versione a 64 bit.

    Se si usa la versione più recente del driver OLEDB per SQL Server (MSOLEDBSQL), scaricare la versione a 64 bit.

    Se si usano driver OLEDB/ODBC/ADO.NET per altri sistemi di database, ad esempio PostgreSQL, MySQL, Oracle e così via, è possibile scaricare le versioni a 64 bit dai rispettivi siti Web.

  • Se si usano i componenti del flusso di dati di Azure Feature Pack nei pacchetti, scaricare e installare Il Feature Pack di Azure per SQL Server 2017 nello stesso computer in cui è installato il runtime di integrazione self-hosted, se non è già stato fatto.

  • Se non è già stato fatto, scaricare e installare la versione a 64 bit del runtime di Visual C++ (VC) nello stesso computer in cui è installato il runtime di integrazione self-hosted.

Abilitare autenticazione di Windows per le attività locali

Se le attività di staging locali e Le attività di esecuzione di SQL/Processo nel runtime di integrazione self-hosted richiedono autenticazione di Windows, è necessario configurare anche autenticazione di Windows funzionalità nel runtime di integrazione Azure-SSIS.

Le attività di staging locali e Le attività di esecuzione di SQL/Processo verranno richiamate con l'account del servizio runtime di integrazione self-hosted (NT edizione Standard RVICE\DIAHostService, per impostazione predefinita) e gli archivi dati saranno accessibili con l'account autenticazione di Windows. Entrambi gli account richiedono l'assegnazione di determinati criteri di sicurezza. Nel computer del runtime di integrazione self-hosted passare a Criteri di sicurezza locali Assegnazione diritti utente criteri>>locali e quindi eseguire le operazioni seguenti:

  1. Assegnare le quote di memoria per un processo e Sostituire i criteri token a livello di processo all'account del servizio runtime di integrazione self-hosted. Questa operazione dovrebbe verificarsi automaticamente quando si installa il runtime di integrazione self-hosted con l'account del servizio predefinito. In caso contrario, assegnare questi criteri manualmente. Se si usa un account di servizio diverso, assegnarvi gli stessi criteri.

  2. Assegnare il criterio Accesso come servizio all'account di autenticazione di Windows.

Preparare il servizio collegato Archiviazione BLOB di Azure per la gestione temporanea

Se non è già stato fatto, creare un servizio collegato Archiviazione BLOB di Azure nella stessa data factory in cui è configurato il runtime di integrazione Azure-SSIS. A tale scopo, vedere Creare un servizio collegato di Azure Data Factory. Assicurarsi di eseguire le operazioni seguenti:

  • Per Archivio dati selezionare Archiviazione BLOB di Azure.
  • Per Connessione tramite il runtime di integrazione, selezionare AutoResolveIntegrationRuntime (non il runtime di integrazione self-hosted), quindi è possibile ignorarlo e usare il runtime di integrazione Azure-SSIS per recuperare le credenziali di accesso per il Archiviazione BLOB di Azure.
  • Per Metodo di autenticazione selezionare Chiave account, URI di firma di accesso condiviso, entità servizio, identità gestita o identità gestita assegnata dall'utente.

Suggerimento

Se l'istanza di Data Factory è abilitata per Git, un servizio collegato senza autenticazione della chiave non verrà pubblicato immediatamente, il che significa che non è possibile salvare il runtime di integrazione che dipende dal servizio collegato nel ramo di funzionalità. L'autenticazione con chiave dell'account o URI di firma di accesso condiviso pubblicherà immediatamente il servizio collegato.

Suggerimento

Se si seleziona il metodo dell'entità servizio, concedere all'entità servizio almeno un Archiviazione ruolo Collaboratore dati BLOB. Per altre informazioni, vedere connettore Archiviazione BLOB di Azure. Se si seleziona il metodo Identità/ gestita assegnata dall'utente con identità gestita, concedere all'identità gestita assegnata dal sistema o dall'utente specificato un ruolo appropriato per accedere alle Archiviazione BLOB di Azure. Per altre informazioni, vedere Access Archiviazione BLOB di Azure using Microsoft Entra authentication with the specified system/user-assigned managed identity for your ADF .For more information, see Access Archiviazione BLOB di Azure using Microsoft Entra authentication with the specified system/user-assigned managed identity for your ADF.

Prepare the Azure Blob storage-linked service for staging

Configurare un runtime di integrazione Azure-SSIS con il runtime di integrazione self-hosted come proxy

Dopo aver preparato il runtime di integrazione self-hosted e Archiviazione BLOB di Azure servizio collegato per la gestione temporanea, è ora possibile configurare il runtime di integrazione Azure-SSIS nuovo o esistente con il runtime di integrazione self-hosted come proxy nel portale o nell'app di Data Factory. Prima di eseguire questa operazione, tuttavia, se il runtime di integrazione Azure-SSIS esistente è già in esecuzione, è possibile arrestare, modificare e quindi riavviarlo.

  1. Nel riquadro Configurazione del runtime di integrazione ignorare le pagine Impostazioni generali e Impostazioni distribuzione selezionando il pulsante Continua.

  2. Nella pagina Impostazioni avanzate eseguire le operazioni seguenti:

    1. Selezionare la casella di controllo Configura runtime di integrazione self-hosted come proxy per Azure-SSIS Integration Runtime .

    2. Nell'elenco a discesa Runtime di integrazione self-hosted selezionare il runtime di integrazione self-hosted esistente come proxy per Azure-SSIS IR.

    3. Nell'elenco a discesa Servizio collegato archiviazione di staging selezionare il servizio collegato Archiviazione BLOB di Azure esistente o crearne uno nuovo per la gestione temporanea.

    4. Nella casella Percorso di gestione temporanea specificare un contenitore BLOB nell'account di Archiviazione di Azure selezionato o lasciarlo vuoto per usare uno predefinito per la gestione temporanea.

    5. Selezionare il pulsante Continua.

    Advanced settings with a self-hosted IR

È anche possibile configurare il runtime di integrazione Azure-SSIS nuovo o esistente con il runtime di integrazione self-hosted come proxy usando 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

Abilitare i pacchetti SSIS per l'uso di un proxy

Usando la versione più recente di SSDT come estensione progetti SSIS per Visual Studio o un programma di installazione autonomo, è possibile trovare una nuova ConnectByProxy proprietà nelle gestioni connessioni per i componenti del flusso di dati supportati e ExecuteOnProxy la proprietà in Esegui attività SQL/Processo.

Quando si progettano nuovi pacchetti contenenti Flusso di dati Attività con componenti che accedono ai dati locali, è possibile abilitare la ConnectByProxy proprietà impostandola su True nel riquadro Proprietà delle gestioni connessioni pertinenti.

Quando si progettano nuovi pacchetti contenenti Attività esegui SQL/Processo eseguite in locale, è possibile abilitare la ExecuteOnProxy proprietà impostandola su True nel riquadro Proprietà delle attività pertinenti.

Enable ConnectByProxy/ExecuteOnProxy property

È anche possibile abilitare le ConnectByProxy/ExecuteOnProxy proprietà quando si eseguono pacchetti esistenti, senza doverli modificare manualmente uno alla volta. Sono disponibili due opzioni:

  • Opzione A: Aprire, ricompilare e ridistribuire il progetto contenente tali pacchetti con la versione più recente di SSDT da eseguire nel runtime di integrazione Azure-SSIS. È quindi possibile abilitare la ConnectByProxy proprietà impostandola su True per le gestioni connessioni pertinenti visualizzate nella scheda Gestione connessioni della finestra popup Esegui pacchetto quando si eseguono pacchetti da SSMS.

    Enable ConnectByProxy/ExecuteOnProxy property2

    È anche possibile abilitare la ConnectByProxy proprietà impostandola su True per le gestioni connessioni pertinenti visualizzate nella scheda Gestione connessioni dell'attività Esegui pacchetto SSIS quando si eseguono pacchetti nelle pipeline di Data Factory.

    Enable ConnectByProxy/ExecuteOnProxy property3

  • Opzione B: ridistribuire il progetto contenente tali pacchetti da eseguire nel runtime di integrazione SSIS. È quindi possibile abilitare le proprietà specificando i ConnectByProxyExecuteOnProxy/relativi percorsi delle proprietà,\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]/\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy] e impostandoli su True come override delle proprietà nella scheda Avanzate della finestra popup Esegui pacchetto quando si eseguono pacchetti da SSMS.

    Enable ConnectByProxy/ExecuteOnProxy property4

    È anche possibile abilitare le ConnectByProxyExecuteOnProxy/proprietà fornendo i relativi percorsi delle proprietà,\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]/\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy] e impostandoli su True come override delle proprietà nella scheda Override proprietà dell'attività Esegui pacchetto SSIS quando si eseguono pacchetti nelle pipeline di Data Factory.

    Enable ConnectByProxy/ExecuteOnProxy property5

Eseguire il debug delle attività locali e delle attività di gestione temporanea cloud

Nel runtime di integrazione self-hosted è possibile trovare i log di runtime nella cartella C:\ProgramData\SSISTelemetry e i log di esecuzione delle attività di staging locali ed Eseguire attività SQL/Process nella cartella C:\ProgramData\SSISTelemetry\ExecutionLog . È possibile trovare i log di esecuzione delle attività di gestione temporanea cloud nel database SSISDB, i percorsi dei file di registrazione specificati o Monitoraggio di Azure, a seconda che i pacchetti siano archiviati in SSISDB, abilitare l'integrazione di Monitoraggio di Azure e così via. È anche possibile trovare gli ID univoci delle attività di staging locali nei log di esecuzione delle attività di gestione temporanea cloud.

Unique ID of the first staging task

Se sono stati generati ticket di supporto clienti, è possibile selezionare il pulsante Invia log nella scheda Diagnostica di Microsoft Integration Runtime Configuration Manager installato nel runtime di integrazione self-hosted per inviare i log di operazione/esecuzione recenti per l'analisi.

Fatturazione per le attività locali e le attività di gestione temporanea cloud

Le attività di staging locali e Le attività di esecuzione di SQL/Processo eseguite nel runtime di integrazione self-hosted vengono fatturate separatamente, esattamente come vengono fatturate tutte le attività di spostamento dei dati eseguite in un runtime di integrazione self-hosted. Questa opzione è specificata nell'articolo prezzi della pipeline di dati di Azure Data Factory.

Le attività di gestione temporanea cloud eseguite nel runtime di integrazione Azure-SSIS non vengono fatturate separatamente, ma il runtime di integrazione Azure-SSIS in esecuzione viene fatturato come specificato nell'articolo prezzi di Azure-SSIS IR.

Applicare TLS 1.2

Se è necessario accedere agli archivi dati configurati per l'uso solo del protocollo di rete più sicuro/crittografico più sicuro (TLS 1.2), incluso il Archiviazione BLOB di Azure per la gestione temporanea, è necessario abilitare solo TLS 1.2 e disabilitare contemporaneamente le versioni SSL/TLS precedenti nel runtime di integrazione self-hosted. A tale scopo, è possibile scaricare ed eseguire lo script main.cmd fornito nella cartella CustomSetupScript/UserScenarios/TLS 1.2 del contenitore BLOB di anteprima pubblica. Usando Archiviazione di Azure Explorer, è possibile connettersi al contenitore BLOB di anteprima pubblica immettendo l'URI di firma di accesso condiviso seguente:

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

Limitazioni correnti

  • Solo i componenti del flusso di dati predefiniti/preinstallati in Azure-SSIS IR edizione Standard, ad eccezione dei componenti Hadoop/HDFS/DQS, sono attualmente supportati, vedere tutti i componenti predefiniti/preinstallati in Azure-SSIS IR.
  • Attualmente sono supportati solo i componenti del flusso di dati personalizzati/di terze parti scritti in codice gestito (.NET Framework). Tali componenti scritti in codice nativo (C++) non sono attualmente supportati.
  • La modifica dei valori delle variabili nelle attività di gestione temporanea locale e cloud non è attualmente supportata.
  • La modifica dei valori delle variabili di tipo oggetto nelle attività di staging locali non verrà riflessa in altre attività.
  • ParameterMapping nell'origine OLEDB non è attualmente supportato. Come soluzione alternativa, usare comando SQL da variabile come AccessMode e usare Expression per inserire variabili/parametri in un comando SQL. Come illustrazione, vedere il pacchetto ParameterMappingSample.dtsx disponibile nella cartella SelfHostedIRProxy/Limitations del contenitore BLOB di anteprima pubblica. Usando Archiviazione di Azure Explorer, è possibile connettersi al contenitore BLOB di anteprima pubblica immettendo l'URI di firma di accesso condiviso precedente.

Dopo aver configurato il runtime di integrazione self-hosted come proxy per il runtime di integrazione Azure-SSIS, è possibile distribuire ed eseguire i pacchetti per accedere ai dati ed eseguire istruzioni/processi SQL in locale come attività Esegui pacchetto SSIS nelle pipeline di Data Factory. Per informazioni su come, vedere Eseguire pacchetti SSIS come attività Esegui pacchetto SSIS nelle pipeline di Data Factory. Vedere anche i blog: Eseguire qualsiasi SQL ovunque in 3 semplici passaggi con SSIS in Azure Data Factory ed eseguire qualsiasi processo ovunque in 3 semplici passaggi con SSIS in Azure Data Factory.