Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
SSIS Integration Runtime ve službě Azure Data Factory
Úloha Toku dat zapouzdřuje modul toku dat, který přesouvá data mezi zdroji a cíli, a umožňuje uživateli transformovat, vyčistit a upravovat data při přesouvání. Přidání úlohy toku dat do toku řízení balíčku umožňuje balíčku extrahovat, transformovat a načítat data.
Tok dat se skládá z alespoň jedné komponenty toku dat, ale obvykle se jedná o sadu připojených komponent toku dat: zdroje, které extrahuje data; transformace, které upravují, směrují nebo shrnují data; a cíle, které načítají data.
Úloha toku dat během běhu vytváří prováděcí plán z toku dat, a modul toku dat tento plán provede. Můžete vytvořit úlohu toku dat, která nemá žádný tok dat, ale úloha se spustí pouze v případě, že zahrnuje alespoň jeden tok dat.
Pokud chcete hromadně vkládat data z textových souborů do databáze SQL Serveru, můžete místo úlohy Toku dat a toku dat použít úlohu Hromadné vložení. Úloha Hromadné vložení však nemůže transformovat data. Další informace viz Úloha pro hromadné vkládání.
Více toků
Úloha toku dat může obsahovat více toků dat. Pokud úloha zkopíruje několik sad dat a pokud pořadí kopírování dat není významné, může být vhodnější zahrnout do úlohy Tok dat více toků dat. Můžete například vytvořit pět toků dat, z nichž každý kopíruje data z plochého souboru do jiné tabulky dimenzí ve schématu hvězdy datového skladu.
Modul toku dat ale určuje pořadí provádění, pokud v rámci jedné úlohy toku dat existuje více toků dat. Pokud je tedy pořadí důležité, měl by balíček používat více úloh toku dat, přičemž každá úloha obsahuje jeden tok dat. Pak můžete použít omezení priority pro řízení pořadí provádění úkolů.
Následující diagram znázorňuje úlohu toku dat, která má více toků dat.
Položky protokolu
Integrační služby poskytují sadu událostí protokolu, které jsou k dispozici pro všechny úlohy. Integrační služby také poskytují vlastní položky protokolu pro mnoho úloh. Další informace naleznete v tématu Integrace služeb (SSIS) protokolování. Úloha Toku dat obsahuje následující vlastní položky protokolu:
| Položka protokolu | Description |
|---|---|
| BufferSizeTuning | Označuje, že úloha toku dat změnila velikost vyrovnávací paměti. Položka protokolu popisuje důvody změny velikosti a uvádí dočasnou novou velikost vyrovnávací paměti. |
| OnPipelinePostEndOfRowset | Označuje, že komponenta dostala signál konce sady řádků, který je nastaven posledním voláním ProcessInput metody. Položka se zapisuje pro každou komponentu toku dat, která zpracovává vstup. Položka obsahuje název komponenty. |
| OnPipelinePostPrimeOutput | Označuje, že komponenta dokončila poslední volání Metody PrimeOutput . V závislosti na toku dat může být zapsáno více položek protokolu. Pokud je komponenta zdrojem, znamená tato položka protokolu, že komponenta dokončila zpracování řádků. |
| OnPipelinePreEndOfRowset | Označuje, že komponenta se chystá přijímat svůj signál ukončení sady řádků, který je nastaven posledním voláním ProcessInput metoda. Položka se zapisuje pro každou komponentu toku dat, která zpracovává vstup. Položka obsahuje název komponenty. |
| OnPipelinePrePrimeOutput | Označuje, že komponenta se chystá přijmout volání z PrimeOutput metody. V závislosti na toku dat může být zapsáno více položek protokolu. |
| OnPipelineRowsSent | Hlásí počet řádků zadaných pro vstup komponenty voláním ProcessInput metody. Položka protokolu obsahuje název komponenty. |
| PipelineBufferLeak | Poskytuje informace o jakékoli komponentě, která udržela vyrovnávací paměti naživu po odstranění správce vyrovnávací paměti. Pokud je vyrovnávací paměť stále aktivní, prostředky vyrovnávací paměti nebyly uvolněny a může dojít k únikům paměti. Položka protokolu poskytuje název komponenty a ID vyrovnávací paměti. |
| PipelineComponentTime | Hlásí dobu (v milisekundách), kterou komponenta strávila v každém z pěti hlavních kroků zpracování– Validate, PreExecute, PostExecute, ProcessInput a ProcessOutput. |
| PipelineExecutionPlan | Zaznamenává plán provádění toku dat. Plán provádění poskytuje informace o tom, jak se budou vyrovnávací paměti odesílat do komponent. Tyto informace v kombinaci s položkou protokolu PipelineExecutionTrees popisují, co se děje v rámci úlohy Tok dat. |
| PipelineExecutionTrees | Zaznamenává stromy provádění rozložení v toku dat. Plánovač modulu toku dat používá stromy k sestavení plánu provádění toku dat. |
| Inicializace potrubí | Poskytuje informace o inicializaci úkolu. Tyto informace zahrnují adresáře, které se mají použít pro dočasné ukládání dat objektů blob, výchozí velikost vyrovnávací paměti a počet řádků ve vyrovnávací paměti. V závislosti na konfiguraci úlohy toku dat může být zapsáno více položek protokolu. |
Tyto položky protokolu poskytují řadu informací o provádění úlohy Toku dat při každém spuštění balíčku. Při opakovaném spouštění balíčků můžete zachytit informace, které v průběhu času poskytují důležité historické informace o zpracování, které úloha provádí, problémy, které můžou ovlivnit výkon, a datový svazek, který úloha zpracovává.
Další informace o tom, jak tyto položky protokolu použít k monitorování a zlepšení výkonu toku dat, najdete v jednom z následujících témat:
Ukázkové zprávy z úlohy toku dat
Následující tabulka uvádí ukázkové zprávy pro položky protokolu pro velmi jednoduchý balíček. Balíček používá zdroj OLE DB k extrakci dat z tabulky, řazení pro třídění dat a cílové určení OLE DB pro zápis dat do jiné tabulky.
| Položka protokolu | Messages |
|---|---|
| BufferSizeTuning | Rows in buffer type 0 would cause a buffer size greater than the configured maximum. There will be only 9637 rows in buffers of this type.Rows in buffer type 2 would cause a buffer size greater than the configured maximum. There will be only 9497 rows in buffers of this type.Rows in buffer type 3 would cause a buffer size greater than the configured maximum. There will be only 9497 rows in buffers of this type. |
| OnPipelinePostEndOfRowset | A component will be given the end of rowset signal. : 1180 : Sort : 1181 : Sort InputA component will be given the end of rowset signal. : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input |
| OnPipelinePostPrimeOutput | A component has returned from its PrimeOutput call. : 1180 : SortA component has returned from its PrimeOutput call. : 1 : OLE DB Source |
| OnPipelinePreEndOfRowset | A component has finished processing all of its rows. : 1180 : Sort : 1181 : Sort InputA component has finished processing all of its rows. : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input |
| OnPipelinePrePrimeOutput | PrimeOutput will be called on a component. : 1180 : SortPrimeOutput will be called on a component. : 1 : OLE DB Source |
| OnPipelineRowsSent | Rows were provided to a data flow component as input. : : 1185 : OLE DB Source Output : 1180 : Sort : 1181 : Sort Input : 76Rows were provided to a data flow component as input. : : 1308 : Sort Output : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input : 76 |
| PipelineComponentTime | The component "Calculate LineItemTotalCost" (3522) spent 356 milliseconds in ProcessInput.The component "Sum Quantity and LineItemTotalCost" (3619) spent 79 milliseconds in ProcessInput.The component "Calculate Average Cost" (3662) spent 16 milliseconds in ProcessInput.The component "Sort by ProductID" (3717) spent 125 milliseconds in ProcessInput.The component "Load Data" (3773) spent 0 milliseconds in ProcessInput.The component "Extract Data" (3869) spent 688 milliseconds in PrimeOutput filling buffers on output "OLE DB Source Output" (3879).The component "Sum Quantity and LineItemTotalCost" (3619) spent 141 milliseconds in PrimeOutput filling buffers on output "Aggregate Output 1" (3621).The component "Sort by ProductID" (3717) spent 16 milliseconds in PrimeOutput filling buffers on output "Sort Output" (3719). |
| PipelineExecutionPlan | SourceThread0Drives: 1Influences: 1180 1291Output Work ListCreatePrimeBuffer of type 1 for output ID 11.SetBufferListener: "WorkThread0" for input ID 1181CreatePrimeBuffer of type 3 for output ID 12.CallPrimeOutput on component "OLE DB Source" (1)End Output Work ListEnd SourceThread0WorkThread0Drives: 1180Influences: 1180 1291Input Work list, input ID 1181 (1 EORs Expected)CallProcessInput on input ID 1181 on component "Sort" (1180) for view type 2End Input Work list for input 1181Output Work ListCreatePrimeBuffer of type 4 for output ID 1182.SetBufferListener: "WorkThread1" for input ID 1304CallPrimeOutput on component "Sort" (1180)End Output Work ListEnd WorkThread0WorkThread1Drives: 1291Influences: 1291Input Work list, input ID 1304 (1 EORs Expected)CallProcessInput on input ID 1304 on component "OLE DB Destination" (1291) for view type 5End Input Work list for input 1304Output Work ListEnd Output Work ListEnd WorkThread1 |
| PipelineExecutionTrees | begin execution tree 0output "OLE DB Source Output" (11)input "Sort Input" (1181)end execution tree 0begin execution tree 1output "OLE DB Source Error Output" (12)end execution tree 1begin execution tree 2output "Sort Output" (1182)input "OLE DB Destination Input" (1304)output "OLE DB Destination Error Output" (1305)end execution tree 2 |
| Inicializace pipeline | No temporary BLOB data storage locations were provided. The buffer manager will consider the directories in the TEMP and TMP environment variables.The default buffer size is 10485760 bytes.Buffers will have 10000 rows by defaultThe data flow will not remove unused components because its RunInOptimizedMode property is set to false. |
Mnoho událostí protokolu zapisuje více položek a zprávy pro řadu položek protokolu obsahují složitá data. Aby bylo snazší pochopit a sdělit obsah složitých zpráv, můžete text zprávy analyzovat. V závislosti na umístění protokolů můžete použít příkazy Transact-SQL nebo komponentu Script k oddělení složitého textu do sloupců nebo jiných formátů, které považujete za užitečnější.
Například následující tabulka obsahuje zprávu "Řádky byly poskytnuty komponentě toku dat jako vstup." : : 1185 : Výstup zdroje OLE DB : 1180 : Seřadit : 1181 : Seřadit vstup : 76", rozparsovaný do sloupců. Zpráva byla vytvořena událostí OnPipelineRowsSent, když byly řádky odeslány ze zdroje OLE DB do transformace řazení.
| Sloupec | Description | Hodnota |
|---|---|---|
| ID cesty | Hodnota z vlastnosti ID na cestě mezi zdrojem OLE DB a transformací Sort. | 1185 |
| Název cesty | Hodnota z vlastnosti Name cesty. | Výstup zdroje OLE DB |
| ComponentID | Hodnota vlastnosti ID transformace Sort. | 1180 |
| ComponentName | Hodnota z vlastnosti Name transformace Sort. | Seřadit |
| InputID | Hodnota z vlastnosti ID vstupu do transformace Sort. | 1181 |
| InputName | Hodnota z vlastnosti Name vstupu do transformace Sort. | Seřadit vstup |
| ŘádkySent | Počet řádků odeslaných na vstup transformace Řazení. | 76 |
Konfigurace úlohy toku dat
Vlastnosti můžete nastavit v okně Vlastnosti nebo programově.
Další informace o tom, jak nastavit tyto vlastnosti v okně Vlastnosti , klepněte na následující téma:
Programová konfigurace úlohy toku dat
Další informace o programovém přidání úlohy toku dat do balíčku a nastavení vlastností toku dat klikněte na následující téma:
Související úkoly
Nastavení vlastností úlohy nebo kontejneru
Související obsah
Video, Balanced Data Distributer na technet.microsoft.com.