Bulkimport och export av data (SQL Server)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-databas i Microsoft Fabric

SQL Server har stöd för att exportera data i bulk (massdata) från en SQL Server-tabell och importera massdata till en SQL Server-tabell eller en icke-partitionerad vy.

  • Massexport avser kopiering av data från en SQL Server-tabell till en datafil.

  • Massimport avser inläsning av data från en datafil till en SQL Server-tabell. Du kan till exempel exportera data från ett Microsoft Excel-program till en datafil och sedan massimportera dessa data till en SQL Server-tabell.

Metoder för massimport och export av data

SQL Server stödjer bulkexport av data från en SQL Server-tabell och massimport av data till en SQL Server-tabell eller icke-partitionerad vy. Följande grundläggande metoder är tillgängliga.

Method Description Importerar data Exporterar data
bcp-verktyg Ett kommandoradsverktyg (bcp.exe) som bulkexporterar och bulkimporterar data samt genererar formatfiler. Yes Yes
BULK INSERT uttalande En Transact-SQL-instruktion som importerar data direkt från en datafil till en databastabell eller en icke-partitionerad vy. Yes No
INSERT ... SELECT * FROM OPENROWSET(BULK...) -instruktion Ett Transact-SQL-uttalande som använder bulk-raduppsättningsleverantören OPENROWSET för att bulkimportera data till en SQL Server-tabell genom att specificera funktionen OPENROWSET(BULK...) för att välja data i ett INSERT sats. Yes No
SQL Server-guiden för import och export Guiden skapar grundläggande paket som importerar och exporterar data mellan många populära dataformat, inklusive databaser, kalkylblad och textfiler. Yes Yes

För regler om att använda en komma-separerad värdefil (CSV) som datafil för en bulkimport av data till SQL Server, se Förbered data för bulkexport eller import.

Note

Azure Synapse Analytics stöder endast verktyget bcp för att importera och exportera avgränsade filer.

Formatera filer

BCP-verktyget, BULK INSERT, och OPENROWSET BULK stöder alla användningen av en specialiserad formatfil som lagrar formatinformation för varje fält i en datafil. En formatfil kan också innehålla information om motsvarande SQL Server-tabell. Använd formatfilen för att tillhandahålla all formatinformation som krävs för att bulkexportera data från och bulkimportera data till en instans av SQL Server.

Important

Du kan inte använda bcp för att importera data från eller exportera data till Azure Blob Storage till Azure SQL Database. Använd BULK INSERT eller OPENROWSET BULK för att importera från eller exportera till Azure Blob Storage.

Formateringsfiler ger ett flexibelt sätt att tolka data som finns i datafilen under importen, och även att formatera data i datafilen under export. Denna flexibilitet eliminerar behovet av att skriva specialkod för att tolka data eller omformatera den efter de specifika kraven från SQL Server eller den externa applikationen. Till exempel, om du bulkexporterar data som ska laddas in i en applikation som kräver kommaseparerade värden, använd en formatfil för att infoga kommatecken som fältterminatorer i den exporterade datan.

SQL Server stöder två typer av formatfiler: XML-formatfiler och icke-XML-formatfiler.

Bcp-verktyget är det enda verktyget som kan generera en formatfil. För mer information, se Skapa en formatfil med bcp. För mer information om formatfiler, se Formatera filer för att importera eller exportera data.

Note

Om du inte tillhandahåller en formatfil under en bulkexport eller import kan du åsidosätta standardformateringen på kommandoraden.