Sdílet prostřednictvím


Úkol hromadného vložení

platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory

Úloha Hromadné vložení poskytuje efektivní způsob kopírování velkých objemů dat do tabulky nebo zobrazení SQL Serveru. Předpokládejme například, že vaše společnost ukládá seznam produktů s miliony řádků v sálovém systému, ale systém elektronického obchodování společnosti používá SQL Server k naplnění webových stránek. Tabulku produktů SQL Serveru musíte aktualizovat nočním seznamem hlavních produktů z sálového počítače. Pokud chcete tabulku aktualizovat, uložíte seznam produktů ve formátu s oddělovači tabulátoru a pomocí úlohy Hromadné vložení zkopírujete data přímo do tabulky SQL Serveru.

Aby se zajistilo vysokorychlostní kopírování dat, transformace se na data nedají provádět při přesouvání ze zdrojového souboru do tabulky nebo zobrazení.

Důležité informace o využití

Než použijete úlohu Hromadné vložení, zvažte následující:

  • Úloha Hromadné vložení může přenášet data pouze z textového souboru do tabulky nebo zobrazení SQL Serveru. Chcete-li použít úlohu Hromadné vložení k přenosu dat z jiných systémů pro správu databází (DBMSs), je nutné exportovat data ze zdroje do textového souboru a potom importovat data z textového souboru do tabulky nebo zobrazení SQL Serveru.

  • Cílem musí být tabulka nebo zobrazení v databázi SQL Serveru. Pokud cílová tabulka nebo zobrazení již obsahují data, při spuštění úlohy Hromadné vložení se nová data připojí k existujícím datům. Pokud chcete nahradit data, spusťte před spuštěním úlohy Hromadné vložení úlohu SQL, která spouští příkaz DELETE nebo TRUNCATE. Další informace naleznete v tématu Spuštění úlohy SQL.

  • V objektu úkolu Hromadné vložení můžete použít formátový soubor. Pokud máte formátový soubor, který byl vytvořen nástrojem bcp , můžete zadat jeho cestu v úloze Hromadné vložení. Úloha Hromadné vložení podporuje soubory formátu XML i nonXML. Další informace o formátových souborech naleznete v tématu Formátovat soubory pro import nebo export dat (SQL Server).

  • Balíček, který obsahuje úlohu Hromadné vložení, můžou spustit pouze členové pevné role serveru sysadmin.

Hromadná vložení úlohy s transakcemi

Pokud není nastavena velikost dávky, je dokončená operace hromadného kopírování považována za jednu transakci. Velikost dávky 0 označuje, že data se vloží do jedné dávky. Pokud je nastavena velikost dávky, každá dávka představuje transakci, která se potvrdí při dokončení dávky.

Chování úlohy Hromadné vložení, protože souvisí s transakcemi, závisí na tom, zda úkol spojí transakci balíčku. Pokud úloha Hromadné vložení nepřipojí transakci balíčku, každá dávka bez chyb se potvrdí jako jednotka před dalším pokusem o dávku. Pokud úloha Hromadné vložení spojí transakci balíčku, dávky bez chyb zůstanou v transakci na závěr úkolu. Tyto dávky podléhají operaci potvrzení nebo vrácení zpět balíčku.

Chyba v úloze Hromadné vložení se automaticky nevrátí úspěšně načtené dávky; Podobně platí, že pokud je úkol úspěšný, dávky nejsou automaticky potvrzeny. Operace potvrzení a vrácení zpět probíhají pouze v reakci na nastavení vlastností balíčku a pracovního postupu.

Zdroj a cíl

Když zadáte umístění textového zdrojového souboru, zvažte následující:

  • Server musí mít oprávnění pro přístup k souboru i cílové databázi.

  • Server spustí úlohu Hromadné vložení. Proto musí být jakýkoli formát souboru, který úloha používá, umístěna na serveru.

  • Zdrojový soubor, do kterého se úloha Hromadné vložení načte, může být na stejném serveru jako databáze SYSTÉMU SQL Server, do které jsou vložena data, nebo na vzdáleném serveru. Pokud je soubor na vzdáleném serveru, je nutné zadat název souboru pomocí názvu UNC (Universal Naming Convention) v cestě.

Optimalizace výkonu

Pokud chcete optimalizovat výkon, zvažte následující:

  • Pokud je textový soubor umístěný ve stejném počítači jako databáze SYSTÉMU SQL Server, do které se vloží data, dojde k operaci kopírování ještě rychleji, protože data se nepřesunou přes síť.

  • Úloha Hromadné vložení nezapisuje řádky způsobující chyby. Pokud tyto informace musíte zaznamenat, použijte výstupy chyb komponent toku dat k zachycení řádků způsobujících chybu v souboru výjimky.

Vlastní položky protokolu dostupné pro hromadnou úlohu pro vkládání

Následující tabulka uvádí vlastní položky protokolu pro úlohu Hromadné vložení. Další informace naleznete v tématu Integrace služeb (SSIS) protokolování.

Položka protokolu Popis
BulkInsertTaskBegin Označuje, že hromadné vložení začalo.
BulkInsertTaskEnd Označuje, že hromadné vložení bylo dokončeno.
BulkInsertTaskInfos Poskytuje popisné informace o úkolu.

Hromadná konfigurace úlohy vložení

Úlohu Hromadné vložení můžete nakonfigurovat následujícími způsoby:

  • Zadejte správce připojení OLE DB pro připojení k cílové databázi SQL Serveru a tabulku nebo zobrazení, do kterého se data vloží. Úloha Hromadné vložení podporuje pouze připojení OLE DB pro cílovou databázi.

  • Zadejte správce připojení k souboru nebo plochého souboru pro přístup ke zdrojovému souboru. Úloha Hromadné vložení používá správce připojení pouze pro umístění zdrojového souboru. Úloha ignoruje další možnosti, které vyberete v editoru správce připojení.

  • Definujte formát, který používá úloha Hromadné vložení, buď pomocí formátového souboru, nebo definováním oddělovačů sloupců a řádků zdrojových dat. Pokud používáte formátový soubor, zadejte správce připojení souboru pro přístup k formátovému souboru.

  • Zadejte akce, které se mají provést s cílovou tabulkou nebo zobrazením, když úloha vloží data. Mezi možnosti patří, zda kontrolovat splnění omezení, povolit vkládání identit, zachovat hodnoty null, aktivovat spouštěče nebo uzamknout tabulku.

  • Zadejte informace o dávce dat, která se mají vložit, například velikost dávky, první a poslední řádek ze souboru, který chcete vložit, počet chyb vložení, ke kterým může dojít před tím, než úkol přestane vkládat řádky, a názvy sloupců, které budou seřazeny.

Pokud úloha Hromadné vložení používá správce připojení plochého souboru pro přístup ke zdrojovému souboru, úloha nepoužívá formát zadaný ve Správci připojení plochého souboru. Místo toho úloha Hromadné vložení používá buď formát zadaný ve formátu souboru, nebo hodnoty RowDelimiter a ColumnDelimiter vlastnosti úkolu.

Vlastnosti můžete nastavit prostřednictvím návrháře SSIS nebo programově.

Další informace o vlastnostech, které můžete nastavit v nástroji SSIS Designer, získáte kliknutím na následující téma:

Další informace o tom, jak nastavit tyto vlastnosti v nástroji SSIS Designer, najdete kliknutím na následující téma:

Programová konfigurace hromadné úlohy vložení

Další informace o programovém nastavení těchto vlastností získáte kliknutím na následující téma:

Nastavení vlastností úlohy nebo kontejneru

Editor úlohy hromadného vložení (Stránka připojení)

Stránka Připojení dialogového okna Editoru úloh Hromadné vložení slouží k určení zdroje a cíle operace hromadného vložení a formátu, který chcete použít.

Další informace o práci s hromadnými vkládáními najdete v tématu Hromadné vložení úloh a formátování souborů pro import nebo export dat (SQL Server).

Možnosti

Připojení
V seznamu vyberte správce připojení OLE DB nebo kliknutím na <tlačítko Nové připojení...> vytvořte nové připojení.

Související témata:Správce připojení OLE DB

Cílová tabulka
Zadejte název cílové tabulky nebo zobrazení nebo vyberte tabulku nebo zobrazení v seznamu.

Formát
Vyberte zdroj formátu hromadného vložení. Tato vlastnost obsahuje možnosti uvedené v následující tabulce.

Hodnota Popis
Použití souboru Vyberte soubor obsahující specifikaci formátu. Výběrem této možnosti se zobrazí dynamická možnost FormatFile.
Specifikovat Zadejte formát. Výběrem této možnosti se zobrazí dynamické možnosti , RowDelimiter a ColumnDelimiter.

soubor
V seznamu vyberte správce připojení k souboru nebo plochým souborům, nebo kliknutím na <tlačítko Nové připojení vytvořte> nové připojení.

Umístění souboru je relativní vzhledem k databázovému stroji SQL Serveru zadanému ve správci připojení pro tuto úlohu. Textový soubor musí být přístupný databázovým strojem SQL Serveru buď na místním pevném disku na serveru, nebo prostřednictvím sdílené nebo namapované jednotky na SQL Server. K souboru nemá modul runtime SSIS přístup.

Pokud ke zdrojovému souboru přistupujete pomocí správce připojení plochého souboru, úloha Hromadné vložení nepoužívá formát zadaný ve správci připojení plochého souboru. Místo toho úloha Hromadné vložení používá buď formát zadaný ve formátu souboru, nebo hodnoty RowDelimiter a ColumnDelimiter vlastnosti úkolu.

Související témata:Správce připojení k souborům, Správce plochých připojení k souborům

Aktualizace tabulek
Aktualizujte seznam tabulek a zobrazení.

Formát dynamických možností

Formát = Použít soubor

FormatFile
Zadejte cestu k souboru formátu nebo klikněte na tlačítko se třemi tečky (...) a vyhledejte formátový soubor.

Formát = Zadat

RowDelimiter
Zadejte oddělovač řádků ve zdrojovém souboru. Výchozí hodnota je {CR}{LF}.

ColumnDelimiter
Zadejte oddělovač sloupců ve zdrojovém souboru. Výchozí hodnota je Tab.

Hromadný vložení editoru úloh (obecná stránka)

Pomocí stránky Obecné dialogového okna Editoru úloh Hromadné vložení pojmenujte a popište úkol Hromadné vložení.

Možnosti

název
Zadejte jedinečný název úkolu Hromadné vložení. Tento název se používá jako popisek v ikoně úkolu.

Poznámka:

Názvy úkolů musí být v rámci balíčku jedinečné.

Popis
Zadejte popis úkolu Hromadné vložení.

Hromadný vložení editoru úloh (stránka Možnosti)

Na stránce Možnosti dialogového okna Editoru úloh hromadného vložení můžete nastavit vlastnosti operace hromadného vložení. Úloha Hromadné vložení kopíruje velké objemy dat do tabulky nebo zobrazení Microsoft SQL Serveru.

Další informace o práci s hromadnými vloženími najdete v tématu Hromadné vložení a HROMADNÉ VLOŽENÍ(Transact-SQL).

Možnosti

CodePage
Zadejte znakovou stránku dat v datovém souboru.

Typ datového souboru
Zadejte hodnotu datového typu, kterou chcete použít v operaci načítání.

BatchSize
Zadejte počet řádků v dávce. Výchozí hodnota je celý datový soubor. Pokud nastavíte BatchSize na nulu, data se načtou do jedné dávky.

LastRow
Zadejte poslední řádek, který chcete zkopírovat.

FirstRow
Zadejte první řádek, ze kterého chcete začít kopírovat.

Možnosti

termín Definice
Kontrola omezení Zaškrtnutím zaškrtněte omezení tabulky a sloupců.
Zachovat hodnoty null Pokud chcete zachovat hodnoty null během operace hromadného vložení, nemusíte vkládat žádné výchozí hodnoty pro prázdné sloupce.
Povolení vložení identity Výběrem vložíte existující hodnoty do sloupce identity.
Zámek tabulky Vyberte, aby byla tabulka uzamčena během hromadného vložení.
Spouštěče požáru Výběrem aktivujete všechny triggery vložení, aktualizace nebo odstranění v tabulce.

SeřazenáData
Zadejte klauzuli ORDER BY v příkazu bulk insert. Zadaný název sloupce musí být platným sloupcem v cílové tabulce. Výchozí hodnota je false. To znamená, že data nejsou seřazena klauzulí ORDER BY.

MaxErrors
Zadejte maximální počet chyb, ke kterým může dojít před zrušením operace hromadného vložení. Hodnota 0 označuje, že je povolený nekonečný počet chyb.

Poznámka:

Každý řádek, který nelze importovat hromadnou operací načítání, se počítá jako jedna chyba.