Importazione e esportazione in massa di dati (SQL Server)

Si applica a:SQL Serverdatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsSistema di Piattaforma Analitica (PDW)Database SQL in Microsoft Fabric

SQL Server supporta l'esportazione in blocco dei dati (dati in blocco) da una tabella di SQL Server e l'importazione in blocco dei dati in una tabella o in una vista non partizionata di SQL Server.

  • Per esportazione in blocco si intende la copia di dati da una tabella di SQL Server a un file di dati.

  • Per importazione in blocco si intende il caricamento di dati da un file a una tabella di SQL Server. È ad esempio possibile esportare dati da un'applicazione Microsoft Excel a un file di dati e quindi importare tali dati in blocco in una tabella di SQL Server.

Metodi per l'importazione e l'esportazione di dati in blocco

SQL Server supporta l'esportazione in massa di dati da una tabella SQL Server e l'importazione in massa di dati in una tabella SQL Server o in una vista non partizionata. Sono disponibili le modalità di base seguenti.

Method Description Importa dati Esporta dati
utilità bcp Un'utilità da riga di comando (bcp.exe) che esporta e importa in massa dati e genera file di format. Yes Yes
BULK INSERT dichiarazione Un'istruzione Transact-SQL che importa i dati direttamente da un file di dati a una tabella di database o una vista non partizionata. Yes No
INSERT ... istruzione SELECT * FROM OPENROWSET(BULK...) Un'istruzione Transact-SQL che utilizza il OPENROWSET fornitore di righe bulk per importare dati in massa in una tabella SQL Server specificando la funzione OPENROWSET(BULK...) per selezionare i dati in un'istruzioneINSERT. Yes No
Importazione/Esportazione guidata SQL Server Il wizard crea pacchetti base che importano ed esportano dati tra molti formati dati popolari, inclusi database, fogli di calcolo e file di testo. Yes Yes

Per regole sull'uso di un file CSV (quota a valori separati da virgola) come file dati per un'importazione in massa di dati in SQL Server, vedi Preparare i dati per l'esportazione o importazione in massa.

Note

Azure Synapse Analytics supporta solo l'utilità bcp per importare ed esportare file delimitati.

Formattare i file

L'utilità bcp, BULK INSERT, e OPENROWSET BULK supportano tutti l'uso di un file di formato specializzato che memorizza le informazioni di formato per ogni campo in un file di dati. Un file di formato può inoltre contenere informazioni sulla tabella di SQL Server corrispondente. Usa il file di formato per fornire tutte le informazioni di formato necessarie per esportare i dati in blocco da e importare in massa dati in un'istanza di SQL Server.

Important

Non puoi usare bcp per importare dati da Archiviazione BLOB di Azure in database SQL di Azure o per esportare dati da database SQL di Azure in Archiviazione BLOB di Azure. Usare BULK INSERT o OPENROWSET BULK per importare o esportare in Archiviazione BLOB di Azure.

I file di formattazione offrono un modo flessibile per interpretare i dati così come sono nel file durante l'importazione, e anche per formattare i dati nel file durante l'esportazione. Questa flessibilità elimina la necessità di scrivere codice specifico per interpretare i dati o riformattarli secondo le esigenze specifiche di SQL Server o dell'applicazione esterna. Ad esempio, se esporti in massa dati da caricare in un'applicazione che richiede valori separati da virgole, usa un file di formattazione per inserire virgole come terminatori di campo nei dati esportati.

SQL Server supporta due tipi di file di formato: file in formato XML e file non in formato XML.

L' utilità bcp è il solo strumento in grado di generare un file di formato. Per maggiori informazioni, vedi Crea un file di formato con bcp. Per maggiori informazioni sui file format, vedi Format file per importare o esportare dati.

Note

Se non fornisci un file di formattazione durante un'operazione di esportazione o importazione in massa, puoi sovrascrivere la formattazione predefinita nella riga di comando.