Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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!
In questo articolo vengono affrontati gli errori più comuni che possono verificarsi durante l'esecuzione di pacchetti SSIS (SQL Server Integration Services) nel runtime di integrazione SSIS. Vengono quindi descritte le possibili cause e le azioni da intraprendere per risolvere gli errori.
Generali
Dove trovare i log per la risoluzione dei problemi
Nel portale di Azure Data Factory è possibile verificare l'output dell'attività di esecuzione dei pacchetti SSIS, che comprende il risultato dell'esecuzione, i messaggi di errore e l'ID operazione. Per informazioni dettagliate, vedere Monitorare la pipeline.
Nel catalogo SSIS (SSISDB) è possibile consultare i log dettagliati dell'attività di esecuzione. Per informazioni dettagliate, vedere Monitorare i pacchetti in esecuzione e altre operazioni.
Errori comuni, cause e soluzioni
Messaggio di errore: "Il timeout della connessione è scaduto" o "Il servizio ha rilevato un errore durante l'elaborazione della richiesta. Riprovare. "
Di seguito sono elencate le possibili cause e le azioni consigliate:
- La destinazione o l'origine dati è in rapporto di overload. Controllare il carico sulla destinazione origine dati e verificare se la capacità è sufficiente. Nel caso in cui, ad esempio, sia stato usato il database SQL di Azure, è opportuno prendere il considerazione l'aumento delle prestazioni se è probabile che il database raggiunga il timeout.
- La rete tra il runtime di integrazione SSIS e la destinazione o l'origine dati è instabile, soprattutto quando la connessione è tra più aree o tra l'ambiente locale e Azure. Applicare il modello di ripetizione dei tentativi nel pacchetto SSIS seguendo questa procedura:
- Assicurarsi che i pacchetti SSIS possano essere rieseguiti in caso di errore senza effetti collaterali (ad esempio, perdita o duplicazione di dati).
- Configurare l'intervallo tra tentativi e ripetizione dei tentativi dell'attività Esegui pacchetto SSIS nella scheda Generale.
- Per il componente di origine o destinazione ADO.NET e OLEDB, impostare i parametri ConnectRetryCount e ConnectRetryInterval in Gestione connessioni nel pacchetto o nell'attività SSIS.
Messaggio di errore: "L'origine ADO NET non riesce ad acquisire la connessione '...'" con "Si è verificato un errore correlato alla rete o specifico dell'istanza mentre veniva stabilita una connessione con SQL Server. Il server non è stato trovato o non era accessibile. "
Generalmente questo errore significa che la destinazione o l'origine dati non è accessibile da SSIS Integration Runtime. I motivi possono essere di vario tipo. Provare a eseguire queste operazioni:
- Assicurarsi che il nome/l'indirizzo IP della destinazione o dell'origine dati venga trasmesso correttamente.
- Assicurarsi che il firewall sia configurato correttamente.
- Assicurarsi che la rete virtuale sia configurata correttamente se l'origine dati o la destinazione è locale:
- È possibile stabilire se il problema riguarda la configurazione della rete virtuale effettuando il provisioning di una macchina virtuale di Azure nella stessa rete virtuale e controllando che sia possibile accedere alla destinazione o all'origine dati dalla macchina virtuale di Azure.
- Altri dettagli sull'uso di una rete virtuale con un SSIS Integration Runtime sono disponibili in Aggiungere un Azure-SSIS Integration Runtime a una rete virtuale.
Messaggio di errore: "L'origine ADO NET non è riuscita ad acquisire la connessione '...'" con "Impossibile creare una gestione connessione gestita. "
Una possibile causa è che il provider ADO.NET usato nel pacchetto non sia installato nel runtime di integrazione SSIS. È comunque possibile installare il provider tramite un'installazione personalizzata. Per altre informazioni sull'installazione personalizzata, vedere Personalizzare l'installazione di Azure-SSIS Integration Runtime.
Messaggio di errore: "Connessione '...' non viene trovato "
L'errore può essere causato da un problema noto nelle versioni precedenti di SQL Server Management Studio (SSMS). Se il pacchetto contiene un componente personalizzato (ad esempio, SSIS Azure Feature Pack o componenti partner) non installato nel computer in cui è usato SSMS per la distribuzione, SSMS rimuoverà il componente causando l'errore. Aggiornare SSMS alla versione più recente, in cui il problema è risolto.
Messaggio di errore: 'Codice di uscita dell'executor SSIS: -1073741819. "
- Potenziale causa e azione consigliata:
- Questo errore può essere dovuto alle limitazioni a cui devono sottostare l'origine e la destinazione Excel quando più origini o destinazioni Excel vengono eseguite in parallelo in più thread. È possibile ovviare a questa limitazione modificando i componenti di Excel da eseguire in sequenza oppure separandoli in pacchetti diversi e attivandoli tramite "Esegui attività pacchetto" con la proprietà ExecuteOutOfProcess impostata su True.
Messaggio di errore: "Spazio insufficiente sul disco"
Questo errore indica che è esaurito lo spazio del disco locale nel nodo del runtime di integrazione SSIS. Controllare se il pacchetto o l'installazione personalizzata utilizzano molti spazi su disco:
- Se lo spazio sul disco è occupato dal pacchetto, verrà liberato al termine dell'esecuzione del pacchetto.
- Se lo spazio su disco è occupato dall'installazione personalizzata, è necessario arrestare il runtime di integrazione SSIS, modificare lo script e avviare di nuovo il runtime di integrazione. L'intero contenitore BLOB di Azure specificato per l'installazione personalizzata verrà copiato nel nodo del runtime di integrazione SSIS ed è quindi opportuno verificare che nel contenitore non sia presente contenuto non necessario.
Messaggio di errore: "Impossibile recuperare la risorsa dal master. Microsoft.SqlServer.IntegrationServices.Scale.ScaleoutContract.Common.MasterResponseFailedException: Code:300004. Descrizione: Impossibile caricare il file "***". "
- Potenziale causa e azione consigliata:
- Se l'attività SSIS esegue il pacchetto dal file system (file di pacchetto o file di progetto), questo errore si verificherà se il progetto, il pacchetto o il file di configurazione non è accessibile con le credenziali di accesso al pacchetto fornite nell'attività SSIS
- Se si usa File di Azure:
- Il percorso del file deve iniziare con \\<nome> account di archiviazione.file.core.windows.net\<percorso condivisione file>
- Il dominio deve essere "Azure"
- Il nome utente deve essere <il nome dell'account di archiviazione>
- La password deve essere <la chiave di accesso all'archiviazione>
- Se si usa il file locale, verificare se la rete virtuale, le credenziali di accesso ai pacchetti e le autorizzazioni sono configurate correttamente in modo che il runtime di integrazione Azure-SSIS possa accedere alla condivisione file locale
- Se si usa File di Azure:
- Se l'attività SSIS esegue il pacchetto dal file system (file di pacchetto o file di progetto), questo errore si verificherà se il progetto, il pacchetto o il file di configurazione non è accessibile con le credenziali di accesso al pacchetto fornite nell'attività SSIS
Messaggio di errore: "Il nome di file '...' specificato nella connessione non è valido"
- Potenziale causa e azione consigliata:
- È stato specificato un nome file non valido
- Verificare che nella gestione connessione sia stato usato il nome di dominio completo (FQDN) e non l'ora breve
Messaggio di errore: "Impossibile aprire il file '...' "
Questo errore si verifica quando l'esecuzione del pacchetto non riesce a trovare un file nel disco locale all'interno del runtime di integrazione SSIS. Provare a eseguire queste operazioni:
- Non usare il percorso assoluto nel pacchetto in esecuzione nel runtime di integrazione SSIS, ma usare la directory di lavoro di esecuzione corrente (.) o la cartella temporanea (%TEMP%).
- Se è necessario rendere persistenti alcuni file presenti nei nodi del runtime di integrazione SSIS, preparare i file come descritto in Personalizzare la configurazione. In questo modo, al termine dell'esecuzione verranno eliminati tutti i file nella directory di lavoro.
- Usare File di Azure anziché archiviare il file nel nodo del runtime di integrazione SSIS. Per informazioni dettagliate, vedere Usare condivisioni file di Azure.
Messaggio di errore: "Il database SSISDB ha raggiunto la quota di dimensioni.
Una possibile causa è che il database SSISDB creato nel database SQL di Azure o in Istanza gestita di SQL abbia raggiunto la sua quota. Provare a eseguire queste operazioni:
- Prendere in considerazione di aumentare la DTU del database. È possibile trovare informazioni dettagliate in database SQL limiti per un server logico.
- Controllare se il pacchetto genera molti log. In caso affermativo, è possibile configurare un processo elastico per pulire i log. Per conoscere i dettagli, vedere Pulire i log SSISDB tramite processi di database elastico di Azure.
Messaggio di errore: "Il limite di richiesta per il database è ... ed è stato raggiunto. "
Se nel runtime di integrazione SSIS vengono eseguiti molti pacchetti in parallelo, questo errore potrebbe verificarsi perché SSISDB ha raggiunto il limite massimo di richieste. Per risolvere questo problema, provare ad aumentare la DTU di SSISDB. È possibile trovare informazioni dettagliate in database SQL limiti per un server logico.
Messaggio di errore: "Operazione SSIS non riuscita con stato operazione imprevisto: ... "
Questo errore è dovuto principalmente a un problema temporaneo; provare quindi ad avviare nuovamente l'esecuzione del pacchetto. Applicare il modello di ripetizione dei tentativi al pacchetto SSIS seguendo questa procedura:
- Assicurarsi che i pacchetti SSIS possano essere rieseguiti in caso di errore senza effetti collaterali (ad esempio, perdita o duplicazione di dati).
- Configurare l'intervallo tra tentativi e ripetizione dei tentativi dell'attività Esegui pacchetto SSIS nella scheda Generale.
- Per il componente di origine o destinazione ADO.NET e OLEDB, impostare i parametri ConnectRetryCount e ConnectRetryInterval in Gestione connessioni nel pacchetto o nell'attività SSIS.
Messaggio di errore: "Nessun ruolo di lavoro attivo. "
Questo errore indica in genere che il runtime di integrazione SSIS presenta uno stato non integro. Consultare lo stato e gli errori dettagliati nel portale di Azure. Per altre informazioni, vedere Runtime di integrazione Azure-SSIS.
Messaggio di errore: "Impossibile aggiornare il runtime di integrazione, che smetterà di funzionare poiché non è possibile accedere al contenitore BLOB di Azure specificato per la configurazione personalizzata. "
Questo errore si verifica quando il runtime di integrazione SSIS non può accedere alla risorsa di archiviazione configurata per l'installazione personalizzata. Controllare che l'URI SAS (Shared Access Signature) sia valido e che non sia scaduto.
Messaggio di errore: "Provider OLE DB Microsoft per Analysis Services. 'Hresult: 0x80004005 Description:' COM error: COM error: mscorlib; Eccezione generata dalla destinazione di una chiamata"
Una possibile causa è che il nome utente o la password con l'autenticazione a più fattori Microsoft Entra abilitata è configurato per l'autenticazione di Azure Analysis Services. Questa autenticazione non è supportata nel runtime di integrazione SSIS. Provare a usare l'entità servizio per l'autenticazione di Azure Analysis Services:
Preparare un'entità servizio come descritto in Automazione con le entità servizio.
Nella Gestione connessioni configurare Usa un nome utente e una password specifici: impostare app:<AppID TenantID>>@< come nome utente e clientSecret come password. Di seguito è riportato un esempio di nome utente formattato correttamente:
app:12345678-9012-3456-789a-bcdef012345678@9abcdef0-1234-5678-9abc-def0123456789abc
In gestione connessione configurare Usa nome utente e password specifici: impostare AppID come nome utente e clientSecret come password.
Messaggio di errore: "L'origine ADONET non è riuscita ad acquisire la connessione {GUID} con il messaggio di errore seguente: Accesso non riuscito per l'utente 'NT AUTHORITY\ANONYMOUS LOGON'" quando si usa un'identità gestita"
Quando il parametro ConnectUsingManagedIdentity è True, assicurarsi di non configurare il metodo di autenticazione di gestione connessione come Autenticazione della password di Active Directory. È possibile configurarlo come Autenticazione SQL, che verrebbe ignorato impostando ConnectUsingManagedIdentity.
Messaggio di errore: "0xC020801F at ..., OData Source [...]: Impossibile acquisire una connessione gestita dalla gestione connessione di run-time"
Una possibile causa è che nel runtime di integrazione SSIS non sia abilitato Transport Layer Security (TLS), richiesto dall'origine OData. È possibile abilitare TLS nel runtime di integrazione SSIS ricorrendo a una configurazione personalizzata. Per altre informazioni, vedere gli articoli Impossibile connettersi a Project Online Odata da SSIS e Personalizzare l'installazione del runtime di integrazione Azure-SSIS.
Messaggio di errore: "Impossibile richiedere l'attività di gestione temporanea con GUID operazione... a causa del messaggio di errore: Impossibile distribuire l'operazione di gestione temporanea con il messaggio di errore: Microsoft.SqlServer.IntegrationServices.AisAgentCore.AisAgentException: Impossibile caricare il proxy di dati. "
Assicurarsi che il runtime di integrazione Azure-SSIS sia configurato con il runtime di integrazione self-hosted. Per altri dettagli, vedere Configurare il runtime di integrazione self-hosted come proxy per Azure-SSIS Integration Runtime in ADF.
Messaggio di errore: "Stato attività di gestione temporanea: Non riuscita. Errore dell'attività di gestione temporanea: ErrorCode: 2010, ErrorMessage: Il runtime di integrazione self-hosted... è offline"
Assicurarsi che il runtime di integrazione self-hosted sia installato e avviato. Per altri dettagli, vedere Creare e configurare un runtime di integrazione self-hosted.
Messaggio di errore: "Errore nell'attività di gestione temporanea: ErrorCode: 2906, ErrorMessage: Impossibile eseguire il pacchetto. Output: {"OperationErrorMessages": "Error: Il provider OLE DB ... necessario non è registrato. Se il driver a 64 bit non è installato, eseguire il pacchetto in modalità a 32 bit ... "
Assicurarsi che il provider corrispondente usato dai connettori OLE DB nel pacchetto sia correttamente installato nel computer del runtime di integrazione self-hosted. Per altri dettagli, vedere Configurare il runtime di integrazione self-hosted come proxy per Azure-SSIS Integration Runtime in ADF
Messaggio di errore: "Errore nell'attività di gestione temporanea: ErrorCode: 2906, ErrorMessage: Impossibile eseguire il pacchetto. Output: {"OperationErrorMessages": "Errore: System.IO.FileLoadException: Impossibile caricare il file o l'assembly 'Microsoft.WindowsAzure.Storage, Version=..., Culture=neutral, PublicKeyToken=31bf3856ad364e35' oppure una delle sue dipendenze. La definizione del manifesto dell'assembly individuato non corrisponde al riferimento all'assembly.'... "
Una possibile causa è che il runtime di integrazione self-hosted non sia installato o aggiornato correttamente. In questo caso, è opportuno scaricare e reinstallare il runtime di integrazione self-hosted più recente. Per altri dettagli, vedere Creare e configurare un runtime di integrazione self-hosted.
Messaggio di errore: "Attività di gestione temporanea non riuscita. TaskStatus: Non riuscita, ErrorCode: 2906, ErrorMessage: Impossibile eseguire il pacchetto. Per altri dettagli, selezionare l'output dell'esecuzione attività nella stessa riga. Output: {"OperationErrorMessages": "4/14/2021 7:10:35 AM +00:00 : = Impossibile avviare il proxy named pipe... "
Controllare che i criteri di sicurezza siano correttamente assegnati all'account che esegue il servizio del runtime di integrazione self-hosted. Se nell'attività Esegui pacchetto SSIS è stata usata l'autenticazione Windows o se nel catalogo SSIS (SSISDB) sono state impostate le credenziali di esecuzione, è necessario assegnare gli stessi criteri di sicurezza all'account Windows usato. Per altri dettagli, vedere Configurare il runtime di integrazione self-hosted come proxy per Azure-SSIS Integration Runtime in ADF
Messaggio di errore: "È necessaria una connessione per la richiesta dei metadati. Se è attiva la modalità offline, deselezionare il comando Offline nel menu SSIS per abilitare la connessione."
- Potenziale causa e azione consigliata:
- Se nel log di esecuzione è presente anche il messaggio di avviso "Il componente non supporta l'uso della gestione connessione con il valore ConnectByProxy impostato su true", significa che viene usata una gestione connessione in un componente che non supporta ancora "ConnectByProxy". Per informazioni sui componenti supportati, vedere Configurare il runtime di integrazione self-hosted come proxy per Azure-SSIS Integration Runtime in ADF
- Il log di esecuzione è disponibile nel report SSMS o nella cartella dei log specificata nell'attività di esecuzione del pacchetto SSIS.
- In alternativa, è possibile usare anche la rete virtuale per accedere ai dati locali. Per informazioni dettagliate, vedere Aggiungere Azure-SSIS Integration Runtime a una rete virtuale.
Messaggio di errore: "Stato attività di gestione temporanea: Non riuscita. Errore nell'attività di gestione temporanea: ErrorCode: 2906, ErrorMessage: Impossibile eseguire il pacchetto. Output: {"OperationErrorMessages": "Codice di uscita SSIS Executor: -1.\n", "LogLocation": "...\SSISTelemetry\ExecutionLog\...", "effectiveIntegrationRuntime": "...", "executionDuration": ..., "durationInQueue": { "integrationRuntimeQueue": ... }} "
Assicurarsi che nel computer del runtime di integrazione self-hosted sia installato il runtime di Visual C++. Per altri dettagli, vedere Configurare il runtime di integrazione self-hosted come proxy per Azure-SSIS Integration Runtime in ADF
Messaggio di errore: "Timeout durante la lettura dalla gestione temporanea"
Questo errore si verifica quando SSIS-IR con SHIR come proxy dati non riesce a leggere correttamente i dati dal BLOB di staging. In genere, è dovuto al fatto che shir non è riuscito a trasferire i dati locali nel BLOB di staging. Il tentativo di SSIS-IR di leggere i dati di staging non riesce con un errore di timeout. È necessario controllare i log SHIR nella cartella C:\ProgramData\SSISTelemetry per i log di runtime e la cartella C:\ProgramData\SSISTelemetry\ExecutionLog per esaminare ulteriormente il motivo per cui i dati non sono stati caricati correttamente nel BLOB di staging da SHIR.
Sono state attivate più esecuzioni di pacchetti in modo imprevisto
- Potenziale causa e azione consigliata:
- Per attivare l'esecuzione dei pacchetti SSIS è stata usata l'attività di ricerca o l'attività stored procedure del file di definizione dell'applicazione. Il comando t-sql può generare un problema temporaneo e attivare una nuova esecuzione, determinando così l'esecuzione di più pacchetti.
- Usare invece l'attività ExecuteSSISPackage per garantire che non venga ripetuta l'esecuzione dei pacchetti, a meno che l'utente non imposti il numero di tentativi nell'attività. Per informazioni dettagliate, vedere Eseguire un pacchetto SSIS tramite l'attività Esegui pacchetto SSIS.
- Perfezionare il comando t-sql in modo da ripetere l'esecuzione solo dopo aver verificato che un'esecuzione non sia già stata attivata
L'esecuzione del pacchetto richiede troppo tempo
Di seguito sono elencate le possibili cause e le azioni consigliate:
- Nel runtime di integrazione SSIS sono state pianificate troppe esecuzioni di pacchetti, che devono restare in coda in attesa del proprio turno.
Determinare il valore massimo usando questa formula:
Numero massimo esecuzioni parallele per runtime di integrazione = Numero nodi * Numero massimo esecuzioni parallele per nodo
Per informazioni su come impostare il numero di nodi e il numero massimo di esecuzioni per nodo, vedere Creare un runtime di integrazione Azure-SSIS in Azure Data Factory.
- Il runtime di integrazione SSIS è stato arrestato o presenta uno stato non integro. Per informazioni su come controllare lo stato e gli errori del runtime di integrazione SSIS, vedere Runtime di integrazione Azure-SSIS.
È anche consigliabile impostare un timeout nella scheda Generale :
.
Prestazioni non ottimali nell'esecuzione dei pacchetti
Provare a eseguire queste operazioni:
Controllare se il runtime di integrazione SSIS si trova nella stessa area dell'origine e della destinazione dati
Impostare il livello di registrazione dell'esecuzione del pacchetto su Prestazioni per raccogliere informazioni di durata per ogni componente nell'esecuzione. Per informazioni dettagliate, vedere Registrazione di Integration Services (SSIS).
Controllare le prestazioni del nodo del runtime di integrazione nel portale di Azure:
- Per informazioni su come monitorare il runtime di integrazione SSIS, vedere Runtime di integrazione Azure-SSIS.
- È possibile consultare la cronologia d'uso della CPU o della memoria del runtime di integrazione SSIS visualizzando le metriche del data factory nel portale di Azure.