Risolvere i problemi di gestione del runtime di integrazione SSIS
SI APPLICA A: Azure Data Factory Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Questo articolo fornisce indicazioni per la risoluzione dei problemi di gestione in Azure-SQL Server Integration Services (SSIS) Integration Runtime (IR), noto anche come SSIS IR.
Panoramica
Se si verifica un problema durante il provisioning o il deprovisioning del runtime di integrazione SSIS, verrà visualizzato un messaggio di errore nel portale di Microsoft Azure Data Factory o viene restituito un errore da un cmdlet di PowerShell. L'errore viene sempre visualizzato nel formato di un codice di errore con un messaggio di errore dettagliato.
Se il codice di errore è InternalServerError, il servizio presenta problemi temporanei ed è necessario ripetere l'operazione in un secondo momento. Se un nuovo tentativo non è utile, contattare il team di supporto di Azure Data Factory.
In caso contrario, tre principali dipendenze esterne possono causare errori: database SQL di Azure o Istanza gestita di SQL di Azure, uno script di installazione personalizzato e una configurazione di rete virtuale.
problemi di database SQL o di Istanza gestita di SQL
database SQL o Istanza gestita di SQL è necessario se si esegue il provisioning di SSIS IR con un database di catalogo SSIS. Il runtime di integrazione SSIS deve essere in grado di accedere a database SQL o Istanza gestita di SQL. Inoltre, l'account di accesso per database SQL o Istanza gestita di SQL deve disporre dell'autorizzazione per creare un database del catalogo SSIS (SSISDB). Se si verifica un errore, nel portale di Data Factory verrà visualizzato un codice errore con un messaggio di eccezione SQL dettagliato. Usare le informazioni nell'elenco seguente per risolvere i problemi relativi ai codici di errore.
AzureSqlConnectionFailure
Questo problema può essere visualizzato quando si effettua il provisioning di un nuovo SSIS IR o quando il runtime di integrazione è in esecuzione. Se l'errore si verifica durante il provisioning del runtime di integrazione, è possibile ricevere un messaggio SqlException dettagliato nel messaggio di errore, a indicare uno dei problemi seguenti:
- Un problema di connessione di rete. Controllare se il nome host per database SQL o Istanza gestita di SQL è accessibile. Verificare inoltre che nessun firewall o gruppo di sicurezza di rete (NSG) blocchi l'accesso di SSIS IR al server.
- Errore di accesso durante l'autenticazione a SQL. L'account specificato non può accedere al database di SQL Server. Assicurarsi di specificare l'account utente corretto.
- Accesso non riuscito durante l'autenticazione di Microsoft Entra ID (identità gestita). Aggiungere l'identità gestita della factory a un gruppo Microsoft Entra e assicurarsi che l'identità gestita disponga delle autorizzazioni di accesso al server di database di catalogo.
- Timeout della connessione. Questo errore è sempre causato da una configurazione relativa alla sicurezza. È consigliabile:
- Creare una nuova macchina virtuale.
- Aggiungere la macchina virtuale allo stesso Rete virtuale di Microsoft Azure del runtime di integrazione se il runtime di integrazione si trova in una rete virtuale.
- Installare SSMS e controllare lo stato di database SQL o Istanza gestita di SQL.
Per altri problemi, risolvere l'errore visualizzato nel messaggio di errore di eccezione SQL dettagliato. In caso di problemi, contattare il team di supporto di database SQL o Istanza gestita di SQL.
Se viene visualizzato l'errore durante l'esecuzione del runtime di integrazione, è probabile che le modifiche al gruppo di sicurezza di rete o al firewall impediscano al nodo del ruolo di lavoro SSIS IR di accedere a database SQL o Istanza gestita di SQL. Sbloccare il nodo del ruolo di lavoro SSIS IR in modo che possa accedere database SQL o Istanza gestita di SQL.
CatalogCapacityLimitError
Ecco il tipo di messaggio di errore seguente: "Il database 'SSISDB' ha raggiunto la quota di dimensioni. Partizionare o eliminare dati, eliminare indici o consultare la documentazione per le possibili risoluzioni."
Le possibili soluzioni sono:
- Aumentare le dimensioni della quota del database SSISDB.
- Modificare la configurazione di SSISDB per ridurre le dimensioni in base a:
- Riduzione del periodo di conservazione e del numero di versioni del progetto.
- Riduzione del periodo di conservazione del log.
- Modifica del livello predefinito del log.
CatalogDbBelongsToAnotherIR
Questo errore indica che database SQL o Istanza gestita di SQL ha già un SSISDB e che viene usato da un altro runtime di integrazione. È necessario specificare un database SQL diverso o Istanza gestita di SQL oppure eliminare il database SSISDB esistente e riavviare il nuovo runtime di integrazione.
CatalogDbCreationFailure
Questo errore può verificarsi per uno dei seguenti motivi:
- L'account utente configurato per SSIS IR non dispone dell'autorizzazione per creare il database. È possibile concedere all'utente l'autorizzazione per creare il database.
- Si verifica un timeout durante la creazione del database, ad esempio un timeout nell'esecuzione o nel funzionamento del database. Ripetere l'operazione in un secondo momento. Se il nuovo tentativo non funziona, contattare il team di supporto di database SQL o Istanza gestita di SQL.
Per altri problemi, controllare il messaggio di errore di eccezione SQL e risolvere il problema indicato nei dettagli dell'errore. In caso di problemi, contattare il team di supporto di database SQL o Istanza gestita di SQL.
InvalidCatalogDb
Questo tipo di messaggio di errore è simile al seguente: "Nome oggetto non valido 'catalog.catalog_properties'". In questo caso, si dispone già di un database denominato SSISDB, ma non è stato creato da SSIS IR oppure il database si trova in uno stato non valido causato da errori nell'ultimo provisioning del runtime di integrazione SSIS. È possibile eliminare il database esistente con il nome SSISDB oppure configurare un nuovo database SQL o Istanza gestita di SQL per il runtime di integrazione.
Problemi di configurazione personalizzati
L'installazione personalizzata offre un'interfaccia per l'aggiunta di passaggi di installazione durante il provisioning o la riconfigurazione di SSIS IR. Per altre informazioni, vedere Personalizzare l'installazione per Azure-SSIS Integration Runtime.
Assicurarsi che il contenitore includa solo i file di installazione personalizzata necessari; tutti gli altri file nel contenitore verranno scaricati nel nodo di lavoro di SSIS IR. È consigliabile testare lo script di installazione personalizzata in un computer locale per correggere eventuali errori di esecuzione prima di eseguire lo script in SSIS IR.
Il contenitore dello script di installazione personalizzata verrà controllato mentre è in esecuzione il runtime di integrazione, perché SSIS IR viene aggiornato regolarmente. Questo aggiornamento richiede l'accesso al contenitore per scaricare lo script di installazione personalizzata e installarlo di nuovo. Il processo controlla anche se il contenitore è accessibile e se il file main.cmd esiste.
Per eventuali errori che comportano l'installazione personalizzata, verrà visualizzato un codice di errore CustomSetupScriptFailure con codice secondario, ad esempio CustomSetupScriptBlobContainerInaccessible o CustomSetupScriptNotFound.
CustomSetupScriptBlobContainerInaccessible
Questo errore indica che SSIS IR non può accedere al contenitore BLOB di Azure per l'installazione personalizzata. Assicurarsi che l'URI SAS del contenitore sia raggiungibile e non sia scaduto.
Se è in esecuzione, arrestare il runtime di esecuzione, riconfigurarlo con il nuovo URI SAS del contenitore dell'installazione personalizzata, quindi riavviare il runtime di esecuzione.
CustomSetupScriptNotFound
Questo errore indica che SSIS IR non è in grado di trovare uno script di installazione personalizzata (main.cmd) nel contenitore BLOB. Verificare il punto fondamentale per l'installazione personalizzata, cioè che main.cmd esista nel contenitore.
CustomSetupScriptExecutionFailure
Questo errore indica che l'esecuzione dello script di installazione personalizzata (main.cmd) ha avuto esito negativo. Provare a eseguire prima lo script nel computer locale oppure controllare i log di esecuzione dell'installazione personalizzata nel contenitore BLOB.
CustomSetupScriptTimeout
Questo errore indica un timeout di esecuzione dello script di installazione personalizzata. Assicurarsi che lo script possa essere eseguito in modo invisibile all'utente e che non siano necessari input interattivi e assicurarsi anche che il contenitore BLOB contenga solo i file di installazione personalizzati necessari. È consigliabile testare prima lo script sul computer locale. È inoltre necessario controllare i log di esecuzione dell'installazione personalizzata nel contenitore BLOB. Il periodo massimo per l'installazione personalizzata è di 45 minuti prima del timeout, mentre il periodo massimo include il tempo per scaricare tutti i file dal contenitore e installarli in SSIS IR. Se è necessario un periodo più lungo, generare un ticket di supporto.
CustomSetupScriptLogUploadFailure
Questo errore indica che il tentativo di caricare i log di esecuzione dell'installazione personalizzata nel contenitore BLOB ha avuto esito negativo. Questo problema si verifica perché SSIS IR non dispone delle autorizzazioni di scrittura per il contenitore BLOB o a causa di problemi di archiviazione o di rete. Se l'installazione personalizzata ha esito positivo, l'errore non influirà su alcuna funzione di SSIS, ma i log saranno mancanti. Se l'installazione personalizzata ha esito negativo con un altro errore e il log non viene caricato, l'errore verrà segnalato per primo, in modo che il log possa essere caricato per l'analisi. Inoltre, dopo la risoluzione del problema, verranno segnalati eventuali problemi più specifici. Se il problema non viene risolto dopo un nuovo tentativo, contattare il team di supporto di Azure Data Factory.
Configurazione della rete virtuale
Quando viene aggiunto alla rete virtuale di Azure, SSIS IR usa la rete virtuale prevista dalla sottoscrizione dell'utente. Per altre informazioni, vedere Aggiungere Azure-SSIS Integration Runtime a una rete virtuale. Dopo l'avvio del runtime di integrazione SSIS, se si verificano problemi di connessione di rete, è possibile provare a usare lo strumento di diagnostica della connettività per diagnosticare autonomamente il problema. Quando si verifica un problema relativo alla rete virtuale, viene visualizzato uno degli errori seguenti.
InvalidVnetConfiguration
Questo errore può verificarsi per vari motivi. Per risolverlo, vedere le sezioni Forbidden, InvalidPropertyValue e MisconfiguredDnsServerOrNsgSettings.
Accesso negato
Questo tipo di errore potrebbe essere simile al seguente: "SubnetId non è abilitato per l'account corrente. Il provider di risorse Microsoft.Batch non è registrato nella stessa sottoscrizione della rete virtuale."
Questi dettagli indicano che Azure Batch non può accedere alla rete virtuale. Registrare il provider di risorse Microsoft.Batch nella stessa sottoscrizione della rete virtuale.
InvalidPropertyValue
Questo tipo di errore potrebbe essere simile a uno dei seguenti:
- "La rete virtuale specificata non esiste o il servizio Batch non ha accesso".
- "La subnet xxx specificata non esiste".
Questi errori indicano che la rete virtuale non esiste, che il servizio Azure Batch non può accedervi o che la subnet specificata non esiste. Verificare che la rete virtuale e la subnet esistano e che Azure Batch possa accedervi.
MisconfiguredDnsServerOrNsgSettings
Questo tipo di messaggio di errore può essere simile al seguente: "Non è stato possibile effettuare il provisioning del runtime di integrazione nella rete virtuale. Se sono configurate le impostazioni del server DNS o del gruppo di sicurezza di rete, assicurarsi che il server DNS sia accessibile e che il gruppo di sicurezza di rete sia configurato correttamente".
In questa situazione è probabilmente presente una configurazione personalizzata delle impostazioni del server DNS o del gruppo di sicurezza di rete, che impedisce la risoluzione o l'accesso al nome del server di Azure richiesto da SSIS IR. Per altre informazioni, vedere Configurazione della rete virtuale di SSIS IR. Se i problemi persistono, contattare il team di supporto di Azure Data Factory.
VNetResourceGroupLockedDuringUpgrade
SSIS IR verrà aggiornato automaticamente a intervalli regolari. Durante l'aggiornamento viene creato un nuovo pool di Azure Batch e viene eliminato quello precedente. Inoltre, le risorse correlate alla rete virtuale per il pool precedente vengono eliminate e nella sottoscrizione vengono create nuove risorse correlate alla rete virtuale. Questo errore indica che l'eliminazione delle risorse correlate alla rete virtuale per il pool precedente ha avuto esito negativo a causa di un blocco di eliminazione a livello di sottoscrizione o di gruppo di risorse. Poiché il cliente controlla e imposta il blocco di eliminazione, in questo caso è necessario rimuoverlo.
VNetResourceGroupLockedDuringStart
Se il provisioning di SSIS IR ha esito negativo, vengono eliminate tutte le risorse che sono state create. Tuttavia, se è presente un blocco di eliminazione delle risorse a livello di sottoscrizione o di gruppo di risorse, le risorse di rete virtuale non vengono eliminate come previsto. Per correggere l'errore, rimuovere il blocco di eliminazione e riavviare il runtime di integrazione.
VNetResourceGroupLockedDuringStop/VNetDeleteLock
Quando viene arrestato SSIS IR, vengono eliminate tutte le risorse correlate alla rete virtuale. L'eliminazione può tuttavia avere esito negativo se è presente un blocco di eliminazione delle risorse a livello di sottoscrizione o di gruppo di risorse. Anche in questo caso il cliente controlla e imposta il blocco di eliminazione. Di conseguenza, deve rimuoverlo e arrestare di nuovo SSIS IR.
NodeUnavailable
Questo errore si verifica quando il runtime di integrazione è in esecuzione; significa che il runtime di integrazione è diventato non integro. Questo errore è sempre causato da una modifica nella configurazione del server DNS o del gruppo di sicurezza di rete che impedisce a SSIS IR di connettersi al servizio necessario. Poiché la configurazione del server DNS e del gruppo di sicurezza di rete è controllata dal cliente, il cliente deve risolvere i problemi di blocco da parte sua. Per altre informazioni, vedere Configurazione della rete virtuale di SSIS IR. Se i problemi persistono, contattare il team di supporto di Azure Data Factory.
Configurazione degli indirizzi IP pubblici statici
Quando si aggiunge il runtime di integrazione Azure-SSIS ad Azure Rete virtuale, è anche possibile usare indirizzi IP pubblici statici per il runtime di integrazione in modo che il runtime di integrazione possa accedere alle origini dati che limitano l'accesso a indirizzi IP specifici. Per altre informazioni, vedere Aggiungere Azure-SSIS Integration Runtime a una rete virtuale.
Oltre ai problemi di rete virtuale precedenti, è anche possibile che si verifichi un problema correlato agli indirizzi IP pubblici statici. Per assistenza, controllare gli errori seguenti.
InvalidPublicIPSpecified
Questo errore può verificarsi per diversi motivi all'avvio del runtime di integrazione Azure-SSIS:
Messaggio di errore | Soluzione |
---|---|
L'indirizzo IP pubblico statico specificato è già usato, specificare due indirizzi non usati per azure-SSIS Integration Runtime. | È consigliabile selezionare due indirizzi IP pubblici statici inutilizzati o rimuovere i riferimenti correnti all'indirizzo IP pubblico specificato e quindi riavviare il runtime di integrazione Azure-SSIS. |
L'indirizzo IP pubblico statico specificato non ha un nome DNS, specificare due di essi con il nome DNS per azure-SSIS Integration Runtime. | È possibile configurare il nome DNS dell'indirizzo IP pubblico in portale di Azure, come illustrato nell'immagine seguente. I passaggi specifici sono i seguenti: (1) Aprire portale di Azure e recuperare la pagina della risorsa di questo indirizzo IP pubblico; (2) Selezionare la sezione Configurazione e configurare il nome DNS, quindi fare clic sul pulsante Salva; (3) Riavviare il runtime di integrazione Azure-SSIS. |
Le reti virtuali fornite e gli indirizzi IP pubblici statici per Azure-SSIS Integration Runtime devono trovarsi nella stessa posizione. | In base ai requisiti della rete di Azure, l'indirizzo IP pubblico statico e la rete virtuale devono trovarsi nella stessa posizione e nella stessa sottoscrizione. Specificare due indirizzi IP pubblici statici validi e riavviare Azure-SSIS IR. |
L'indirizzo IP pubblico statico fornito è uno di base, specificare due standard per azure-SSIS Integration Runtime. | Per informazioni, vedere SKU di indirizzo IP pubblico. |
PublicIPResourceGroupLockedDuringStart
Se il provisioning di Azure-SSIS IR ha esito negativo, vengono eliminate tutte le risorse create. Tuttavia, se è presente un blocco di eliminazione delle risorse a livello di sottoscrizione o gruppo di risorse (che contiene l'indirizzo IP pubblico statico), le risorse di rete non vengono eliminate come previsto. Per correggere l'errore, rimuovere il blocco di eliminazione e riavviare il runtime di integrazione.
PublicIPResourceGroupLockedDuringStop
Quando si arresta Azure-SSIS IR, verranno eliminate tutte le risorse di rete create nel gruppo di risorse contenente l'indirizzo IP pubblico. Tuttavia, l'eliminazione può non riuscire se è presente un blocco di eliminazione della risorsa a livello di sottoscrizione o gruppo di risorse (che contiene l'indirizzo IP pubblico statico). Rimuovere il blocco di eliminazione e riavviare il runtime di integrazione.
PublicIPResourceGroupLockedDuringUpgrade
Azure-SSIS IR viene aggiornato automaticamente a intervalli regolari. I nuovi nodi del runtime di integrazione vengono creati durante l'aggiornamento e i nodi precedenti verranno eliminati. Inoltre, le risorse di rete create (ad esempio, il servizio di bilanciamento del carico e il gruppo di sicurezza di rete) per i nodi precedenti vengono eliminate e le nuove risorse di rete vengono create nella sottoscrizione. Questo errore indica che l'eliminazione delle risorse di rete per i nodi precedenti non è riuscita a causa di un blocco di eliminazione a livello di sottoscrizione o gruppo di risorse (che contiene l'indirizzo IP pubblico statico). Rimuovere il blocco di eliminazione in modo che sia possibile pulire i nodi precedenti e rilasciare l'indirizzo IP pubblico statico per i nodi precedenti. In caso contrario, non è possibile rilasciare l'indirizzo IP pubblico statico e non sarà possibile aggiornare ulteriormente il runtime di integrazione.
PublicIPNotUsableDuringUpgrade
Quando si vogliono usare indirizzi IP pubblici statici personalizzati, devono essere forniti due indirizzi IP pubblici. Una di esse verrà usata per creare immediatamente i nodi del runtime di integrazione e un'altra verrà usata durante l'aggiornamento del runtime di integrazione. Questo errore può verificarsi quando l'altro indirizzo IP pubblico non è utilizzabile durante l'aggiornamento. Per le possibili cause, vedere InvalidPublicIPSpecified.
Gestione delle risorse
Tag risorsa non aggiornato
È possibile applicare tag alle risorse di Azure per organizzarli logicamente in una tassonomia. Mentre il runtime di integrazione SSIS è in esecuzione, le modifiche apportate ai tag della data factory padre di SSIS IR non verranno applicate fino al riavvio del runtime di integrazione SSIS.