Dela via


Massinfogningsaktivitet

gäller för:SQL Server SSIS Integration Runtime i Azure Data Factory

Massinfogningsaktiviteten är ett effektivt sätt att kopiera stora mängder data till en SQL Server-tabell eller -vy. Anta till exempel att ditt företag lagrar sin produktlista på miljonraden i ett stordatorsystem, men företagets e-handelssystem använder SQL Server för att fylla i webbsidor. Du måste uppdatera SQL Server-produkttabellen varje kväll med huvudproduktlistan från stordatorn. Om du vill uppdatera tabellen sparar du produktlistan i ett flikavgränsat format och använder massinfogningsaktiviteten för att kopiera data direkt till SQL Server-tabellen.

För att säkerställa datakopiering med hög hastighet kan transformeringar inte utföras på data när de flyttas från källfilen till tabellen eller vyn.

Användningsöverväganden

Innan du använder massinfogningsuppgiften bör du tänka på följande:

  • Massinfogningsaktiviteten kan endast överföra data från en textfil till en SQL Server-tabell eller -vy. Om du vill använda massinfogningsaktiviteten för att överföra data från andra databashanteringssystem (DBMS) måste du exportera data från källan till en textfil och sedan importera data från textfilen till en SQL Server-tabell eller -vy.

  • Målet måste vara en tabell eller vy i en SQL Server-databas. Om måltabellen eller vyn redan innehåller data läggs de nya data till i befintliga data när massinfogningsaktiviteten körs. Om du vill ersätta data kör du en Exekvera SQL-aktivitet som kör ett DELETE- eller TRUNCATE-kommando innan du kör bulköverföringsaktiviteten. Mer information finns i Kör SQL-uppgift.

  • Du kan använda en formatfil i aktivitetsobjektet Massinfogning. Om du har en formatfil som skapades av verktyget bcp kan du ange dess sökväg i massinfogningsaktiviteten. Massinfogningsaktiviteten stöder både XML- och ickeXML-formatfiler. Mer information om formatfiler finns i Formatera filer för att importera eller exportera data (SQL Server).

  • Endast medlemmar i den fasta serverrollen sysadmin kan köra ett paket som innehåller en massinfogningsaktivitet.

Bulkinsertuppgift med transaktioner

Om en batchstorlek inte har angetts behandlas den fullständiga masskopieringsåtgärden som en transaktion. En batchstorlek på 0 anger att data infogas i en batch. Om en batchstorlek anges representerar varje batch en transaktion som begås när batchen körs klart.

Hur massinfogningsaktiviteten fungerar beror på om aktiviteten ansluter till pakettransaktionen. Om massinfogningsaktiviteten inte ansluter till pakettransaktionen checkas varje felfri batch in som en enhet innan nästa batch provas. Om massinfogningsaktiviteten ansluter till pakettransaktionen finns felfria batchar kvar i transaktionen när aktiviteten avslutas. Dessa batchar omfattas av paketets committa- eller återkallandeoperation.

Ett fel i massinfogningsuppgiften rullar inte automatiskt tillbaka batchar som har laddats in, och på samma sätt, om uppgiften lyckas, bekräftas inte batcharna automatiskt. Inchecknings- och återställningsåtgärder sker endast som svar på inställningarna för paket- och arbetsflödesegenskaper.

Källa och mål

Tänk på följande när du anger platsen för textkällans fil:

  • Servern måste ha behörighet att komma åt både filen och måldatabasen.

  • Servern kör massinmatningsuppgiften. Därför måste alla formatfiler som aktiviteten använder finnas på servern.

  • Källfilen som massinfogningsaktiviteten läser in kan finnas på samma server som SQL Server-databasen där data infogas eller på en fjärrserver. Om filen finns på en fjärrserver måste du ange filnamnet med unc-namnet (Universal Naming Convention) i sökvägen.

Prestandaoptimering

Tänk på följande för att optimera prestanda:

  • Om textfilen finns på samma dator som SQL Server-databasen där data infogas sker kopieringsåtgärden ännu snabbare eftersom data inte flyttas över nätverket.

  • Massinfogningsaktiviteten loggar inte felorsakande rader. Om du måste samla in den här informationen använder du felutdata från dataflödeskomponenter för att samla in felorsakande rader i en undantagsfil.

Anpassade loggposter som är tillgängliga för massinfogningsaktiviteten

I följande tabell visas de anpassade loggposterna för massinfogningsaktiviteten. Mer information finns i loggning för Integration Services (SSIS).

Loggpost Beskrivning
BulkInsertTaskBegin Visar att massinfogningen började.
BulkInsertTaskEnd Anger att massinfogningen har slutförts.
BulkInsertTaskInfos Innehåller beskrivande information om uppgiften.

Massinfogning av uppgiftskonfiguration

Du kan konfigurera Bulkinsertionsuppgiften på följande sätt:

  • Ange ole db-anslutningshanteraren för att ansluta till SQL Server-måldatabasen och tabellen eller vyn som data infogas i. Massinfogningsaktiviteten stöder endast OLE DB-anslutningar för måldatabasen.

  • Ange anslutningshanteraren för fil- eller flatfil för åtkomst till källfilen. Aktiviteten Massinfogning använder endast anslutningshanteraren för källfilens plats. Uppgiften ignorerar andra alternativ som du väljer i anslutningshanterarens redigerare.

  • Definiera formatet som används av massinfogningsaktiviteten, antingen genom att använda en formatfil eller genom att definiera kolumn- och radavgränsare för källdata. Om du använder en formatfil anger du filanslutningshanteraren för att få åtkomst till formatfilen.

  • Ange åtgärder som ska utföras i måltabellen eller vyn när uppgiften infogar data. Alternativen omfattar om du vill kontrollera begränsningar, aktivera identitetsinfogningar, behålla null-värden, utlösa triggers eller låsa tabellen.

  • Ange information om den batch med data som ska infogas, till exempel batchstorleken, den första och sista raden från filen som ska infogas, antalet infogningsfel som kan inträffa innan aktiviteten slutar infoga rader och namnen på de kolumner som ska sorteras.

Om massinfogningsaktiviteten använder en flat filanslutningshanterare för att komma åt källfilen använder aktiviteten inte det format som anges i anslutningshanteraren för flat fil. I stället använder massinfogningsaktiviteten antingen det format som anges i en formatfil eller värdena för egenskaperna RowDelimiter och ColumnDelimiter för aktiviteten.

Du kan ange egenskaper via SSIS Designer eller programmatiskt.

Klicka på följande ämne om du vill ha mer information om de egenskaper som du kan ange i SSIS Designer:

Om du vill ha mer information om hur du anger dessa egenskaper i SSIS Designer klickar du på följande ämne:

Programmatisk konfiguration av bulkimportuppgiften

Klicka på följande ämne om du vill ha mer information om hur du ställer in dessa egenskaper programmatiskt:

Ange egenskaper för en aktivitet eller container

Massinfogning av aktivitetsredigeraren (anslutningssida)

Använd sidan Anslutning i dialogrutan Massinfogningsaktivitetsredigeraren för att ange källan och målet för massinfogningsåtgärden och det format som ska användas.

Mer information om hur du arbetar med massinförningar finns i Uppgift för massinföring och Formatfiler för att importera eller exportera data (SQL Server).

Alternativ

Anslutning
Välj en OLE DB-anslutningshanterare i listan eller klicka på <Ny anslutning...> för att skapa en ny anslutning.

Relaterade Ämnen:OLE DB Connection Manager

DestinationTable
Ange namnet på måltabellen eller vyn eller välj en tabell eller vy i listan.

Format
Välj källan för formatet för massinfogningen. Den här egenskapen innehåller alternativen i följande tabell.

Värde Beskrivning
Använd fil Välj en fil som innehåller formatspecifikationen. Om du väljer det här alternativet visas det dynamiska alternativet FormatFile.
Ange Ange formatet. Om du väljer det här alternativet visas de dynamiska alternativen RowDelimiter och ColumnDelimiter.

Fil
Välj en fil- eller flatfilanslutningshanterare i listan eller klicka på <Ny anslutning...> för att skapa en ny anslutning.

Filens plats är relativ till SQL Server Database Engine som anges i anslutningshanteraren för denna uppgift. Textfilen måste vara tillgänglig av SQL Server Database Engine antingen på en lokal hårddisk på servern eller via en nätverksresurs eller mappad enhet till SQL Server. Filen nås inte av SSIS Runtime.

Om du kommer åt källfilen med hjälp av en anslutningshanterare för flat fil använder aktiviteten Massinfogning inte det format som anges i anslutningshanteraren för flat fil. I stället använder massinfogningsaktiviteten antingen det format som anges i en formatfil eller värdena för egenskaperna RowDelimiter och ColumnDelimiter för aktiviteten.

relaterade ämnen:Filanslutningshanteraren, Flat File Connection Manager

Uppdatera tabeller
Uppdatera listan med tabeller och vyer.

Formatera dynamiska alternativ

Format = Använd fil

FormatFile
Skriv sökvägen till formatfilen eller klicka på ellipsknappen (...) för att hitta formatfilen.

Format = Specificera

RowDelimiter
Ange radgränsaren i källfilen. Standardvärdet är {CR}{LF}.

ColumnDelimiter
Ange kolumngränsaren i källfilen. Standardvärdet är Tab.

Massinfogning av aktivitetsredigeraren (allmän sida)

Använd sidan Allmänt i dialogrutan Massinfogningsaktivitetsredigeraren för att namnge och beskriva massinfogningsaktiviteten.

Alternativ

Namn
Ange ett unikt namn för massinföringsuppgiften. Det här namnet används som etikett i aktivitetsikonen.

Notis

Uppgiftsnamn måste vara unika inom ett paket.

Beskrivning
Ange en beskrivning av massinfogningsuppgiften.

Massinfogning av aktivitetsredigeraren (alternativsida)

Använd sidan alternativ i dialogrutan Redigerare för bulkinsättningsuppgift för att ange egenskaper för bulkinsättningsoperationen. Massinfogningsaktiviteten kopierar stora mängder data till en Microsoft SQL Server-tabell eller -vy.

Mer information om hur du arbetar med massinfogningar finns i Massinfogning-uppgift och BULK INSERT (Transact-SQL).

Alternativ

CodePage
Ange kodsidan för data i datafilen.

Datafiltyp
Ange det datatypsvärde som ska användas i inläsningsåtgärden.

Batchstorlek
Ange antalet rader i en batch. Standardvärdet är hela datafilen. Om du anger BatchSize till noll läses data in i en enda batch.

SistaRad
Ange den sista raden som ska kopieras.

FirstRow
Ange den första raden som du vill börja kopiera från.

alternativ

Term Definition
Kontrollera begränsningar Markera för att kontrollera tabell- och kolumnbegränsningarna.
Behåll nullvärden Välj om du vill behålla null-värden under massinfogningsåtgärden, i stället för att infoga standardvärden för tomma kolumner.
Aktivera infogning av identiteter Välj för att infoga befintliga värden i en identitetskolumn.
Tabelllås Välj för att låsa tabellen under massinfogningen.
Brandutlösare Välj om du vill utlösa infognings-, uppdaterings- eller borttagningsutlösare i tabellen.

SortedData
Ange ORDER BY-satsen i "bulk insert"-instruktionen. Kolumnnamnet som du anger måste vara en giltig kolumn i måltabellen. Standardvärdet är false. Det innebär att data inte sorteras efter en ORDER BY-sats.

MaxErrors
Ange det maximala antalet fel som kan inträffa innan massinfogningsåtgärden avbryts. Värdet 0 anger att ett oändligt antal fel tillåts.

Not

Varje rad som inte kan importeras av massinläsningsåtgärden räknas som ett fel.