Prepararsi all'importazione bulk dei dati (SQL Server)

Si applica a:SQL Server

Per importare dati in blocco solo da un file di dati, è possibile usare 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 importare dati in blocco dai buffer della memoria, usare le estensioni bcp dell'API (Application Programming Interface) SQL Server Native Client (ODBC) o dell'interfaccia IRowsetFastLoad di OLE DB. Per importare dati in blocco da una tabella dati C#, usare l'API della copia bulk ADO.NET, 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 Microsoft SQL Server, usare le linee guida seguenti:

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

    L'account utente usato per l'esecuzione dell'utilità bcp , dell'istruzione BULK INSERT oppure dell'istruzione INSERT ... L'istruzione SELECT * FROM OPENROWSET(BULK...) deve disporre delle autorizzazioni necessarie per la tabella, che vengono assegnate dal proprietario della tabella. Per altre 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 altre informazioni sul modello di recupero con registrazione minima delle operazioni bulk, vedere Modelli di recupero (SQL Server).

    È 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 altre informazioni, vedere Visualizzazione o modifica del modello di recupero di un database (SQL Server).

    Nota

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

  • 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 altre informazioni, vedere Creare un backup completo del database (SQL Server) o Creare un backup differenziale del database (SQL Server).

    Per il modello di recupero con registrazione minima delle operazioni bulk o con registrazione completa, è sufficiente un backup del log. Per altre informazioni, vedere Backup di log delle transazioni (SQL Server).

  • 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 ricompilare gli indici potrebbe essere superiore a quello risparmiato durante l'operazione di 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.

Vedi anche

Importare ed esportare dati per operazioni bulk usando l'utilità bcp (SQL Server)
Importazione di dati in blocco con BULK INSERT o OPENROWSET(BULK...) (SQL Server)
Utilità bcp
BULK INSERT (Transact-SQL)
Formati di dati per l'importazione o l'esportazione bulk (SQL Server)
OPENROWSET (Transact-SQL)