Condividi tramite


Linee guida standard per l'importazione bulk di dati

Per effettuare l'importazione bulk di dati da un file soltanto è possibile utilizzare il comando bcp, l'istruzione BULK INSERT o la funzione OPENROWSET (BULK).

[!NOTA]

È possibile scrivere un'applicazione personalizzata che esegua l'importazione bulk di dati da oggetti diversi da un file di testo. Per eseguire l'importazione bulk di dati dai buffer della memoria utilizzare le estensioni bcp dell'interfaccia API (Application Programming Interface) Native Client (ODBC) SQL Server o dell'interfaccia IRowsetFastLoad di OLE DB. Per eseguire l'importazione bulk di dati da una tabella di dati C# utilizzare la copia bulk ADO.NET API, SqlBulkCopy.

[!NOTA]

L'importazione bulk di dati in una tabella remota non è supportata.

Quando si esegue un'importazione bulk di dati da un file di dati in un'istanza di MicrosoftSQL Server, attenersi alle linee guida seguenti:

  • Ottenere le autorizzazioni necessarie per l'account utente in uso.

    L'account utente utilizzato per l'esecuzione dell'utilità bcp, dell'istruzione BULK INSERT oppure dell'istruzione INSERT ... SELECT * FROM OPENROWSET(BULK...) deve disporre delle autorizzazioni necessarie per la tabella, che vengono assegnate dal proprietario della tabella. Per ulteriori informazioni sulle autorizzazioni necessarie per ogni metodo, vedere Utilità bcp, OPENROWSET (Transact-SQL) e BULK INSERT (Transact-SQL).

  • Utilizzare il modello di recupero con registrazione minima delle operazioni bulk.

    Questa linea guida riguarda un database che utilizza il modello di recupero con registrazione completa. Il modello di recupero con registrazione minima delle operazioni bulk risulta utile quando si eseguono operazioni bulk in una tabella non indicizzata (un heap). L'utilizzo del recupero con registrazione minima delle operazioni bulk consente di evitare i problemi di esaurimento dello spazio da parte del log delle transazioni in quanto questo tipo di recupero non inserisce righe nel log. Per ulteriori informazioni sul modello di recupero con registrazione minima delle operazioni bulk, vedere Backup in base al modello di recupero con registrazione minima delle operazioni bulk.

    È consigliabile modificare il database in modo da utilizzare il modello di recupero con registrazione minima delle operazioni bulk immediatamente prima dell'operazione di importazione bulk. Appena terminata l'operazione, reimpostare il modello di recupero con registrazione completa. Per ulteriori informazioni, vedere Considerazioni sul passaggio dal modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk.

    [!NOTA]

    Per ulteriori informazioni sulla limitazione della registrazione durante le operazioni di importazione bulk, vedere Prerequisiti per la registrazione minima nell'importazione bulk.

  • Eseguire il backup dopo l'importazione bulk dei dati.

    Per un database che utilizza il modello di recupero con registrazione minima, è consigliabile eseguire un backup completo o differenziale al termine dell'operazione di importazione bulk. Per ulteriori informazioni, vedere Creazione di backup completi e differenziali per un database di SQL Server.

    Per il modello di recupero con registrazione minima delle operazioni bulk o con registrazione completa, è sufficiente un backup del log. Per ulteriori informazioni, vedere Creazione di backup del log delle transazioni.

  • Eliminare gli indici della tabella al fine di migliorare le prestazioni per le importazioni bulk di grandi dimensioni.

    Questa linea guida riguarda i casi in cui viene importata una grande quantità di dati rispetto alla quantità di dati già presente nella tabella. In tal caso, l'eliminazione degli indici della tabella prima dell'operazione di importazione bulk può consentire un notevole miglioramento delle prestazioni.

    [!NOTA]

    Se si sta caricando una quantità di dati ridotta rispetto a quella già presente nella tabella, l'eliminazione degli indici risulta controproducente. Il tempo necessario per ricreare gli indici potrebbe essere superiore a quello risparmiato durante l'operazione di importazione bulk.

    Per ulteriori informazioni, vedere Ottimizzazione delle prestazioni dell'importazione bulk.

  • Individuare e rimuovere i caratteri nascosti nel file di dati.

    In molte utilità ed editor di testo vengono visualizzati i caratteri nascosti, che in genere sono presenti nella parte finale del file di dati. Durante un'operazione di importazione bulk, i caratteri nascosti in un file di dati ASCII possono causare problemi che generano un errore di tipo carattere NULL imprevisto. L'individuazione e la rimozione di tutti i caratteri nascosti dovrebbero consentire di risolvere questo problema.