Udostępnij za pośrednictwem


Plan wykonania i alokacji buforu

Przed wykonaniem zadanie przepływ danych sprawdza jego składników i generuje plan wykonania dla każdej sekwencji składników.Ta sekcja zawiera szczegółowe informacje dotyczące planu realizacji, jak wyświetlić plan, jak wejściowe i wyjściowe bufory są przydzielane na podstawie planu wykonania.

Opis planu wykonania

Plan wykonania zawiera źródło wątków i wątków roboczych i każdego wątek zawiera listy pracy, określające list pracy wyjścia dla wątków źródła lub dane wejściowe i wyjściowe pracy list dla wątków roboczych.Źródło wąteks w plan wykonania reprezentują składniki źródło przepływem danych i są identyfikowane w plan wykonania przez SourceThreadn, gdzie n od zera numer źródło jest wątek.

Każdy wątek źródło tworzy buforu, ustawia odbiornika i wywołuje PrimeOutput metoda składnika źródło.Jest to rozpoczyna wykonywanie i danych inicjującego, uruchamia składnika źródło, dodawanie wierszy do wyjścia buforów, są dostarczane do niego przez zadanie przepływ danych.Po wątków źródło są uruchomione, saldo pracy jest rozłożona wątków roboczych.

Wątek pracy może zawierać zarówno list gniazda wejściowe i wyjściowe i zidentyfikowane w planie wykonanie jako WorkThreadn, gdzie n jest liczbą od zera wątku roboczego.Tych wątków zawierają listy pracy wyjścia, gdy wykres zawiera składnik z wyjść asynchronicznego.

Następujący plan wykonania próbki reprezentuje przepływ danych, zawierający składnik źródło połączony z asynchronicznego wyjścia, podłączone do transformacja obiekt docelowy składnika.W tym przykładzie WorkThread0 zawiera listę pracy wyjścia, ponieważ składnik transformacja ma wyjście asynchroniczne.

SourceThread0 
    Influences: 72 158 
    Output Work List 
        CreatePrimeBuffer of type 1 for output id 10 
        SetBufferListener: "WorkThread0" for input ID 73 
        CallPrimeOutput on component "OLE DB Source" (1) 
    End Output Work List 
    This thread drives 0 distributors 
End SourceThread0 
WorkThread0 
    Influences: 72 158 
    Input Work list, input ID 73 
        CallProcessInput on input ID 73 on component "Sort" (72) for view type 2 
    End Input Work list for input 73 
    Output Work List 
        CreatePrimeBuffer of type 3 for output id 74 
        SetBufferListener: "WorkThread1" for input ID 171with internal handoff 
        CallPrimeOutput on component "Sort" (72) 
    End Output Work List 
    This thread drives 0 distributors 
End WorkThread0 
WorkThread1 
    Influences: 158 
    Input Work list, input ID 171
        CallProcessInput on input ID 171 on component "OLE DB Destination" (158) for view type 4
    End Input Work list for input 171 
    Output Work List 
    End Output Work List 
    This thread drives 0 distributors 
End WorkThread1

Ostrzeżenie

Wygenerowany plan wykonania każdego czas pakiet jest wykonywany i może być przechwycone przez dodanie do pakietu, włączanie rejestrowania i wybierając dostawca dziennika PipelineExecutionPlan zdarzeń.

Opis alokacji buforu

Na podstawie planu wykonania zadanie przepływ danych tworzy bufory zawierające kolumn zdefiniowanych w wyjść składników przepływ danych.Bufor jest ponownie wykorzystywane jako przepływów danych przez sekwencję składników, aż do składnika wyjść asynchronicznego.Nowa buforu tworzona jest, który zawiera kolumn wyjściowych asynchronicznych danych wyjściowych i kolumn wyjściowych składników niższego rzędu.

W czasie wykonywania składniki mają dostęp do buforu w bieżącym wątek źródło lub pracy.Bufor jest albo buforu wejściowego, dostarczonych przez ProcessInput metoda lub bufor wyjściowy dostarczonych przez PrimeOutput metoda.Mode Właściwość PipelineBuffer identyfikuje również każdego buforu jako danych wejściowych lub wyjściowych buforu.

Składniki transformacji z wyjść asynchronicznego otrzymywać istniejących buforu wejściowego z ProcessInput metoda i odbierania nowych buforu wyjściowego z PrimeOutput metoda.Składnik transformacja z wyjść asynchroniczne jest jedynym typem składnik przepływ danych który odbiera dane wejściowe i bufor wyjściowy.

Ponieważ buforu do składnika prawdopodobnie może zawierać więcej kolumn niż składnik ma w swojej kolekcji kolumna wejściowego lub wyjściowego, składnik deweloperzy mogą wywoływać FindColumnByLineageID metoda zlokalizować kolumna w buforze, określając jej LineageID.

Ikona usług Integration Services (mała)Bieżąco z usług integracji

Najnowsze pliki do pobrania, artykuły, próbki i wideo firmy Microsoft, jak również wybranych rozwiązań ze Wspólnoty, odwiedź witrynę Integration Services strona na MSDN i TechNet:

Aby otrzymywać automatyczne powiadomienia dotyczące tych aktualizacji, zasubskrybuj źródła danych RSS dostępne na tej stronie.