Azure SQL database e Istanza gestita di SQL servizio Importazione/Esportazione richiede molto tempo per importare o esportare un database

Si applica a: Database SQL di Azure Istanza gestita di SQL di Azure

Quando si usa il servizio Importazione/Esportazione, il processo potrebbe richiedere più tempo del previsto. Questo articolo descrive le possibili cause di questo ritardo e metodi alternativi per la soluzione alternativa.

servizio importazione/esportazione del database Azure SQL

Il servizio importazione/esportazione del database Azure SQL è un servizio Web basato su REST che viene eseguito in ogni data center di Azure. Questo servizio viene chiamato quando si usa l'opzione Importa o Esporta un database per spostare il database nel portale di Azure. Il servizio offre servizi di accodamento e calcolo di richieste gratuite per eseguire importazioni ed esportazioni tra database Azure SQL e archiviazione BLOB di Azure.

Le operazioni di importazione ed esportazione non rappresentano un backup di database fisico tradizionale, ma un backup logico del database che usa un formato BACPAC speciale. Il formato BACPAC consente di evitare di dover usare un formato fisico che può variare tra le versioni di Microsoft SQL Server, Azure SQL Database e Istanza gestita di SQL di Azure.

Cosa causa ritardi nel processo?

Il servizio importazione/esportazione del database Azure SQL offre un numero limitato di macchine virtuali di calcolo per area per elaborare le operazioni di importazione ed esportazione. Le macchine virtuali di calcolo sono ospitate per area per assicurarsi che l'importazione o l'esportazione eviti ritardi e addebiti per la larghezza di banda tra aree. Se troppe richieste vengono eseguite contemporaneamente nella stessa area, possono verificarsi ritardi significativi nell'elaborazione delle operazioni. Il tempo necessario per completare le richieste può variare da pochi secondi a molte ore.

Inoltre, poiché il servizio Importazione/Esportazione esegue un backup logico del database, il tempo necessario per il completamento dipende dal numero di oggetti nel database rispetto a un backup tradizionale del database fisico.

Nota

Dopo l'assegnazione delle risorse e l'elaborazione di una richiesta, il servizio annulla automaticamente la richiesta dopo due giorni.

Se le esportazioni di database vengono usate solo per il ripristino dall'eliminazione accidentale dei dati, tutte le edizioni di database Azure SQL offrono funzionalità di ripristino self-service dai backup generati dal sistema. Tuttavia, se sono necessarie queste esportazioni per altri motivi e se sono necessarie prestazioni di importazione/esportazione più veloci o più prevedibili, considerare le opzioni seguenti:

Aspetti da considerare quando si esporta o si importa un database

  • Tutti i metodi descritti in questo articolo utilizzano le unità di transazione di database (DTU) o la quota della CPU, causando la limitazione da parte del servizio database Azure SQL. È possibile visualizzare le statistiche DTU per il database nel portale di Azure. Se il database ha raggiunto i limiti delle risorse, aggiornare il livello di servizio per aggiungere altre risorse.
  • Idealmente, è consigliabile eseguire applicazioni client, ad esempio l'utilità sqlpackage o l'applicazione livello dati personalizzata, da una macchina virtuale nella stessa area del database. In caso contrario, potrebbero verificarsi problemi di prestazioni correlati alla latenza di rete.
  • L'esportazione di tabelle di grandi dimensioni senza indici cluster può essere molto lenta o persino causare errori. Questo comportamento si verifica perché la tabella non può essere suddivisa ed esportata in parallelo. Al contrario, deve essere esportata in una singola transazione e ciò causa un rallentamento delle prestazioni e un potenziale errore durante l'esportazione, in particolare per tabelle di grandi dimensioni.

Considerazioni sull'esportazione di un database